This page lists the dashboards and charts created by
modules/integrations/splunk_o11y_conf_shared. Use it with the
Splunk Observability Dashboard Runbook.
The Terraform definitions are the source of truth for chart names,
SignalFlow, filters, windows, and dashboard layout:
How much host memory is used, cached, buffered, or free?
Network out (bytes) vs. 24h change (%)
Did outbound traffic change materially from the prior day?
Network out (bytes)
Which hosts or tenants produce outbound traffic?
Top instances by CPU utilization (%)
Which EC2 runners have the highest CPU utilization?
Disk utilization (%)
Which runner filesystems are approaching capacity?
Disk metrics 24h change (%)
Which tenants have unusual disk changes?
Top images by mean CPU utilization (%)
Are particular runner images associated with high CPU?
Network in (bytes)
Which hosts or tenants receive the most traffic?
Memory utilization (%)
Which hosts are under memory pressure?
Top instances by memory utilization (%)
Which individual runners use the most memory?
Disk I/O (bytes)
Which tenants generate the most disk I/O?
Network in (bytes) vs. 24h change (%)
Did inbound traffic change materially from the prior day?
Network errors/sec
Are host interfaces reporting receive or transmit errors?
Top memory page swaps/sec
Which hosts are swapping memory?
# Active hosts per instance type
What instance types make up live runner capacity?
CPU utilization (%)
How is CPU changing by instance?
# Active hosts by availability zone
Is runner capacity distributed across availability zones?
Disk summary utilization (%)
Which mountpoints and hosts have the highest utilization?
# Hosts with agent installed
How many runner hosts emit host-level OTel metrics?
Top 5 network out (bytes)
Which hosts send the most traffic?
# Active hosts
How many EC2 runners are visible through AWS metrics?
Active hosts missing Splunk OTel agent
Which AWS-visible runners lack corresponding host telemetry?
Top 5 network in (bytes)
Which hosts receive the most traffic?
EC2 status check failures
Are instance or AWS system status checks failing?
Job runs: high peak CPU utilization (%)
Which job executions reached at least 85% peak CPU in the last 24 hours?
Job runs: low peak CPU utilization (%)
Which job executions stayed below 20% peak CPU in the last 24 hours?
Job runs: high peak memory utilization (%)
Which job executions on OTel-instrumented hosts reached at least 85% peak memory?
Job runs: low peak memory utilization (%)
Which job executions on OTel-instrumented hosts stayed below 40% peak memory?
Runner classes: mean job peak CPU utilization (%)
Which repeated tenant, workflow, job, label, and instance-type combinations use the most CPU?
Runner classes: mean job peak memory utilization (%)
Which repeated tenant, workflow, job, label, and instance-type combinations use the most memory?
Job runs: high peak filesystem utilization (%)
Which job filesystems on OTel-instrumented hosts reached at least 80% utilization?
The job-run panels require the GitHub runner job URL tag and retain tenant,
repository, workflow, job, runner-label, instance-type, and drill-down
dimensions. Memory and filesystem panels also require the Splunk OTel host
agent. Treat the runner-class panels as repeated sizing evidence; a single
high or low job execution is not enough to change a runner class.
This is the ARC demand-to-workload operator dashboard. Start with telemetry
and controller state, confirm whether desired runners became registered
runners, compare job arrival and completion rates, then use the
high-cardinality workflow panels to identify the affected workload.
Chart
Operational question
Active ARC scale sets
How many scale sets currently report desired-runner telemetry?
Registered runners
How much registered ARC runner capacity is currently available?
Running ARC listeners
How many listeners does the controller currently report as running?
Failed ephemeral runners
Does the controller currently report failed ephemeral runners?
ARC controller runner state
Did runner demand reach pending, running, or failed Kubernetes runner state?
Runner and job pressure by scale set
How do assigned and running-or-queued jobs compare with desired, registered, busy, idle, and maximum runners?
Scale sets below desired registered capacity
Which scale sets have a positive desired-minus-registered capacity gap?
Runner utilization by scale set
Which scale sets have the highest busy-to-registered runner ratio?
Job arrival and completion throughput
Are started and completed job rates moving together?
Completion outcomes
Which GitHub job results make up current completion traffic?
Job success rate
What share of completed jobs succeeded, with job volume considered?
Job startup latency
Are P50, P90, or P99 assignment-to-start delays increasing?
Job execution duration
Are P50, P90, or P99 workload execution durations increasing?
Top workflow and job demand
Which repositories, workflows, jobs, and events produce the most completions?
Slow startup fingerprints
Which repository, workflow, job, and event combinations have the highest P90 startup delay?
Non-successful job fingerprints
Which repository, workflow, job, result, ref, and target combinations require log and run drilldown?
ARC listener counters reset when a listener restarts, so throughput panels use
rates instead of raw totals. The latency panels use native histograms exported
by the Splunk OTel Collector. Treat utilization, capacity gaps, latency, and
job failures as evidence to correlate with Kubernetes state, GitHub runs, and
Splunk logsānot as standalone proof of a Forge platform defect.
This dashboard includes only AWS Lambda metric time series without
aws_tag_TenantName. Its AWS account, region, and product-family scope is
independent from the tenant Lambda dashboard.
This dashboard includes only AWS SQS metric time series without
aws_tag_TenantName. Its AWS account, region, and product-family scope is
independent from the tenant SQS dashboard.
Chart
Operational question
# Control-plane queues
How many shared Forge queues report metrics?
Visible messages by control-plane queue
Which shared queues have backlog?
Oldest message age by control-plane queue
Which shared queues are not draining?
Message operations by control-plane queue
Do sent, received, and deleted counts move together?
Messages by control-plane queue state
Is work visible, delayed, or in flight?
Control-plane DLQ visible messages
Which shared dead-letter queues contain failed work?
Control-plane DLQ oldest message age
How long has failed shared work remained unprocessed?
Which EC2 limits have the highest one-day average usage?
EBS service-limit usage
Which EBS storage or IOPS limits are most consumed?
VPC service-limit usage
Which VPC, gateway, or address limits are most consumed?
Auto Scaling service-limit usage
Are Auto Scaling group limits approaching capacity?
DynamoDB service-limit usage
Are DynamoDB capacity limits approaching capacity?
IAM service-limit usage
Which account-level IAM limits are most consumed?
CloudFormation service-limit usage
Are CloudFormation limits approaching capacity?
Route 53 service-limit usage
Are Route 53 limits approaching capacity?
Every panel uses the built-in Trusted Advisor calculation: one-day average
ServiceLimitUsage, scaled to percent. Orange begins at 80%; red begins at
100%.
What percentage of regional Lambda invocation attempts are throttled?
Forge AWS Lambda throttle count
How many regional Lambda invocation attempts were throttled in five minutes?
Forge AWS build queue oldest age
Is queued-build work waiting beyond the warning or major operating threshold?
Forge AWS build queue visible backlog
Is queued-build backlog accumulating together with elevated oldest-message age?
Forge AWS queued-build DLQ sends
Did any queued-build message enter a dead-letter queue during the last five minutes?
The dashboard is scoped by its own aws_account_id, aws_region, and
aws_tag_ProductFamilyName allow-lists. Missing scope values deliberately
produce no matching data. The Lambda throttle-rate baselines are diagnostic
because they differ materially by region; throttle count never pages alone.