atlas-iac/knowledge/catalog/metrics.json
Hermes Agent 004c41629e chore(knowledge): regenerate stale Atlas catalogs
`make knowledge` output on main no longer matched the manifests it renders
from. The legacy chat/triage hosts restored by #38 were missing from the
committed HTTP catalogs and diagrams, along with Flux kustomizations and
Grafana panels added since the last regeneration.

Pure `make knowledge` run against unmodified main, separated into its own
commit so the hostname rename that follows reviews as a hostname rename and
nothing else. No hand edits.
2026-08-21 10:24:46 +00:00

3539 lines
172 KiB
JSON

[
{
"dashboard": "Atlas AI Operations",
"panel_title": "Codex Weekly Remaining",
"panel_id": 1,
"panel_type": "stat",
"description": "Live first-party CLI account telemetry. Unavailable means the provider did not return a fresh structured value.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(atlas_ai_quota_remaining_percent{provider=\"openai\",limit=\"codex\",window=\"seven_day\"} and on(provider) (atlas_ai_quota_fetch_success{provider=\"openai\"} == 1)) or on() vector(-1)"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Codex Spark Weekly Remaining",
"panel_id": 2,
"panel_type": "stat",
"description": "Live first-party CLI account telemetry. Unavailable means the provider did not return a fresh structured value.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(atlas_ai_quota_remaining_percent{provider=\"openai\",limit=\"gpt-5-3-codex-spark\",window=\"seven_day\"} and on(provider) (atlas_ai_quota_fetch_success{provider=\"openai\"} == 1)) or on() vector(-1)"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Claude 5h Remaining",
"panel_id": 3,
"panel_type": "stat",
"description": "Live first-party CLI account telemetry. Unavailable means the provider did not return a fresh structured value.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(atlas_ai_quota_remaining_percent{provider=\"anthropic\",window=\"five_hour\"} and on(provider) (atlas_ai_quota_fetch_success{provider=\"anthropic\"} == 1)) or on() vector(-1)"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Claude 7d Remaining",
"panel_id": 4,
"panel_type": "stat",
"description": "Live first-party CLI account telemetry. Unavailable means the provider did not return a fresh structured value.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(atlas_ai_quota_remaining_percent{provider=\"anthropic\",window=\"seven_day\"} and on(provider) (atlas_ai_quota_fetch_success{provider=\"anthropic\"} == 1)) or on() vector(-1)"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Quota Collectors Healthy",
"panel_id": 5,
"panel_type": "stat",
"description": "Successful latest quota fetches. Providers are polled independently every five minutes.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(atlas_ai_quota_fetch_success) or on() vector(0)"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Oldest Quota Sample",
"panel_id": 6,
"panel_type": "stat",
"description": "Age of the stalest successful provider quota snapshot.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max((time() - atlas_ai_quota_last_success_timestamp_seconds) and (atlas_ai_quota_last_success_timestamp_seconds > 0)) or on() vector(-1)"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Codex Weekly Reset In",
"panel_id": 7,
"panel_type": "stat",
"description": "Live first-party CLI account telemetry. Unavailable means the provider did not return a fresh structured value.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(clamp_min(atlas_ai_quota_reset_timestamp_seconds{provider=\"openai\",limit=\"codex\",window=\"seven_day\"} - time(), 0) and on(provider) (atlas_ai_quota_fetch_success{provider=\"openai\"} == 1)) or on() vector(-1)"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Claude 5h Reset In",
"panel_id": 8,
"panel_type": "stat",
"description": "Live first-party CLI account telemetry. Unavailable means the provider did not return a fresh structured value.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(clamp_min(atlas_ai_quota_reset_timestamp_seconds{provider=\"anthropic\",window=\"five_hour\"} - time(), 0) and on(provider) (atlas_ai_quota_fetch_success{provider=\"anthropic\"} == 1)) or on() vector(-1)"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Claude 7d Reset In",
"panel_id": 9,
"panel_type": "stat",
"description": "Live first-party CLI account telemetry. Unavailable means the provider did not return a fresh structured value.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(clamp_min(atlas_ai_quota_reset_timestamp_seconds{provider=\"anthropic\",window=\"seven_day\"} - time(), 0) and on(provider) (atlas_ai_quota_fetch_success{provider=\"anthropic\"} == 1)) or on() vector(-1)"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Codex Tokens (Latest Day)",
"panel_id": 10,
"panel_type": "stat",
"description": "Live first-party CLI account telemetry. Unavailable means the provider did not return a fresh structured value.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(atlas_ai_account_tokens{provider=\"openai\",period=\"latest_day\"} and on(provider) (atlas_ai_quota_fetch_success{provider=\"openai\"} == 1)) or on() vector(-1)"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Codex Tokens (7d)",
"panel_id": 11,
"panel_type": "stat",
"description": "Live first-party CLI account telemetry. Unavailable means the provider did not return a fresh structured value.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(atlas_ai_account_tokens{provider=\"openai\",period=\"seven_day\"} and on(provider) (atlas_ai_quota_fetch_success{provider=\"openai\"} == 1)) or on() vector(-1)"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Switchyard Requests",
"panel_id": 12,
"panel_type": "stat",
"description": "Hosted model requests observed by Switchyard in the selected dashboard range.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(increase(switchyard_requests_total[$__range])) or on() vector(0)"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Model Selection Rate",
"panel_id": 13,
"panel_type": "timeseries",
"description": "AUTO and fixed-route decisions by selected provider, model family, and reasoning effort.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum by (selected_model) (rate(switchyard_decisions_total[5m]))"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Provider Selections (Range)",
"panel_id": 14,
"panel_type": "bargauge",
"description": "Switchyard selections grouped by provider over the selected dashboard range.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sort_desc(sum by (provider) (label_replace(increase(switchyard_decisions_total{selected_model=~\"(route|worker)/(codex|claude|local)/.*\"}[$__range]), \"provider\", \"$2\", \"selected_model\", \"^(route|worker)/(codex|claude|local)/.*\")))"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Token Throughput",
"panel_id": 15,
"panel_type": "timeseries",
"description": "Prompt, cache, reasoning, and completion token rates reported by hosted Switchyard calls.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(rate(switchyard_prompt_tokens_total[5m]))",
"sum(rate(switchyard_cached_tokens_total[5m]))",
"sum(rate(switchyard_cache_creation_tokens_total[5m]))",
"sum(rate(switchyard_reasoning_tokens_total[5m]))",
"sum(rate(switchyard_completion_tokens_total[5m]))"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Model Call p95 Latency",
"panel_id": 16,
"panel_type": "timeseries",
"description": "95th percentile upstream latency for each selected model route.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"histogram_quantile(0.95, sum by (le, model) (rate(switchyard_model_call_latency_ms_bucket[5m])))"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Prompt Cache Share",
"panel_id": 17,
"panel_type": "stat",
"description": "Cached tokens as a share of prompt plus cached tokens; higher generally means less repeated provider work.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"100 * sum(rate(switchyard_cached_tokens_total[5m])) / clamp_min(sum(rate(switchyard_prompt_tokens_total[5m])) + sum(rate(switchyard_cached_tokens_total[5m])), 1)"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Client Success Rate",
"panel_id": 18,
"panel_type": "stat",
"description": "Successful client-facing Switchyard responses in the selected range.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"100 * sum(increase(switchyard_client_responses_total{outcome=\"success\"}[$__range])) / clamp_min(sum(increase(switchyard_client_responses_total[$__range])), 1)"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Classifier Fail-Open (Range)",
"panel_id": 19,
"panel_type": "stat",
"description": "Local classifier failures that safely fell back to the conservative hosted route.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(increase(switchyard_classifier_fail_open_total[$__range])) or on() vector(0)"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Upstream Errors (Range)",
"panel_id": 20,
"panel_type": "stat",
"description": "Hosted model attempts that returned errors in the selected range.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(increase(switchyard_errors_total[$__range])) or on() vector(0)"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Local Classifier Calls",
"panel_id": 21,
"panel_type": "timeseries",
"description": "Local Qwen routing-classifier activity, split by successful and failed calls.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum by (outcome) (rate(switchyard_llm_calls_total{selected_model=~\"qwen.*\"}[5m]))"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Routing Overhead p95",
"panel_id": 22,
"panel_type": "timeseries",
"description": "95th percentile time Switchyard spends selecting a model before the upstream call.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"histogram_quantile(0.95, sum by (le, algorithm) (rate(switchyard_routing_overhead_ms_bucket[5m])))"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Traffic Lanes (Range)",
"panel_id": 23,
"panel_type": "bargauge",
"description": "Request volume split between interactive route traffic and durable worker traffic.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sort_desc(sum by (lane) (label_replace(increase(switchyard_requests_total{model=~\"(route|worker)/.*\"}[$__range]), \"lane\", \"$1\", \"model\", \"^(route|worker)/.*\")))"
]
},
{
"dashboard": "Atlas AI Operations",
"panel_title": "Hermes Workload CPU (Attribution Proxy)",
"panel_id": 25,
"panel_type": "timeseries",
"description": "Compute use by Hermes pod/container. Switchyard currently exposes model and worker-vs-route attribution, but not tenant-slot token labels; CPU is clearly marked as a proxy rather than token usage.",
"tags": [
"atlas",
"ai",
"hermes",
"switchyard"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum by (pod, container) (rate(container_cpu_usage_seconds_total{namespace=\"hermes\",pod=~\"hermes-(agent|chat-tenant|switchyard|model-gate).*\",container!=\"\",image!=\"\"}[5m]))"
]
},
{
"dashboard": "Atlas GitOps",
"panel_title": "Flux Source",
"panel_id": 1,
"panel_type": "stat",
"description": "Branch and revision currently reported by Flux's GitRepository source.",
"tags": [
"atlas",
"gitops",
"flux"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max by (branch, revision) (ananke_gitops_flux_source_info{job=\"ananke-power\",namespace=\"flux-system\",name=\"flux-system\"}) or on() vector(0)"
]
},
{
"dashboard": "Atlas GitOps",
"panel_title": "Kustomizations Ready",
"panel_id": 2,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"gitops",
"flux"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"100 * sum(max by (namespace, name) (ananke_gitops_kustomization_ready{job=\"ananke-power\"})) / clamp_min(count(max by (namespace, name) (ananke_gitops_kustomization_ready{job=\"ananke-power\"})), 1)"
]
},
{
"dashboard": "Atlas GitOps",
"panel_title": "Kustomizations Suspended",
"panel_id": 3,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"gitops",
"flux"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(max by (namespace, name) (ananke_gitops_kustomization_suspended{job=\"ananke-power\"})) or on() vector(0)"
]
},
{
"dashboard": "Atlas GitOps",
"panel_title": "HelmReleases Ready",
"panel_id": 4,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"gitops",
"flux"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"100 * sum(max by (namespace, name) (ananke_gitops_helmrelease_ready{job=\"ananke-power\"})) / clamp_min(count(max by (namespace, name) (ananke_gitops_helmrelease_ready{job=\"ananke-power\"})), 1)"
]
},
{
"dashboard": "Atlas GitOps",
"panel_title": "HelmReleases Suspended",
"panel_id": 5,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"gitops",
"flux"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(max by (namespace, name) (ananke_gitops_helmrelease_suspended{job=\"ananke-power\"})) or on() vector(0)"
]
},
{
"dashboard": "Atlas GitOps",
"panel_title": "GitOps Exporter",
"panel_id": 6,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"gitops",
"flux"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"min(ananke_gitops_scrape_success{job=\"ananke-power\"}) or on() vector(0)",
"(time() - max(ananke_gitops_last_scrape_timestamp_seconds{job=\"ananke-power\"})) or on() vector(0)"
]
},
{
"dashboard": "Atlas GitOps",
"panel_title": "Readiness History",
"panel_id": 7,
"panel_type": "state-timeline",
"description": "Ready percentage over time for Flux Kustomizations and HelmReleases.",
"tags": [
"atlas",
"gitops",
"flux"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"label_replace(100 * sum(max by (namespace, name) (ananke_gitops_kustomization_ready{job=\"ananke-power\"})) / clamp_min(count(max by (namespace, name) (ananke_gitops_kustomization_ready{job=\"ananke-power\"})), 1), \"kind\", \"Kustomizations\", \"__name__\", \".*\") or label_replace(100 * sum(max by (namespace, name) (ananke_gitops_helmrelease_ready{job=\"ananke-power\"})) / clamp_min(count(max by (namespace, name) (ananke_gitops_helmrelease_ready{job=\"ananke-power\"})), 1), \"kind\", \"HelmReleases\", \"__name__\", \".*\")"
]
},
{
"dashboard": "Atlas GitOps",
"panel_title": "Flux Sources",
"panel_id": 8,
"panel_type": "table",
"description": "A Value of 1 means Ready; 0 means not Ready.",
"tags": [
"atlas",
"gitops",
"flux"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max by (namespace, name, url, branch, revision, ready, reason) (ananke_gitops_flux_source_info{job=\"ananke-power\"}) * on(namespace, name) group_left() max by (namespace, name) (ananke_gitops_flux_source_ready{job=\"ananke-power\"})"
]
},
{
"dashboard": "Atlas GitOps",
"panel_title": "Kustomizations",
"panel_id": 9,
"panel_type": "table",
"description": "A Value of 1 means Ready; 0 means not Ready. The ready/reason labels come from Flux status.conditions.",
"tags": [
"atlas",
"gitops",
"flux"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max by (namespace, name, path, source_namespace, source_name, revision, ready, reason) (ananke_gitops_kustomization_info{job=\"ananke-power\"}) * on(namespace, name) group_left() max by (namespace, name) (ananke_gitops_kustomization_ready{job=\"ananke-power\"})"
]
},
{
"dashboard": "Atlas GitOps",
"panel_title": "HelmReleases",
"panel_id": 10,
"panel_type": "table",
"description": "A Value of 1 means Ready; 0 means not Ready. Chart/version/app_version are included when Flux reports them.",
"tags": [
"atlas",
"gitops",
"flux"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max by (namespace, name, chart, version, app_version, revision, ready, reason) (ananke_gitops_helmrelease_info{job=\"ananke-power\"}) * on(namespace, name) group_left() max by (namespace, name) (ananke_gitops_helmrelease_ready{job=\"ananke-power\"})"
]
},
{
"dashboard": "Atlas GPU",
"panel_title": "Namespace GPU Utilization",
"panel_id": 1,
"panel_type": "piechart",
"description": "Proportional share of GPU compute activity observed over the selected time range. Process-aware NVIDIA metrics attribute titan-22/24 work to namespaces and non-pod work to host. Jetson titan-20/21 activity is continuously sampled and assigned by Kubernetes shared-GPU allocations; unallocated activity remains unattributed. The slices total 100% of observed compute; idle appears only when the selected range contains no activity.",
"tags": [
"atlas",
"gpu"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(100 * ((sum by (namespace) ((label_replace(((sum by (namespace) (avg_over_time(nvidia_namespace_gpu_sm_util_percent{namespace!=\"\",pod!=\"\",$namespace_scope_gpu}[$__range]))) > 0), \"gpu_source\", \"nvidia\", \"\", \"\")) or (label_replace(((sum by (namespace) ((sum by (namespace,node) (kube_pod_container_resource_requests{resource=~\"nvidia(_com_|[.]com/)gpu.*\",$namespace_scope_gpu} * on(namespace,pod) group_left(node) kube_pod_info )) / on(node) group_left() clamp_min(sum by (node) (sum by (namespace,node) (kube_pod_container_resource_requests{resource=~\"nvidia(_com_|[.]com/)gpu.*\",namespace=~\".*\"} * on(namespace,pod) group_left(node) kube_pod_info )), 1) * on(node) group_left() (100 * sum by (node) (increase(jetson_gr3d_active_seconds_total{node!=\"\"}[$__range])) / $__range_s))) > 0), \"gpu_source\", \"jetson\", \"\", \"\")))) or (label_replace(((sum((((max by (node) (nvidia_gpu_device_utilization_percent) or (avg by (node) (label_replace(label_replace(DCGM_FI_DEV_GPU_UTIL, \"pod\", \"$1\", \"Hostname\", \"(.*)\"), \"namespace\", \"monitoring\", \"\", \"\") * on(namespace,pod) group_left(node) kube_pod_info{namespace=\"monitoring\"})) unless on(node) (max by (node) (nvidia_gpu_device_utilization_percent)) or max by (node) (jetson_gr3d_freq_percent{node!=\"\"})) unless on(node) (max by (node,gpu,uuid,model) (last_over_time(nvidia_gpu_device_utilization_percent[5m]))))) unless on(node) (((sum by (node) (sum by (namespace,node) (kube_pod_container_resource_requests{resource=~\"nvidia(_com_|[.]com/)gpu.*\",namespace=~\".*\"} * on(namespace,pod) group_left(node) kube_pod_info )) > 0)) and on(node) (100 * sum by (node) (increase(jetson_gr3d_active_seconds_total{node!=\"\"}[$__range])) / $__range_s))) or on() vector(0)) > 0), \"namespace\", \"unattributed\", \"\", \"\"))) / clamp_min((sum((sum by (namespace) ((label_replace(((sum by (namespace) (avg_over_time(nvidia_namespace_gpu_sm_util_percent{namespace!=\"\",pod!=\"\",$namespace_scope_gpu}[$__range]))) > 0), \"gpu_source\", \"nvidia\", \"\", \"\")) or (label_replace(((sum by (namespace) ((sum by (namespace,node) (kube_pod_container_resource_requests{resource=~\"nvidia(_com_|[.]com/)gpu.*\",$namespace_scope_gpu} * on(namespace,pod) group_left(node) kube_pod_info )) / on(node) group_left() clamp_min(sum by (node) (sum by (namespace,node) (kube_pod_container_resource_requests{resource=~\"nvidia(_com_|[.]com/)gpu.*\",namespace=~\".*\"} * on(namespace,pod) group_left(node) kube_pod_info )), 1) * on(node) group_left() (100 * sum by (node) (increase(jetson_gr3d_active_seconds_total{node!=\"\"}[$__range])) / $__range_s))) > 0), \"gpu_source\", \"jetson\", \"\", \"\")))) or (label_replace(((sum((((max by (node) (nvidia_gpu_device_utilization_percent) or (avg by (node) (label_replace(label_replace(DCGM_FI_DEV_GPU_UTIL, \"pod\", \"$1\", \"Hostname\", \"(.*)\"), \"namespace\", \"monitoring\", \"\", \"\") * on(namespace,pod) group_left(node) kube_pod_info{namespace=\"monitoring\"})) unless on(node) (max by (node) (nvidia_gpu_device_utilization_percent)) or max by (node) (jetson_gr3d_freq_percent{node!=\"\"})) unless on(node) (max by (node,gpu,uuid,model) (last_over_time(nvidia_gpu_device_utilization_percent[5m]))))) unless on(node) (((sum by (node) (sum by (namespace,node) (kube_pod_container_resource_requests{resource=~\"nvidia(_com_|[.]com/)gpu.*\",namespace=~\".*\"} * on(namespace,pod) group_left(node) kube_pod_info )) > 0)) and on(node) (100 * sum by (node) (increase(jetson_gr3d_active_seconds_total{node!=\"\"}[$__range])) / $__range_s))) or on() vector(0)) > 0), \"namespace\", \"unattributed\", \"\", \"\"))) or on() vector(0)), 1)) or (label_replace(vector(100), \"namespace\", \"idle\", \"\", \"\") and on() ((sum((sum by (namespace) ((label_replace(((sum by (namespace) (avg_over_time(nvidia_namespace_gpu_sm_util_percent{namespace!=\"\",pod!=\"\",$namespace_scope_gpu}[$__range]))) > 0), \"gpu_source\", \"nvidia\", \"\", \"\")) or (label_replace(((sum by (namespace) ((sum by (namespace,node) (kube_pod_container_resource_requests{resource=~\"nvidia(_com_|[.]com/)gpu.*\",$namespace_scope_gpu} * on(namespace,pod) group_left(node) kube_pod_info )) / on(node) group_left() clamp_min(sum by (node) (sum by (namespace,node) (kube_pod_container_resource_requests{resource=~\"nvidia(_com_|[.]com/)gpu.*\",namespace=~\".*\"} * on(namespace,pod) group_left(node) kube_pod_info )), 1) * on(node) group_left() (100 * sum by (node) (increase(jetson_gr3d_active_seconds_total{node!=\"\"}[$__range])) / $__range_s))) > 0), \"gpu_source\", \"jetson\", \"\", \"\")))) or (label_replace(((sum((((max by (node) (nvidia_gpu_device_utilization_percent) or (avg by (node) (label_replace(label_replace(DCGM_FI_DEV_GPU_UTIL, \"pod\", \"$1\", \"Hostname\", \"(.*)\"), \"namespace\", \"monitoring\", \"\", \"\") * on(namespace,pod) group_left(node) kube_pod_info{namespace=\"monitoring\"})) unless on(node) (max by (node) (nvidia_gpu_device_utilization_percent)) or max by (node) (jetson_gr3d_freq_percent{node!=\"\"})) unless on(node) (max by (node,gpu,uuid,model) (last_over_time(nvidia_gpu_device_utilization_percent[5m]))))) unless on(node) (((sum by (node) (sum by (namespace,node) (kube_pod_container_resource_requests{resource=~\"nvidia(_com_|[.]com/)gpu.*\",namespace=~\".*\"} * on(namespace,pod) group_left(node) kube_pod_info )) > 0)) and on(node) (100 * sum by (node) (increase(jetson_gr3d_active_seconds_total{node!=\"\"}[$__range])) / $__range_s))) or on() vector(0)) > 0), \"namespace\", \"unattributed\", \"\", \"\"))) or on() vector(0)) == 0))"
]
},
{
"dashboard": "Atlas GPU",
"panel_title": "GPU Process Util by Namespace",
"panel_id": 2,
"panel_type": "timeseries",
"description": "NVML process-level SM utilization by namespace. Host covers GPU work outside Kubernetes pods.",
"tags": [
"atlas",
"gpu"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"((sum by (namespace) (avg_over_time(nvidia_namespace_gpu_sm_util_percent{namespace!=\"\",pod!=\"\",$namespace_scope_gpu}[$__range]))) > 0)"
]
},
{
"dashboard": "Atlas GPU",
"panel_title": "GPU Util by Node",
"panel_id": 3,
"panel_type": "timeseries",
"description": "",
"tags": [
"atlas",
"gpu"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"label_replace(max by (node) (nvidia_gpu_device_utilization_percent) or (avg by (node) (label_replace(label_replace(DCGM_FI_DEV_GPU_UTIL, \"pod\", \"$1\", \"Hostname\", \"(.*)\"), \"namespace\", \"monitoring\", \"\", \"\") * on(namespace,pod) group_left(node) kube_pod_info{namespace=\"monitoring\"})) unless on(node) (max by (node) (nvidia_gpu_device_utilization_percent)) or max by (node) (jetson_gr3d_freq_percent{node!=\"\"}), \"Hostname\", \"$1\", \"node\", \"(.*)\")"
]
},
{
"dashboard": "Atlas GPU",
"panel_title": "GPU Processes by Pod",
"panel_id": 4,
"panel_type": "table",
"description": "NVML process-level SM samples mapped to Kubernetes pods through host cgroups; values are per-process activity rather than duplicated whole-device utilization.",
"tags": [
"atlas",
"gpu"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"topk(10, sum by (namespace,pod,node,process) (nvidia_process_gpu_sm_util_percent{pod!=\"host\"}) > 0)"
]
},
{
"dashboard": "Atlas Mail",
"panel_title": "Sent (1d)",
"panel_id": 1,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"mail"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max(postmark_outbound_sent{window=\"1d\"})"
]
},
{
"dashboard": "Atlas Mail",
"panel_title": "Sent (7d)",
"panel_id": 2,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"mail"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max(postmark_outbound_sent{window=\"7d\"})"
]
},
{
"dashboard": "Atlas Mail",
"panel_title": "Mail Bounces (1d)",
"panel_id": 3,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"mail"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max(postmark_outbound_bounce_rate{window=\"1d\"})",
"max(postmark_outbound_bounced{window=\"1d\"})"
]
},
{
"dashboard": "Atlas Mail",
"panel_title": "Success Rate (1d)",
"panel_id": 4,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"mail"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"clamp_min(100 - max(postmark_outbound_bounce_rate{window=\"1d\"}), 0)"
]
},
{
"dashboard": "Atlas Mail",
"panel_title": "Limit Used (30d)",
"panel_id": 5,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"mail"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max(postmark_sending_limit_used_percent)"
]
},
{
"dashboard": "Atlas Mail",
"panel_title": "Send Limit (30d)",
"panel_id": 6,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"mail"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max(postmark_sending_limit)"
]
},
{
"dashboard": "Atlas Mail",
"panel_title": "Last Success",
"panel_id": 7,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"mail"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max(postmark_last_success_timestamp_seconds)"
]
},
{
"dashboard": "Atlas Mail",
"panel_title": "Exporter Errors",
"panel_id": 8,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"mail"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(postmark_request_errors_total)"
]
},
{
"dashboard": "Atlas Mail",
"panel_title": "Bounce Rate (1d vs 7d)",
"panel_id": 13,
"panel_type": "timeseries",
"description": "",
"tags": [
"atlas",
"mail"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max by (window) (postmark_outbound_bounce_rate)"
]
},
{
"dashboard": "Atlas Mail",
"panel_title": "Bounced (1d vs 7d)",
"panel_id": 14,
"panel_type": "timeseries",
"description": "",
"tags": [
"atlas",
"mail"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max by (window) (postmark_outbound_bounced)"
]
},
{
"dashboard": "Atlas Mail",
"panel_title": "Sent (1d vs 7d)",
"panel_id": 15,
"panel_type": "timeseries",
"description": "",
"tags": [
"atlas",
"mail"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max by (window) (postmark_outbound_sent)"
]
},
{
"dashboard": "Atlas Mail",
"panel_title": "Exporter Errors",
"panel_id": 16,
"panel_type": "timeseries",
"description": "",
"tags": [
"atlas",
"mail"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(postmark_request_errors_total)"
]
},
{
"dashboard": "Atlas Network",
"panel_title": "Ingress Success Rate (5m)",
"panel_id": 1,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"network"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(sum(rate(traefik_entrypoint_requests_total{code!~\"5..\"}[5m]))) / clamp_min(sum(rate(traefik_entrypoint_requests_total[5m])), 1)"
]
},
{
"dashboard": "Atlas Network",
"panel_title": "Error Budget Burn (1h)",
"panel_id": 2,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"network"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(1 - ((sum(rate(traefik_entrypoint_requests_total{code!~\"5..\"}[1h]))) / clamp_min(sum(rate(traefik_entrypoint_requests_total[1h])), 1))) / 0.0010000000000000009"
]
},
{
"dashboard": "Atlas Network",
"panel_title": "Error Budget Burn (6h)",
"panel_id": 3,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"network"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(1 - ((sum(rate(traefik_entrypoint_requests_total{code!~\"5..\"}[6h]))) / clamp_min(sum(rate(traefik_entrypoint_requests_total[6h])), 1))) / 0.0010000000000000009"
]
},
{
"dashboard": "Atlas Network",
"panel_title": "Edge P99 Latency (ms)",
"panel_id": 4,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"network"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"histogram_quantile(0.99, sum by (le) (rate(traefik_entrypoint_request_duration_seconds_bucket[5m]))) * 1000"
]
},
{
"dashboard": "Atlas Network",
"panel_title": "Ingress Traffic",
"panel_id": 5,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"network"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(rate(node_network_receive_bytes_total{device!~\"lo|cni.*|veth.*|flannel.*|docker.*|virbr.*|vxlan.*|wg.*\"}[5m])) or on() vector(0)"
]
},
{
"dashboard": "Atlas Network",
"panel_title": "Egress Traffic",
"panel_id": 6,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"network"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(rate(node_network_transmit_bytes_total{device!~\"lo|cni.*|veth.*|flannel.*|docker.*|virbr.*|vxlan.*|wg.*\"}[5m])) or on() vector(0)"
]
},
{
"dashboard": "Atlas Network",
"panel_title": "Intra-Cluster Traffic",
"panel_id": 7,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"network"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(rate(container_network_receive_bytes_total{namespace!=\"traefik\",pod!=\"\"}[5m]) + rate(container_network_transmit_bytes_total{namespace!=\"traefik\",pod!=\"\"}[5m])) or on() vector(0)"
]
},
{
"dashboard": "Atlas Network",
"panel_title": "Per-Node Throughput",
"panel_id": 8,
"panel_type": "timeseries",
"description": "",
"tags": [
"atlas",
"network"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"avg by (node) ((sum(rate(node_network_transmit_bytes_total{device!~\"lo|cni.*|veth.*|flannel.*|docker.*|virbr.*|vxlan.*|wg.*\"}[5m])) or on() vector(0) + sum(rate(node_network_receive_bytes_total{device!~\"lo|cni.*|veth.*|flannel.*|docker.*|virbr.*|vxlan.*|wg.*\"}[5m])) or on() vector(0)) * on(instance) group_left(node) label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh|titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))"
]
},
{
"dashboard": "Atlas Network",
"panel_title": "Top Namespaces",
"panel_id": 9,
"panel_type": "table",
"description": "",
"tags": [
"atlas",
"network"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"topk(10, sum(rate(container_network_transmit_bytes_total{namespace!=\"\"}[5m]) + rate(container_network_receive_bytes_total{namespace!=\"\"}[5m])) by (namespace))"
]
},
{
"dashboard": "Atlas Network",
"panel_title": "Top Pods",
"panel_id": 10,
"panel_type": "table",
"description": "",
"tags": [
"atlas",
"network"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"topk(10, sum(rate(container_network_transmit_bytes_total{pod!=\"\"}[5m]) + rate(container_network_receive_bytes_total{pod!=\"\"}[5m])) by (namespace,pod))"
]
},
{
"dashboard": "Atlas Network",
"panel_title": "Traefik Routers (req/s)",
"panel_id": 11,
"panel_type": "timeseries",
"description": "",
"tags": [
"atlas",
"network"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"topk(10, sum by (router) (rate(traefik_router_requests_total[5m])))"
]
},
{
"dashboard": "Atlas Network",
"panel_title": "Traefik Entrypoints (req/s)",
"panel_id": 12,
"panel_type": "timeseries",
"description": "",
"tags": [
"atlas",
"network"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum by (entrypoint) (rate(traefik_entrypoint_requests_total[5m]))"
]
},
{
"dashboard": "Atlas Nodes",
"panel_title": "Worker Nodes Ready",
"panel_id": 1,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"nodes"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(kube_node_status_condition{condition=\"Ready\",status=\"true\",node=~\"titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"})"
]
},
{
"dashboard": "Atlas Nodes",
"panel_title": "Control Plane Ready",
"panel_id": 2,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"nodes"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(kube_node_status_condition{condition=\"Ready\",status=\"true\",node=~\"titan-0a|titan-0b|titan-0c\"})"
]
},
{
"dashboard": "Atlas Nodes",
"panel_title": "Control Plane Workloads",
"panel_id": 3,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"nodes"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(kube_pod_info{node=~\"titan-0a|titan-0b|titan-0c\",namespace!~\"^(kube-.*|.*-system|traefik|monitoring|logging|cert-manager|maintenance|postgres)$\"})"
]
},
{
"dashboard": "Atlas Nodes",
"panel_title": "API Server 5xx rate",
"panel_id": 9,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"nodes"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(rate(apiserver_request_total{code=~\"5..\"}[5m]))"
]
},
{
"dashboard": "Atlas Nodes",
"panel_title": "API Server P99 latency",
"panel_id": 10,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"nodes"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"histogram_quantile(0.99, sum by (le) (rate(apiserver_request_duration_seconds_bucket[5m]))) * 1000"
]
},
{
"dashboard": "Atlas Nodes",
"panel_title": "etcd P99 latency",
"panel_id": 11,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"nodes"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"histogram_quantile(0.99, sum by (le) (rate(etcd_request_duration_seconds_bucket[5m]))) * 1000"
]
},
{
"dashboard": "Atlas Nodes",
"panel_title": "Node CPU",
"panel_id": 4,
"panel_type": "timeseries",
"description": "",
"tags": [
"atlas",
"nodes"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"avg by (node) ((clamp_max(clamp_min((1 - avg by (instance) (rate(node_cpu_seconds_total{mode=\"idle\"}[5m]))) * 100, 0), 100)) * on(instance) group_left(node) label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh|titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))"
]
},
{
"dashboard": "Atlas Nodes",
"panel_title": "Node RAM",
"panel_id": 5,
"panel_type": "timeseries",
"description": "",
"tags": [
"atlas",
"nodes"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"avg by (node) ((avg by (instance) ((node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes * 100)) * on(instance) group_left(node) label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh|titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))"
]
},
{
"dashboard": "Atlas Nodes",
"panel_title": "Control Plane (incl. titan-db) CPU",
"panel_id": 6,
"panel_type": "timeseries",
"description": "",
"tags": [
"atlas",
"nodes"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(avg by (node) ((clamp_max(clamp_min((1 - avg by (instance) (rate(node_cpu_seconds_total{mode=\"idle\"}[5m]))) * 100, 0), 100)) * on(instance) group_left(node) label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh|titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))) * on(node) group_left() label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh\"}, \"node\", \"$1\", \"nodename\", \"(.*)\")"
]
},
{
"dashboard": "Atlas Nodes",
"panel_title": "Control Plane (incl. titan-db) RAM",
"panel_id": 7,
"panel_type": "timeseries",
"description": "",
"tags": [
"atlas",
"nodes"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(avg by (node) ((avg by (instance) ((node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes * 100)) * on(instance) group_left(node) label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh|titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))) * on(node) group_left() label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh\"}, \"node\", \"$1\", \"nodename\", \"(.*)\")"
]
},
{
"dashboard": "Atlas Nodes",
"panel_title": "Root Filesystem Usage",
"panel_id": 8,
"panel_type": "timeseries",
"description": "",
"tags": [
"atlas",
"nodes"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"avg by (node) ((avg by (instance) ((1 - (node_filesystem_avail_bytes{mountpoint=\"/\",fstype!~\"tmpfs|overlay\"} / node_filesystem_size_bytes{mountpoint=\"/\",fstype!~\"tmpfs|overlay\"})) * 100)) * on(instance) group_left(node) label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh|titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))"
]
},
{
"dashboard": "Atlas Nodes",
"panel_title": "Astraios Usage",
"panel_id": 9,
"panel_type": "timeseries",
"description": "",
"tags": [
"atlas",
"nodes"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"avg by (node) ((avg by (instance) ((1 - (node_filesystem_avail_bytes{mountpoint=\"/mnt/astraios\",fstype!~\"tmpfs|overlay\"} / node_filesystem_size_bytes{mountpoint=\"/mnt/astraios\",fstype!~\"tmpfs|overlay\"})) * 100)) * on(instance) group_left(node) label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh|titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Control Plane Ready",
"panel_id": 2,
"panel_type": "gauge",
"description": "Control-plane nodes currently Ready; full count is good, lower means Kubernetes core capacity is missing.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(kube_node_status_condition{condition=\"Ready\",status=\"true\",node=~\"titan-0a|titan-0b|titan-0c\"})"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Control Plane Workloads",
"panel_id": 3,
"panel_type": "stat",
"description": "Non-core pods running on control-plane nodes; zero is good because control nodes should stay focused.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(kube_pod_info{node=~\"titan-0a|titan-0b|titan-0c\",namespace!~\"^(kube-.*|.*-system|traefik|monitoring|logging|cert-manager|maintenance|postgres)$\"}) or on() vector(0)"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Stuck Terminating",
"panel_id": 5,
"panel_type": "stat",
"description": "Pods that Kubernetes cannot finish deleting; zero is good, growth means cleanup or storage may be stuck.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(max by (namespace,pod) (((time() - kube_pod_deletion_timestamp{pod!=\"\"}) > bool 600) and on(namespace,pod) (kube_pod_deletion_timestamp{pod!=\"\"} > bool 0))) or on() vector(0)"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Atlas Availability (365d)",
"panel_id": 27,
"panel_type": "stat",
"description": "Rolling request-weighted availability at the Atlas HTTPS ingress: responses below 500 divided by all HTTP responses. Every server-side 5xx is a real failed request; client 4xx responses count as served. Replica counts, Grafana health, and monitoring gaps are not inputs, so they cannot lower availability unless user traffic actually receives a 5xx. A daily rollup job publishes one annual sample from deduplicated daily totals; Grafana keeps it for up to 48 hours so one delayed retry cannot cause a fallback, and only uses the same one-hour request SLI before history exists.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(last_over_time(atlas:availability:ratio_365d{scope=\"atlas\",definition=\"request-v4\"}[48h]) or on() (1 - ((sum(increase(traefik_entrypoint_requests_total{entrypoint=\"websecure\",protocol=\"http\",code=~\"5..\"}[1h])) or on() vector(0)) / clamp_min(sum(increase(traefik_entrypoint_requests_total{entrypoint=\"websecure\",protocol=\"http\",code=~\"[1-5]..\"}[1h])), 1))))"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Problem Pods",
"panel_id": 4,
"panel_type": "stat",
"description": "Current-service pods Pending for more than 15 minutes or in an actionable failed phase. Completed Jobs and retained Veles migration workloads are kept on drill-down dashboards but excluded here.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"((sum(max by(namespace,pod) ((kube_pod_status_phase{phase=\"Pending\",namespace!~\"veles\"} == 1) and on(namespace,pod) ((time() - kube_pod_created{namespace!~\"veles\"}) > 900))) or on() vector(0)) + (sum(max by(namespace,pod) ((kube_pod_status_phase{phase=~\"Failed|Unknown\",namespace!~\"veles\"} == 1) unless on(namespace,pod) kube_pod_owner{owner_kind=\"Job\"})) or on() vector(0)))"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "CrashLoop / ImagePull",
"panel_id": 6,
"panel_type": "stat",
"description": "Current-service pods stuck in CrashLoopBackOff or ImagePullBackOff for more than 15 minutes. Retained Veles migration workloads remain visible on the Pods dashboard.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(max by(namespace,pod) (kube_pod_container_status_waiting_reason{namespace!~\"veles\",reason=~\"CrashLoopBackOff|ImagePullBackOff\"} and on(namespace,pod) ((time() - kube_pod_created{namespace!~\"veles\"}) > 900))) or on() vector(0)"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Workers Ready",
"panel_id": 1,
"panel_type": "gauge",
"description": "Worker nodes currently Ready; full count is good, lower means less place to run services.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(kube_node_status_condition{condition=\"Ready\",status=\"true\",node=~\"titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"})"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Hottest node: CPU",
"panel_id": 7,
"panel_type": "stat",
"description": "Highest worker CPU load right now; lower is calmer, hot nodes may need pods moved.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"label_replace(topk(1, avg by (node) ((clamp_max(clamp_min((1 - avg by (instance) (rate(node_cpu_seconds_total{mode=\"idle\"}[5m]))) * 100, 0), 100)) * on(instance) group_left(node) label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh|titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))), \"__name__\", \"$1\", \"node\", \"(.*)\")"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Hottest node: RAM",
"panel_id": 8,
"panel_type": "stat",
"description": "Highest worker memory use right now; lower is safer, high values risk evictions.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"label_replace(topk(1, avg by (node) ((avg by (instance) ((node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes * 100)) * on(instance) group_left(node) label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh|titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))), \"__name__\", \"$1\", \"node\", \"(.*)\")"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Hottest node: NET (rx+tx)",
"panel_id": 9,
"panel_type": "stat",
"description": "Busiest node network rate; spikes can reveal traffic concentration or noisy services.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"label_replace(topk(1, avg by (node) ((sum by (instance) (rate(node_network_receive_bytes_total{device!~\"lo\"}[5m]) + rate(node_network_transmit_bytes_total{device!~\"lo\"}[5m]))) * on(instance) group_left(node) label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh|titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))), \"__name__\", \"$1\", \"node\", \"(.*)\")"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Hottest node: I/O (r+w)",
"panel_id": 10,
"panel_type": "stat",
"description": "Busiest node disk I/O rate; high values can explain slow storage-backed apps.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"label_replace(topk(1, avg by (node) ((sum by (instance) (rate(node_disk_read_bytes_total[5m]) + rate(node_disk_written_bytes_total[5m]))) * on(instance) group_left(node) label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh|titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))), \"__name__\", \"$1\", \"node\", \"(.*)\")"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Astreae Usage",
"panel_id": 23,
"panel_type": "stat",
"description": "Percent of Astreae used; lower is safer, high values reduce storage headroom.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"100 - (sum(node_filesystem_avail_bytes{mountpoint=\"/mnt/astreae\",fstype!~\"tmpfs|overlay\"}) / sum(node_filesystem_size_bytes{mountpoint=\"/mnt/astreae\",fstype!~\"tmpfs|overlay\"}) * 100)"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Asteria Usage",
"panel_id": 24,
"panel_type": "stat",
"description": "Percent of Asteria used; lower is safer, high values reduce storage headroom.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"100 - (sum(node_filesystem_avail_bytes{mountpoint=\"/mnt/asteria\",fstype!~\"tmpfs|overlay\"}) / sum(node_filesystem_size_bytes{mountpoint=\"/mnt/asteria\",fstype!~\"tmpfs|overlay\"}) * 100)"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Astreae Free",
"panel_id": 25,
"panel_type": "stat",
"description": "Free space on Astreae; higher is better for backups and workload growth.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(node_filesystem_avail_bytes{mountpoint=\"/mnt/astreae\",fstype!~\"tmpfs|overlay\"})"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Asteria Free",
"panel_id": 26,
"panel_type": "stat",
"description": "Free space on Asteria; higher is better for backups and workload growth.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(node_filesystem_avail_bytes{mountpoint=\"/mnt/asteria\",fstype!~\"tmpfs|overlay\"})"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Pyrphoros UPS Current",
"panel_id": 40,
"panel_type": "stat",
"description": "Live Pyrphoros UPS draw and runtime; stable runtime means the lab can ride out short outages.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"label_replace(max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Pyrphoros\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Pyrphoros\"}) / 100) or on() vector(0), \"metric\", \"Draw\", \"__name__\", \".*\") or label_replace(max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0), \"metric\", \"Runtime\", \"__name__\", \".*\")"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Statera UPS Current",
"panel_id": 144,
"panel_type": "stat",
"description": "Live Statera UPS draw and runtime; stable runtime means the lab can ride out short outages.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"label_replace(max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Statera\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Statera\"}) / 100) or on() vector(0), \"metric\", \"Draw\", \"__name__\", \".*\") or label_replace(max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0), \"metric\", \"Runtime\", \"__name__\", \".*\")"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "UPS History (Power Draw)",
"panel_id": 41,
"panel_type": "timeseries",
"description": "UPS power draw over time; steady draw is normal, spikes show sudden load changes.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Pyrphoros\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Pyrphoros\"}) / 100)",
"max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Statera\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Statera\"}) / 100)"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Current Enclosure Temperature",
"panel_id": 42,
"panel_type": "stat",
"description": "Current tent temperature in C and F; moderate values protect hardware and plants.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"label_replace(max(max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_temperature_celsius != 0)) or on() vector(0), \"metric\", \"\u00b0C\", \"__name__\", \".*\") or label_replace(max((max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_temperature_celsius != 0)) * 9 / 5 + 32) or on() vector(0), \"metric\", \"\u00b0F\", \"__name__\", \".*\")"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Current Enclosure Climate",
"panel_id": 143,
"panel_type": "stat",
"description": "Current humidity and VPD; in-range values mean the enclosure climate is stable.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"label_replace(max(max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_relative_humidity_percent != 0)) or on() vector(0), \"metric\", \"%RH\", \"__name__\", \".*\") or label_replace(max(max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_vpd_kpa != 0)) or on() vector(0), \"metric\", \"kPa\", \"__name__\", \".*\")"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Enclosure Climate History",
"panel_id": 43,
"panel_type": "timeseries",
"description": "Temperature on left axis, humidity and pressure on right axis with dynamic bound series so small swings remain visible.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_temperature_celsius != 0)",
"max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_relative_humidity_percent != 0)",
"max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_vpd_kpa != 0)",
"(min_over_time(max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_temperature_celsius != 0)[$__range]) - 0.08)",
"(max_over_time(max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_temperature_celsius != 0)[$__range]) + 0.08)",
"clamp_min((min_over_time(max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_relative_humidity_percent != 0)[$__range]) - 0.35), 0)",
"clamp_max((max_over_time(max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_relative_humidity_percent != 0)[$__range]) + 0.35), 100)",
"clamp_min((min_over_time(max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_vpd_kpa != 0)[$__range]) - 0.03), 0)",
"(max_over_time(max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_vpd_kpa != 0)[$__range]) + 0.03)"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Fan Intensity History",
"panel_id": 141,
"panel_type": "state-timeline",
"description": "Fan intensity lanes on the 0-10 controller scale. Cooler colors are quiet/low intensity; warmer colors mean the enclosure is pushing harder.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"label_replace(max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_fan_speed_level{port=\"1\"}), \"fan\", \"Outlet\", \"__name__\", \".*\") or label_replace(max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_fan_speed_level{port=\"2\"}), \"fan\", \"Inlet - Inside\", \"__name__\", \".*\") or label_replace(max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_fan_speed_level{port=\"3\"}), \"fan\", \"Inlet - Outside\", \"__name__\", \".*\") or label_replace(max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_fan_speed_level{port=\"4\"}), \"fan\", \"Tent Interior\", \"__name__\", \".*\")"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Flux Source",
"panel_id": 140,
"panel_type": "stat",
"description": "Flux GitRepository branch reported by Ananke. Revision and object detail live in Atlas GitOps.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max by (branch, revision) (ananke_gitops_flux_source_info{job=\"ananke-power\",namespace=\"flux-system\",name=\"flux-system\"}) or on() vector(0)"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Current Gate Health",
"panel_id": 151,
"panel_type": "stat",
"description": "Current gate-check health across suites; skipped or not-applicable checks count as healthy, failures lower it.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(avg((min by (suite) (((100 * sum by (suite) (clamp_max(max by (suite, check) ((((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"ariadne|metis|ananke|atlasbot|pegasus|soteria|titan_iac|bstein_home|data_prepper|lesavka\",branch=~\"main|master|origin/main|origin/master\",check=~\"tests|coverage|loc|style|docs_naming|gate_glue|sonarqube\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or (sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"ariadne|metis|ananke|atlasbot|pegasus|soteria|titan_iac|bstein_home|data_prepper|lesavka\",suite=~\"ariadne|atlasbot|bstein_home|data_prepper\",branch=~\"main|master|origin/main|origin/master\",check=\"supply_chain\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"})))) > 0), 1) unless on(suite, check) (clamp_max(max by (suite, check) ((((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"ariadne|metis|ananke|atlasbot|pegasus|soteria|titan_iac|bstein_home|data_prepper|lesavka\",branch=~\"main|master|origin/main|origin/master\",check=~\"tests|coverage|loc|style|docs_naming|gate_glue|sonarqube\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or (sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"ariadne|metis|ananke|atlasbot|pegasus|soteria|titan_iac|bstein_home|data_prepper|lesavka\",suite=~\"ariadne|atlasbot|bstein_home|data_prepper\",branch=~\"main|master|origin/main|origin/master\",check=\"supply_chain\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})))) > 0), 1))) / clamp_min(sum by (suite) (clamp_max(max by (suite, check) ((((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"ariadne|metis|ananke|atlasbot|pegasus|soteria|titan_iac|bstein_home|data_prepper|lesavka\",branch=~\"main|master|origin/main|origin/master\",check=~\"tests|coverage|loc|style|docs_naming|gate_glue|sonarqube\",status!=\"\"})) or (sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"ariadne|metis|ananke|atlasbot|pegasus|soteria|titan_iac|bstein_home|data_prepper|lesavka\",suite=~\"ariadne|atlasbot|bstein_home|data_prepper\",branch=~\"main|master|origin/main|origin/master\",check=\"supply_chain\",status!=\"\"})))) > 0), 1)), 1))) or (min by (suite) (platform_quality:test_category_health_rate:percent_1h{suite=~\"ariadne|metis|ananke|atlasbot|pegasus|soteria|titan_iac|bstein_home|data_prepper|lesavka\",branch!=\"\",branch=~\"main|master|origin/main|origin/master\",category=~\"api|chaos|compatibility|component|contract|e2e|integration|manual|performance|regression|reliability|security|smoke|system|ui|unit\"}))))) or on() vector(0))"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "CI Run Success (24h)",
"panel_id": 152,
"panel_type": "stat",
"description": "Percent of published quality-gate CI runs that completed successfully in 24h; this is automation health, not raw test pass rate.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"100 * ((sum(platform_quality:suite_runs:increase_24h{suite=~\"ariadne|metis|ananke|atlasbot|pegasus|pegasus-health|pegasus_health|soteria|titan_iac|titan-iac|bstein_home|bstein-home|data_prepper|data-prepper|lesavka\",status=~\"ok|passed|success\"}) or on() vector(0))) / clamp_min(((sum(platform_quality:suite_runs:increase_24h{suite=~\"ariadne|metis|ananke|atlasbot|pegasus|pegasus-health|pegasus_health|soteria|titan_iac|titan-iac|bstein_home|bstein-home|data_prepper|data-prepper|lesavka\"}) or on() vector(0))), 1)"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Failed Runs (24h)",
"panel_id": 153,
"panel_type": "stat",
"description": "Published quality-gate runs that failed in 24h; zero is good, any value needs a look.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(sum(platform_quality:suite_runs:increase_24h{suite=~\"ariadne|metis|ananke|atlasbot|pegasus|pegasus-health|pegasus_health|soteria|titan_iac|titan-iac|bstein_home|bstein-home|data_prepper|data-prepper|lesavka\",status!~\"ok|passed|success\"}) or on() vector(0))"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Suites With Runs (24h)",
"panel_id": 154,
"panel_type": "stat",
"description": "Configured suites with at least one published quality-gate run in 24h; full count means the dashboard is fresh.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum((sum by (suite) (platform_quality:suite_runs:increase_24h{suite=~\"ariadne|metis|ananke|atlasbot|pegasus|soteria|titan_iac|bstein_home|data_prepper|lesavka\"}) > bool 0)) or on() vector(0)"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Avg Coverage",
"panel_id": 155,
"panel_type": "stat",
"description": "Average latest line coverage across suites; higher means code is better protected by tests.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(avg((max by (suite) (platform_quality:suite_coverage_percent:latest_1h{suite=~\"ariadne|metis|ananke|atlasbot|pegasus|soteria|titan_iac|bstein_home|data_prepper|lesavka\"}))) or on() vector(0))"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "GitOps Health",
"panel_id": 150,
"panel_type": "state-timeline",
"description": "GitOps readiness and suspension health over time. Blue means perfect; warmer colors mean a readiness or suspension problem appeared.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"label_replace(100 * sum(max by (namespace, name) (ananke_gitops_kustomization_ready{job=\"ananke-power\"})) / clamp_min(count(max by (namespace, name) (ananke_gitops_kustomization_ready{job=\"ananke-power\"})), 1), \"signal\", \"Kustomizations Ready\", \"__name__\", \".*\") or label_replace(100 * sum(max by (namespace, name) (ananke_gitops_helmrelease_ready{job=\"ananke-power\"})) / clamp_min(count(max by (namespace, name) (ananke_gitops_helmrelease_ready{job=\"ananke-power\"})), 1), \"signal\", \"HelmReleases Ready\", \"__name__\", \".*\") or label_replace(100 * (1 - (sum(max by (namespace, name) (ananke_gitops_kustomization_suspended{job=\"ananke-power\"})) or on() vector(0)) / clamp_min((count(max by (namespace, name) (ananke_gitops_kustomization_ready{job=\"ananke-power\"})) or on() vector(0)), 1)), \"signal\", \"Kustomizations Not Suspended\", \"__name__\", \".*\") or label_replace(100 * (1 - (sum(max by (namespace, name) (ananke_gitops_helmrelease_suspended{job=\"ananke-power\"})) or on() vector(0)) / clamp_min((count(max by (namespace, name) (ananke_gitops_helmrelease_ready{job=\"ananke-power\"})) or on() vector(0)), 1)), \"signal\", \"HelmReleases Not Suspended\", \"__name__\", \".*\")"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "One-off Job Pods (age hours)",
"panel_id": 44,
"panel_type": "bargauge",
"description": "Temporary job pods by age; low or empty is good, old pods usually need cleanup.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sort_desc(((time() - kube_pod_start_time{pod!=\"\"}) / 3600) * on(namespace,pod) group_left(owner_name) (kube_pod_owner{owner_kind=\"Job\"} unless on(namespace, owner_name) label_replace(kube_job_owner{owner_kind=\"CronJob\"}, \"owner_name\", \"$1\", \"job_name\", \"(.*)\")) * on(namespace,pod) group_left(phase) max by (namespace,pod,phase) (kube_pod_status_phase{phase=~\"Running|Succeeded\"}))"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Ariadne Run Volume",
"panel_id": 45,
"panel_type": "timeseries",
"description": "Ariadne automation attempts and failures; attempts show activity, failures show work to investigate.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(increase(ariadne_task_runs_total[5m])) or on() vector(0)",
"sum(increase(ariadne_task_runs_total{status=\"error\"}[5m])) or on() vector(0)"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Test Category Health",
"panel_id": 46,
"panel_type": "state-timeline",
"description": "Health by major test category across all suites over the last 24 hours. Skipped tests are healthy; failures and errors lower the lane.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(avg by (category) (platform_quality:test_category_health_rate:percent_1h{suite=~\"ariadne|metis|ananke|atlasbot|pegasus|soteria|titan_iac|bstein_home|data_prepper|lesavka\",branch!=\"\",branch=~\"main|master|origin/main|origin/master\",category=~\"api|chaos|compatibility|component|contract|e2e|integration|performance|regression|reliability|security|smoke|system|ui\"})) or label_set(vector(0), \"category\", \"none\")"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Jenkins Last Success (h, newest first)",
"panel_id": 142,
"panel_type": "stat",
"description": "Top 6 most recent Jenkins successes by age (newest first). Green means last run succeeded; red means last run did not succeed. Use Atlas Jobs for the full list.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sort((label_replace((sort(bottomk(6, min by (exported_job,job_url,weather_icon) ((time() - ariadne_jenkins_build_weather_job_last_success_timestamp_seconds) / 3600)))) and on(exported_job,job_url,weather_icon) (max by (exported_job,job_url,weather_icon) (ariadne_jenkins_build_weather_job_last_status) == 1), \"run_state\", \"ok\", \"exported_job\", \".*\")) or (label_replace((sort(bottomk(6, min by (exported_job,job_url,weather_icon) ((time() - ariadne_jenkins_build_weather_job_last_success_timestamp_seconds) / 3600)))) and on(exported_job,job_url,weather_icon) (max by (exported_job,job_url,weather_icon) (ariadne_jenkins_build_weather_job_last_status) != 1), \"run_state\", \"bad\", \"exported_job\", \".*\")))"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Jenkins Last Failure (h, newest first)",
"panel_id": 243,
"panel_type": "stat",
"description": "Top 6 most recent Jenkins failures by age (newest first). Green means last run succeeded; red means last run did not succeed. Use Atlas Jobs for the full list.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sort((label_replace((sort(bottomk(6, min by (exported_job,job_url,weather_icon) ((time() - ariadne_jenkins_build_weather_job_last_failure_timestamp_seconds) / 3600)))) and on(exported_job,job_url,weather_icon) (max by (exported_job,job_url,weather_icon) (ariadne_jenkins_build_weather_job_last_status) == 1), \"run_state\", \"ok\", \"exported_job\", \".*\")) or (label_replace((sort(bottomk(6, min by (exported_job,job_url,weather_icon) ((time() - ariadne_jenkins_build_weather_job_last_failure_timestamp_seconds) / 3600)))) and on(exported_job,job_url,weather_icon) (max by (exported_job,job_url,weather_icon) (ariadne_jenkins_build_weather_job_last_status) != 1), \"run_state\", \"bad\", \"exported_job\", \".*\")))"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "PVC Backup Health / Age",
"panel_id": 47,
"panel_type": "bargauge",
"description": "Backup age in hours computed from last-success timestamps for restic-managed PVCs (nightly target: <=20h green, <40h yellow, <50h orange, >=50h red). PVCs that have backup history but currently no successful backup (missing/no_completed/error) are pinned to 999h for visibility.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sort_desc(max by (namespace, pvc) (((time() - pvc_backup_last_success_timestamp_seconds{driver=\"restic\"}) / 3600) or on(namespace,pvc,volume,driver) ((((pvc_backup_health_reason{driver=\"restic\",reason=~\"missing|no_completed|lookup_failed|unknown_timestamp\"} > 0) * (pvc_backup_count{driver=\"restic\"} > bool 0)) * 999))) or on() ((label_replace(label_replace(vector(999), \"namespace\", \"maintenance\", \"__name__\", \".*\"), \"pvc\", \"backup-telemetry-missing\", \"__name__\", \".*\")) unless on() ((count({__name__=~\"pvc_backup_(count|last_success_timestamp_seconds|health_reason)\",driver=\"restic\"})) > 0)))"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Mail Sent (1d)",
"panel_id": 30,
"panel_type": "stat",
"description": "Outbound mail sent in the last day; useful context for mail health and bounce rates.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max(postmark_outbound_sent{window=\"1d\"})"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Mail Bounces (1d)",
"panel_id": 31,
"panel_type": "stat",
"description": "Outbound mail bounce rate and count; zero is best, high values risk delivery reputation.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max(postmark_outbound_bounce_rate{window=\"1d\"})",
"max(postmark_outbound_bounced{window=\"1d\"})"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Mail Success Rate (1d)",
"panel_id": 32,
"panel_type": "stat",
"description": "Outbound mail success rate; higher is better for user notifications.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"clamp_min(100 - max(postmark_outbound_bounce_rate{window=\"1d\"}), 0)"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Mail Limit Used (30d)",
"panel_id": 33,
"panel_type": "stat",
"description": "Postmark monthly send limit used; lower leaves more quota headroom.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max(postmark_sending_limit_used_percent)"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Postgres Connections Used",
"panel_id": 34,
"panel_type": "stat",
"description": "Current Postgres connections; lower leaves room for apps during spikes.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"label_replace(sum(pg_stat_activity_count), \"conn\", \"used\", \"__name__\", \".*\") or label_replace(max(pg_settings_max_connections), \"conn\", \"max\", \"__name__\", \".*\")"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Postgres Hottest Connections",
"panel_id": 35,
"panel_type": "stat",
"description": "Database with the most active connections; high values identify the pressure source.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"topk(1, sum by (datname) (pg_stat_activity_count))"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Namespace CPU Share",
"panel_id": 11,
"panel_type": "piechart",
"description": "Shares are normalized within the selected filter. Switching scope changes the denominator.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"100 * ( sum(rate(container_cpu_usage_seconds_total{namespace!=\"\",pod!=\"\",container!=\"\",container!=\"POD\",$namespace_scope_cpu}[1m])) by (namespace) ) / clamp_min(sum( sum(rate(container_cpu_usage_seconds_total{namespace!=\"\",pod!=\"\",container!=\"\",container!=\"POD\",$namespace_scope_cpu}[1m])) by (namespace) ), 1)"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Namespace GPU Utilization",
"panel_id": 12,
"panel_type": "piechart",
"description": "Proportional share of GPU compute activity observed over the selected time range. Process-aware NVIDIA metrics attribute titan-22/24 work to namespaces and non-pod work to host. Jetson titan-20/21 activity is continuously sampled and assigned by Kubernetes shared-GPU allocations; unallocated activity remains unattributed. The slices total 100% of observed compute; idle appears only when the selected range contains no activity.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(100 * ((sum by (namespace) ((label_replace(((sum by (namespace) (avg_over_time(nvidia_namespace_gpu_sm_util_percent{namespace!=\"\",pod!=\"\",$namespace_scope_gpu}[$__range]))) > 0), \"gpu_source\", \"nvidia\", \"\", \"\")) or (label_replace(((sum by (namespace) ((sum by (namespace,node) (kube_pod_container_resource_requests{resource=~\"nvidia(_com_|[.]com/)gpu.*\",$namespace_scope_gpu} * on(namespace,pod) group_left(node) kube_pod_info )) / on(node) group_left() clamp_min(sum by (node) (sum by (namespace,node) (kube_pod_container_resource_requests{resource=~\"nvidia(_com_|[.]com/)gpu.*\",namespace=~\".*\"} * on(namespace,pod) group_left(node) kube_pod_info )), 1) * on(node) group_left() (100 * sum by (node) (increase(jetson_gr3d_active_seconds_total{node!=\"\"}[$__range])) / $__range_s))) > 0), \"gpu_source\", \"jetson\", \"\", \"\")))) or (label_replace(((sum((((max by (node) (nvidia_gpu_device_utilization_percent) or (avg by (node) (label_replace(label_replace(DCGM_FI_DEV_GPU_UTIL, \"pod\", \"$1\", \"Hostname\", \"(.*)\"), \"namespace\", \"monitoring\", \"\", \"\") * on(namespace,pod) group_left(node) kube_pod_info{namespace=\"monitoring\"})) unless on(node) (max by (node) (nvidia_gpu_device_utilization_percent)) or max by (node) (jetson_gr3d_freq_percent{node!=\"\"})) unless on(node) (max by (node,gpu,uuid,model) (last_over_time(nvidia_gpu_device_utilization_percent[5m]))))) unless on(node) (((sum by (node) (sum by (namespace,node) (kube_pod_container_resource_requests{resource=~\"nvidia(_com_|[.]com/)gpu.*\",namespace=~\".*\"} * on(namespace,pod) group_left(node) kube_pod_info )) > 0)) and on(node) (100 * sum by (node) (increase(jetson_gr3d_active_seconds_total{node!=\"\"}[$__range])) / $__range_s))) or on() vector(0)) > 0), \"namespace\", \"unattributed\", \"\", \"\"))) / clamp_min((sum((sum by (namespace) ((label_replace(((sum by (namespace) (avg_over_time(nvidia_namespace_gpu_sm_util_percent{namespace!=\"\",pod!=\"\",$namespace_scope_gpu}[$__range]))) > 0), \"gpu_source\", \"nvidia\", \"\", \"\")) or (label_replace(((sum by (namespace) ((sum by (namespace,node) (kube_pod_container_resource_requests{resource=~\"nvidia(_com_|[.]com/)gpu.*\",$namespace_scope_gpu} * on(namespace,pod) group_left(node) kube_pod_info )) / on(node) group_left() clamp_min(sum by (node) (sum by (namespace,node) (kube_pod_container_resource_requests{resource=~\"nvidia(_com_|[.]com/)gpu.*\",namespace=~\".*\"} * on(namespace,pod) group_left(node) kube_pod_info )), 1) * on(node) group_left() (100 * sum by (node) (increase(jetson_gr3d_active_seconds_total{node!=\"\"}[$__range])) / $__range_s))) > 0), \"gpu_source\", \"jetson\", \"\", \"\")))) or (label_replace(((sum((((max by (node) (nvidia_gpu_device_utilization_percent) or (avg by (node) (label_replace(label_replace(DCGM_FI_DEV_GPU_UTIL, \"pod\", \"$1\", \"Hostname\", \"(.*)\"), \"namespace\", \"monitoring\", \"\", \"\") * on(namespace,pod) group_left(node) kube_pod_info{namespace=\"monitoring\"})) unless on(node) (max by (node) (nvidia_gpu_device_utilization_percent)) or max by (node) (jetson_gr3d_freq_percent{node!=\"\"})) unless on(node) (max by (node,gpu,uuid,model) (last_over_time(nvidia_gpu_device_utilization_percent[5m]))))) unless on(node) (((sum by (node) (sum by (namespace,node) (kube_pod_container_resource_requests{resource=~\"nvidia(_com_|[.]com/)gpu.*\",namespace=~\".*\"} * on(namespace,pod) group_left(node) kube_pod_info )) > 0)) and on(node) (100 * sum by (node) (increase(jetson_gr3d_active_seconds_total{node!=\"\"}[$__range])) / $__range_s))) or on() vector(0)) > 0), \"namespace\", \"unattributed\", \"\", \"\"))) or on() vector(0)), 1)) or (label_replace(vector(100), \"namespace\", \"idle\", \"\", \"\") and on() ((sum((sum by (namespace) ((label_replace(((sum by (namespace) (avg_over_time(nvidia_namespace_gpu_sm_util_percent{namespace!=\"\",pod!=\"\",$namespace_scope_gpu}[$__range]))) > 0), \"gpu_source\", \"nvidia\", \"\", \"\")) or (label_replace(((sum by (namespace) ((sum by (namespace,node) (kube_pod_container_resource_requests{resource=~\"nvidia(_com_|[.]com/)gpu.*\",$namespace_scope_gpu} * on(namespace,pod) group_left(node) kube_pod_info )) / on(node) group_left() clamp_min(sum by (node) (sum by (namespace,node) (kube_pod_container_resource_requests{resource=~\"nvidia(_com_|[.]com/)gpu.*\",namespace=~\".*\"} * on(namespace,pod) group_left(node) kube_pod_info )), 1) * on(node) group_left() (100 * sum by (node) (increase(jetson_gr3d_active_seconds_total{node!=\"\"}[$__range])) / $__range_s))) > 0), \"gpu_source\", \"jetson\", \"\", \"\")))) or (label_replace(((sum((((max by (node) (nvidia_gpu_device_utilization_percent) or (avg by (node) (label_replace(label_replace(DCGM_FI_DEV_GPU_UTIL, \"pod\", \"$1\", \"Hostname\", \"(.*)\"), \"namespace\", \"monitoring\", \"\", \"\") * on(namespace,pod) group_left(node) kube_pod_info{namespace=\"monitoring\"})) unless on(node) (max by (node) (nvidia_gpu_device_utilization_percent)) or max by (node) (jetson_gr3d_freq_percent{node!=\"\"})) unless on(node) (max by (node,gpu,uuid,model) (last_over_time(nvidia_gpu_device_utilization_percent[5m]))))) unless on(node) (((sum by (node) (sum by (namespace,node) (kube_pod_container_resource_requests{resource=~\"nvidia(_com_|[.]com/)gpu.*\",namespace=~\".*\"} * on(namespace,pod) group_left(node) kube_pod_info )) > 0)) and on(node) (100 * sum by (node) (increase(jetson_gr3d_active_seconds_total{node!=\"\"}[$__range])) / $__range_s))) or on() vector(0)) > 0), \"namespace\", \"unattributed\", \"\", \"\"))) or on() vector(0)) == 0))"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Namespace RAM Share",
"panel_id": 13,
"panel_type": "piechart",
"description": "Shares are normalized within the selected filter. Switching scope changes the denominator.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"100 * ( sum(container_memory_working_set_bytes{namespace!=\"\",pod!=\"\",container!=\"\",container!=\"POD\",$namespace_scope_ram}) by (namespace) ) / clamp_min(sum( sum(container_memory_working_set_bytes{namespace!=\"\",pod!=\"\",container!=\"\",container!=\"POD\",$namespace_scope_ram}) by (namespace) ), 1)"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Worker Node CPU",
"panel_id": 14,
"panel_type": "timeseries",
"description": "Worker CPU over time; lower is calmer, sustained high load may need rescheduling.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(avg by (node) ((clamp_max(clamp_min((1 - avg by (instance) (rate(node_cpu_seconds_total{mode=\"idle\"}[5m]))) * 100, 0), 100)) * on(instance) group_left(node) label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh|titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))) * on(node) group_left() label_replace(node_uname_info{nodename=~\"titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"}, \"node\", \"$1\", \"nodename\", \"(.*)\")"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Worker Node RAM",
"panel_id": 15,
"panel_type": "timeseries",
"description": "Worker memory over time; lower is safer, sustained high use risks evictions.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(avg by (node) ((avg by (instance) ((node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes * 100)) * on(instance) group_left(node) label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh|titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))) * on(node) group_left() label_replace(node_uname_info{nodename=~\"titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"}, \"node\", \"$1\", \"nodename\", \"(.*)\")"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Control plane CPU",
"panel_id": 16,
"panel_type": "timeseries",
"description": "Control-plane CPU over time; low steady usage means Kubernetes has control headroom.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(avg by (node) ((clamp_max(clamp_min((1 - avg by (instance) (rate(node_cpu_seconds_total{mode=\"idle\"}[5m]))) * 100, 0), 100)) * on(instance) group_left(node) label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh|titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))) * on(node) group_left() label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh\"}, \"node\", \"$1\", \"nodename\", \"(.*)\")"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Control plane RAM",
"panel_id": 17,
"panel_type": "timeseries",
"description": "Control-plane memory over time; low steady usage means Kubernetes has control headroom.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(avg by (node) ((avg by (instance) ((node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes * 100)) * on(instance) group_left(node) label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh|titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))) * on(node) group_left() label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh\"}, \"node\", \"$1\", \"nodename\", \"(.*)\")"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Node Pod Share",
"panel_id": 28,
"panel_type": "piechart",
"description": "Share of pods per node; uneven share can reveal overloaded workers.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(sum(kube_pod_info{pod!=\"\" , node!=\"\"}) by (node) / clamp_min(sum(kube_pod_info{pod!=\"\" , node!=\"\"}), 1)) * 100"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Top Nodes by Pod Count",
"panel_id": 29,
"panel_type": "bargauge",
"description": "Nodes with the most pods; lower and balanced is easier to operate.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sort_desc(topk(12, sum(kube_pod_info{pod!=\"\" , node!=\"\"}) by (node)))"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Cluster Ingress Throughput",
"panel_id": 18,
"panel_type": "timeseries",
"description": "Traffic entering the cluster; spikes should line up with expected usage.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(rate(node_network_receive_bytes_total{device!~\"lo|cni.*|veth.*|flannel.*|docker.*|virbr.*|vxlan.*|wg.*\"}[5m])) or on() vector(0)"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Cluster Egress Throughput",
"panel_id": 19,
"panel_type": "timeseries",
"description": "Traffic leaving the cluster; spikes should line up with expected usage.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(rate(node_network_transmit_bytes_total{device!~\"lo|cni.*|veth.*|flannel.*|docker.*|virbr.*|vxlan.*|wg.*\"}[5m])) or on() vector(0)"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Intra-Cluster Throughput",
"panel_id": 20,
"panel_type": "timeseries",
"description": "Traffic inside the cluster; high values can expose chatty services.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(rate(container_network_receive_bytes_total{namespace!=\"traefik\",pod!=\"\"}[5m]) + rate(container_network_transmit_bytes_total{namespace!=\"traefik\",pod!=\"\"}[5m])) or on() vector(0)"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Root Filesystem Usage",
"panel_id": 21,
"panel_type": "timeseries",
"description": "Node root disk usage; lower is safer, high values can break kubelet.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"avg by (node) ((avg by (instance) ((1 - (node_filesystem_avail_bytes{mountpoint=\"/\",fstype!~\"tmpfs|overlay\"} / node_filesystem_size_bytes{mountpoint=\"/\",fstype!~\"tmpfs|overlay\"})) * 100)) * on(instance) group_left(node) label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh|titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))"
]
},
{
"dashboard": "Atlas Overview",
"panel_title": "Nodes Closest to Full Astraios Disks",
"panel_id": 22,
"panel_type": "timeseries",
"description": "Astraios disk fullness by node; lower is safer for storage reliability.",
"tags": [
"atlas",
"overview"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"avg by (node) ((avg by (instance) ((1 - (node_filesystem_avail_bytes{mountpoint=\"/mnt/astraios\",fstype!~\"tmpfs|overlay\"} / node_filesystem_size_bytes{mountpoint=\"/mnt/astraios\",fstype!~\"tmpfs|overlay\"})) * 100)) * on(instance) group_left(node) label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh|titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))"
]
},
{
"dashboard": "Atlas Pods",
"panel_title": "Problem Pods",
"panel_id": 1,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"pods"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"((sum(max by(namespace,pod) ((kube_pod_status_phase{phase=\"Pending\",namespace!~\"veles\"} == 1) and on(namespace,pod) ((time() - kube_pod_created{namespace!~\"veles\"}) > 900))) or on() vector(0)) + (sum(max by(namespace,pod) ((kube_pod_status_phase{phase=~\"Failed|Unknown\",namespace!~\"veles\"} == 1) unless on(namespace,pod) kube_pod_owner{owner_kind=\"Job\"})) or on() vector(0)))"
]
},
{
"dashboard": "Atlas Pods",
"panel_title": "CrashLoop / ImagePull",
"panel_id": 2,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"pods"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(max by(namespace,pod) (kube_pod_container_status_waiting_reason{namespace!~\"veles\",reason=~\"CrashLoopBackOff|ImagePullBackOff\"} and on(namespace,pod) ((time() - kube_pod_created{namespace!~\"veles\"}) > 900))) or on() vector(0)"
]
},
{
"dashboard": "Atlas Pods",
"panel_title": "Stuck Terminating (>10m)",
"panel_id": 3,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"pods"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(max by (namespace,pod) (((time() - kube_pod_deletion_timestamp{pod!=\"\"}) > bool 600) and on(namespace,pod) (kube_pod_deletion_timestamp{pod!=\"\"} > bool 0))) or on() vector(0)"
]
},
{
"dashboard": "Atlas Pods",
"panel_title": "Control Plane Workloads",
"panel_id": 4,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"pods"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(kube_pod_info{node=~\"titan-0a|titan-0b|titan-0c\",namespace!~\"^(kube-.*|.*-system|traefik|monitoring|logging|cert-manager|maintenance|postgres)$\"})"
]
},
{
"dashboard": "Atlas Pods",
"panel_title": "Pods Not Running",
"panel_id": 5,
"panel_type": "table",
"description": "",
"tags": [
"atlas",
"pods"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(time() - kube_pod_created{pod!=\"\"}) * on(namespace,pod) group_left(node) kube_pod_info * on(namespace,pod) group_left(phase) max by (namespace,pod,phase) (kube_pod_status_phase{phase!~\"Running|Succeeded\"})"
]
},
{
"dashboard": "Atlas Pods",
"panel_title": "CrashLoop / ImagePull",
"panel_id": 6,
"panel_type": "table",
"description": "",
"tags": [
"atlas",
"pods"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(time() - kube_pod_created{pod!=\"\"}) * on(namespace,pod) group_left(node) kube_pod_info * on(namespace,pod,container) group_left(reason) max by (namespace,pod,container,reason) (kube_pod_container_status_waiting_reason{reason=~\"CrashLoopBackOff|ImagePullBackOff\"})"
]
},
{
"dashboard": "Atlas Pods",
"panel_title": "Terminating >10m",
"panel_id": 7,
"panel_type": "table",
"description": "",
"tags": [
"atlas",
"pods"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(((time() - kube_pod_deletion_timestamp{pod!=\"\"}) and on(namespace,pod) (kube_pod_deletion_timestamp{pod!=\"\"} > bool 0)) * on(namespace,pod) group_left(node) kube_pod_info)"
]
},
{
"dashboard": "Atlas Pods",
"panel_title": "Node Pod Share",
"panel_id": 8,
"panel_type": "piechart",
"description": "",
"tags": [
"atlas",
"pods"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(sum(kube_pod_info{pod!=\"\" , node!=\"\"}) by (node) / clamp_min(sum(kube_pod_info{pod!=\"\" , node!=\"\"}), 1)) * 100"
]
},
{
"dashboard": "Atlas Pods",
"panel_title": "Top Nodes by Pod Count",
"panel_id": 9,
"panel_type": "bargauge",
"description": "",
"tags": [
"atlas",
"pods"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sort_desc(topk(12, sum(kube_pod_info{pod!=\"\" , node!=\"\"}) by (node)))"
]
},
{
"dashboard": "Atlas Pods",
"panel_title": "Namespace Plurality by Node v27",
"panel_id": 10,
"panel_type": "table",
"description": "",
"tags": [
"atlas",
"pods"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(sum by (namespace,node) (kube_pod_info{pod!=\"\" , node!=\"\"}) / on(namespace) group_left() clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1) * 100) * on(namespace,node) group_left() ((sum by (namespace,node) (kube_pod_info{pod!=\"\" , node!=\"\"}) / on(namespace) group_left() clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1) * 100) + on(node) group_left() ((sum by (node) (kube_node_info{node=\"titan-0a\"}) * 0 + 0.001) or (sum by (node) (kube_node_info{node=\"titan-0b\"}) * 0 + 0.002) or (sum by (node) (kube_node_info{node=\"titan-0c\"}) * 0 + 0.003) or (sum by (node) (kube_node_info{node=\"titan-db\"}) * 0 + 0.004) or (sum by (node) (kube_node_info{node=\"titan-jh\"}) * 0 + 0.005) or (sum by (node) (kube_node_info{node=\"titan-04\"}) * 0 + 0.006) or (sum by (node) (kube_node_info{node=\"titan-05\"}) * 0 + 0.007) or (sum by (node) (kube_node_info{node=\"titan-06\"}) * 0 + 0.008) or (sum by (node) (kube_node_info{node=\"titan-07\"}) * 0 + 0.009000000000000001) or (sum by (node) (kube_node_info{node=\"titan-08\"}) * 0 + 0.01) or (sum by (node) (kube_node_info{node=\"titan-11\"}) * 0 + 0.011) or (sum by (node) (kube_node_info{node=\"titan-20\"}) * 0 + 0.012) or (sum by (node) (kube_node_info{node=\"titan-21\"}) * 0 + 0.013000000000000001) or (sum by (node) (kube_node_info{node=\"titan-12\"}) * 0 + 0.014) or (sum by (node) (kube_node_info{node=\"titan-13\"}) * 0 + 0.015) or (sum by (node) (kube_node_info{node=\"titan-14\"}) * 0 + 0.016) or (sum by (node) (kube_node_info{node=\"titan-15\"}) * 0 + 0.017) or (sum by (node) (kube_node_info{node=\"titan-17\"}) * 0 + 0.018000000000000002) or (sum by (node) (kube_node_info{node=\"titan-18\"}) * 0 + 0.019) or (sum by (node) (kube_node_info{node=\"titan-19\"}) * 0 + 0.02) or (sum by (node) (kube_node_info{node=\"titan-22\"}) * 0 + 0.021) or (sum by (node) (kube_node_info{node=\"titan-23\"}) * 0 + 0.022) or (sum by (node) (kube_node_info{node=\"titan-24\"}) * 0 + 0.023)) == bool on(namespace) group_left() (max by (namespace) ((sum by (namespace,node) (kube_pod_info{pod!=\"\" , node!=\"\"}) / on(namespace) group_left() clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1) * 100) + on(node) group_left() ((sum by (node) (kube_node_info{node=\"titan-0a\"}) * 0 + 0.001) or (sum by (node) (kube_node_info{node=\"titan-0b\"}) * 0 + 0.002) or (sum by (node) (kube_node_info{node=\"titan-0c\"}) * 0 + 0.003) or (sum by (node) (kube_node_info{node=\"titan-db\"}) * 0 + 0.004) or (sum by (node) (kube_node_info{node=\"titan-jh\"}) * 0 + 0.005) or (sum by (node) (kube_node_info{node=\"titan-04\"}) * 0 + 0.006) or (sum by (node) (kube_node_info{node=\"titan-05\"}) * 0 + 0.007) or (sum by (node) (kube_node_info{node=\"titan-06\"}) * 0 + 0.008) or (sum by (node) (kube_node_info{node=\"titan-07\"}) * 0 + 0.009000000000000001) or (sum by (node) (kube_node_info{node=\"titan-08\"}) * 0 + 0.01) or (sum by (node) (kube_node_info{node=\"titan-11\"}) * 0 + 0.011) or (sum by (node) (kube_node_info{node=\"titan-20\"}) * 0 + 0.012) or (sum by (node) (kube_node_info{node=\"titan-21\"}) * 0 + 0.013000000000000001) or (sum by (node) (kube_node_info{node=\"titan-12\"}) * 0 + 0.014) or (sum by (node) (kube_node_info{node=\"titan-13\"}) * 0 + 0.015) or (sum by (node) (kube_node_info{node=\"titan-14\"}) * 0 + 0.016) or (sum by (node) (kube_node_info{node=\"titan-15\"}) * 0 + 0.017) or (sum by (node) (kube_node_info{node=\"titan-17\"}) * 0 + 0.018000000000000002) or (sum by (node) (kube_node_info{node=\"titan-18\"}) * 0 + 0.019) or (sum by (node) (kube_node_info{node=\"titan-19\"}) * 0 + 0.02) or (sum by (node) (kube_node_info{node=\"titan-22\"}) * 0 + 0.021) or (sum by (node) (kube_node_info{node=\"titan-23\"}) * 0 + 0.022) or (sum by (node) (kube_node_info{node=\"titan-24\"}) * 0 + 0.023)))))"
]
},
{
"dashboard": "Atlas Power",
"panel_title": "UPS Current Load",
"panel_id": 1,
"panel_type": "stat",
"description": "Per-UPS live snapshot: current draw in watts, estimated battery runtime if discharge started now, and charging/discharging status.",
"tags": [
"atlas",
"power",
"climate"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Pyrphoros\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Pyrphoros\"}) / 100) or on() vector(0)",
"max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0)",
"max(ananke_ups_on_battery{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0)",
"max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Statera\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Statera\"}) / 100) or on() vector(0)",
"max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0)",
"max(ananke_ups_on_battery{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0)"
]
},
{
"dashboard": "Atlas Power",
"panel_title": "UPS History (Power Draw)",
"panel_id": 2,
"panel_type": "timeseries",
"description": "Historical UPS power consumption in watts for titan-db and tethys.",
"tags": [
"atlas",
"power",
"climate"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Pyrphoros\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Pyrphoros\"}) / 100)",
"max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Statera\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Statera\"}) / 100)"
]
},
{
"dashboard": "Atlas Power",
"panel_title": "Current Climate",
"panel_id": 3,
"panel_type": "stat",
"description": "Current tent temperature, humidity, VPD, and dew point. These render once Typhon climate telemetry is online.",
"tags": [
"atlas",
"power",
"climate"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max(max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_temperature_celsius != 0)) or on() vector(0)",
"max(max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_vpd_kpa != 0)) or on() vector(0)",
"max(max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_relative_humidity_percent != 0)) or on() vector(0)",
"max((243.12 * (ln(clamp_min((max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_relative_humidity_percent != 0)), 1) / 100) + (17.62 * (max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_temperature_celsius != 0))) / (243.12 + (max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_temperature_celsius != 0))))) / (17.62 - (ln(clamp_min((max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_relative_humidity_percent != 0)), 1) / 100) + (17.62 * (max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_temperature_celsius != 0))) / (243.12 + (max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_temperature_celsius != 0)))))) or on() vector(0)"
]
},
{
"dashboard": "Atlas Power",
"panel_title": "Climate History",
"panel_id": 4,
"panel_type": "timeseries",
"description": "Two-axis chart: tent temperature/humidity/dew point (left axis) and tent VPD in kPa (right axis).",
"tags": [
"atlas",
"power",
"climate"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_temperature_celsius != 0)",
"max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_relative_humidity_percent != 0)",
"max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_vpd_kpa != 0)",
"(243.12 * (ln(clamp_min((max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_relative_humidity_percent != 0)), 1) / 100) + (17.62 * (max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_temperature_celsius != 0))) / (243.12 + (max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_temperature_celsius != 0))))) / (17.62 - (ln(clamp_min((max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_relative_humidity_percent != 0)), 1) / 100) + (17.62 * (max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_temperature_celsius != 0))) / (243.12 + (max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_temperature_celsius != 0)))))"
]
},
{
"dashboard": "Atlas Power",
"panel_title": "Fan Activity",
"panel_id": 5,
"panel_type": "stat",
"description": "Current fan activity levels (0-10): inside outlet, inside inlet, outside inlet, and interior fans.",
"tags": [
"atlas",
"power",
"climate"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"round(max(typhon_fan_speed_level{fan_group=\"outlet\"}) or on() vector(0))",
"round(max(typhon_fan_speed_level{fan_group=\"inside_inlet\"}) or on() vector(0))",
"round(max(typhon_fan_speed_level{fan_group=\"outside_inlet\"}) or on() vector(0))",
"round(max(typhon_fan_speed_level{fan_group=\"interior\"}) or on() vector(0))"
]
},
{
"dashboard": "Atlas Power",
"panel_title": "Fan Intensity History",
"panel_id": 6,
"panel_type": "timeseries",
"description": "Historical fan activity for all four fan groups (0-10 scale).",
"tags": [
"atlas",
"power",
"climate"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_fan_speed_level{fan_group=\"outlet\"})",
"max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_fan_speed_level{fan_group=\"inside_inlet\"})",
"max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_fan_speed_level{fan_group=\"outside_inlet\"})",
"max without (job,instance,pod,service,endpoint,namespace,node,controller_name,controller_id,port_name,fan_group) (typhon_fan_speed_level{fan_group=\"interior\"})"
]
},
{
"dashboard": "Atlas Storage",
"panel_title": "Astreae Usage",
"panel_id": 1,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"storage"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"100 - (sum(node_filesystem_avail_bytes{mountpoint=\"/mnt/astreae\",fstype!~\"tmpfs|overlay\"}) / sum(node_filesystem_size_bytes{mountpoint=\"/mnt/astreae\",fstype!~\"tmpfs|overlay\"}) * 100)"
]
},
{
"dashboard": "Atlas Storage",
"panel_title": "Asteria Usage",
"panel_id": 2,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"storage"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"100 - (sum(node_filesystem_avail_bytes{mountpoint=\"/mnt/asteria\",fstype!~\"tmpfs|overlay\"}) / sum(node_filesystem_size_bytes{mountpoint=\"/mnt/asteria\",fstype!~\"tmpfs|overlay\"}) * 100)"
]
},
{
"dashboard": "Atlas Storage",
"panel_title": "Astreae Free",
"panel_id": 3,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"storage"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(node_filesystem_avail_bytes{mountpoint=\"/mnt/astreae\",fstype!~\"tmpfs|overlay\"})"
]
},
{
"dashboard": "Atlas Storage",
"panel_title": "Asteria Free",
"panel_id": 4,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"storage"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(node_filesystem_avail_bytes{mountpoint=\"/mnt/asteria\",fstype!~\"tmpfs|overlay\"})"
]
},
{
"dashboard": "Atlas Storage",
"panel_title": "Astreae Per-Node Usage",
"panel_id": 5,
"panel_type": "timeseries",
"description": "",
"tags": [
"atlas",
"storage"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(avg by (node) ((avg by (instance) ((1 - (node_filesystem_avail_bytes{mountpoint=\"/mnt/astreae\",fstype!~\"tmpfs|overlay\"} / node_filesystem_size_bytes{mountpoint=\"/mnt/astreae\",fstype!~\"tmpfs|overlay\"})) * 100)) * on(instance) group_left(node) label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh|titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))) * on(node) group_left() label_replace(node_uname_info{nodename=~\"titan-1[2-9]|titan-2[2-4]\"}, \"node\", \"$1\", \"nodename\", \"(.*)\")"
]
},
{
"dashboard": "Atlas Storage",
"panel_title": "Asteria Per-Node Usage",
"panel_id": 6,
"panel_type": "timeseries",
"description": "",
"tags": [
"atlas",
"storage"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(avg by (node) ((avg by (instance) ((1 - (node_filesystem_avail_bytes{mountpoint=\"/mnt/asteria\",fstype!~\"tmpfs|overlay\"} / node_filesystem_size_bytes{mountpoint=\"/mnt/asteria\",fstype!~\"tmpfs|overlay\"})) * 100)) * on(instance) group_left(node) label_replace(node_uname_info{nodename=~\"titan-0a|titan-0b|titan-0c|titan-db|titan-jh|titan-04|titan-05|titan-06|titan-07|titan-08|titan-11|titan-20|titan-21|titan-12|titan-13|titan-14|titan-15|titan-17|titan-18|titan-19|titan-22|titan-23|titan-24\"}, \"node\", \"$1\", \"nodename\", \"(.*)\"))) * on(node) group_left() label_replace(node_uname_info{nodename=~\"titan-1[2-9]|titan-2[2-4]\"}, \"node\", \"$1\", \"nodename\", \"(.*)\")"
]
},
{
"dashboard": "Atlas Storage",
"panel_title": "Astreae Usage History",
"panel_id": 7,
"panel_type": "timeseries",
"description": "",
"tags": [
"atlas",
"storage"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"100 - (sum(node_filesystem_avail_bytes{mountpoint=\"/mnt/astreae\",fstype!~\"tmpfs|overlay\"}) / sum(node_filesystem_size_bytes{mountpoint=\"/mnt/astreae\",fstype!~\"tmpfs|overlay\"}) * 100)"
]
},
{
"dashboard": "Atlas Storage",
"panel_title": "Asteria Usage History",
"panel_id": 8,
"panel_type": "timeseries",
"description": "",
"tags": [
"atlas",
"storage"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"100 - (sum(node_filesystem_avail_bytes{mountpoint=\"/mnt/asteria\",fstype!~\"tmpfs|overlay\"}) / sum(node_filesystem_size_bytes{mountpoint=\"/mnt/asteria\",fstype!~\"tmpfs|overlay\"}) * 100)"
]
},
{
"dashboard": "Atlas Storage",
"panel_title": "Maintenance Sweepers Ready",
"panel_id": 30,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"storage"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"kube_daemonset_status_number_ready{namespace=\"maintenance\",daemonset=\"node-image-sweeper\"} / on(namespace,daemonset) kube_daemonset_status_desired_number_scheduled{namespace=\"maintenance\",daemonset=\"node-image-sweeper\"} * 100"
]
},
{
"dashboard": "Atlas Storage",
"panel_title": "Maintenance Cron Freshness (s)",
"panel_id": 31,
"panel_type": "stat",
"description": "",
"tags": [
"atlas",
"storage"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"time() - max by (cronjob) (kube_cronjob_status_last_successful_time{namespace=\"maintenance\",cronjob=\"image-sweeper\"})"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Current Gate Health (%)",
"panel_id": 156,
"panel_type": "stat",
"description": "Average latest required gate checks passing across selected suites; this is the current quality state.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(avg((min by (suite) (((100 * (sum by (suite) (((clamp_max(max by (suite, check) ((((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|coverage|loc|style|docs_naming|gate_glue|sonarqube\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or (sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",suite=~\"ariadne|atlasbot|bstein_home|data_prepper\",branch!=\"\",branch=~\"${branch:regex}\",check=\"supply_chain\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"})))) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|coverage|loc|style|docs_naming|gate_glue|sonarqube\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or (sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",suite=~\"ariadne|atlasbot|bstein_home|data_prepper\",branch!=\"\",branch=~\"${branch:regex}\",check=\"supply_chain\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})))) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|coverage|loc|style|docs_naming|gate_glue|sonarqube\",status!=\"\"})) or (sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",suite=~\"ariadne|atlasbot|bstein_home|data_prepper\",branch!=\"\",branch=~\"${branch:regex}\",check=\"supply_chain\",status!=\"\"})))) > 0), 1))), 1))) or (min by (suite) (platform_quality:test_category_health_rate:percent_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",category=~\"api|chaos|compatibility|component|contract|e2e|integration|manual|performance|regression|reliability|security|smoke|system|ui|unit\"}))))) or on() vector(0))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "CI Run Success Rate (24h)",
"panel_id": 2,
"panel_type": "stat",
"description": "Percent of selected quality-gate CI runs that completed successfully in 24h; this is run health, not individual test pass rate.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"100 * ((sum(platform_quality:suite_runs:increase_24h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",status=~\"ok|passed|success\"}) or on() vector(0))) / clamp_min(((sum(platform_quality:suite_runs:increase_24h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\"}) or on() vector(0))), 1)"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "CI Run Success Rate (7d)",
"panel_id": 3,
"panel_type": "stat",
"description": "Percent of selected quality-gate CI runs that completed successfully in 7d; higher means more stable automation.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"100 * ((sum(increase((max without(instance, job) (platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}))[7d:1h])) or on() vector(0))) / clamp_min(((sum(increase((max without(instance, job) (platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}))[7d:1h])) or on() vector(0))), 1)"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Failed Runs (24h)",
"panel_id": 4,
"panel_type": "stat",
"description": "Selected quality-gate runs that failed in 24h; zero is good and anything else needs a look.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(sum(platform_quality:suite_runs:increase_24h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",status!~\"ok|passed|success\"}) or on() vector(0))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "CI Runs (24h)",
"panel_id": 5,
"panel_type": "stat",
"description": "Selected quality-gate CI run count in 24h; zero means the dashboard may be stale.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(sum(platform_quality:suite_runs:increase_24h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\"}) or on() vector(0))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Suite Freshness (24h)",
"panel_id": 157,
"panel_type": "stat",
"description": "Percent of selected suites with at least one quality-gate CI run in 24h; 100% means inputs are fresh.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"100 * (sum((sum by (suite) (platform_quality:suite_runs:increase_24h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\"})) > bool 0) or on() vector(0)) / clamp_min(count(((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0))), 1)"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Avg Coverage (%)",
"panel_id": 6,
"panel_type": "stat",
"description": "Average latest line coverage for selected suites; higher means better test protection.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(avg((max by (suite) (platform_quality:suite_coverage_percent:latest_1h{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\"}))) or on() vector(0))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Suites with LOC >500",
"panel_id": 7,
"panel_type": "stat",
"description": "Selected suites with oversized source files; zero is good for maintainability.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(sum(((max by (suite) (platform_quality:suite_source_lines_over_500_total:latest_1h{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\"})) > bool 0)) or on() vector(0))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Latest Gate Health by Suite",
"panel_id": 8,
"panel_type": "bargauge",
"description": "Current health by suite from required gate checks, capped by category-level test health. Skipped and not-applicable results are healthy; failures and errors lower the value.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sort(((min by (suite) (((100 * (sum by (suite) (((clamp_max(max by (suite, check) ((((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|coverage|loc|style|docs_naming|gate_glue|sonarqube\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or (sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",suite=~\"ariadne|atlasbot|bstein_home|data_prepper\",branch!=\"\",branch=~\"${branch:regex}\",check=\"supply_chain\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"})))) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|coverage|loc|style|docs_naming|gate_glue|sonarqube\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or (sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",suite=~\"ariadne|atlasbot|bstein_home|data_prepper\",branch!=\"\",branch=~\"${branch:regex}\",check=\"supply_chain\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})))) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|coverage|loc|style|docs_naming|gate_glue|sonarqube\",status!=\"\"})) or (sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",suite=~\"ariadne|atlasbot|bstein_home|data_prepper\",branch!=\"\",branch=~\"${branch:regex}\",check=\"supply_chain\",status!=\"\"})))) > 0), 1))), 1))) or (min by (suite) (platform_quality:test_category_health_rate:percent_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",category=~\"api|chaos|compatibility|component|contract|e2e|integration|manual|performance|regression|reliability|security|smoke|system|ui|unit\"})))) or on(suite) ((((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0)))) - 1))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "CI Run Success by Suite (24h)",
"panel_id": 9,
"panel_type": "bargauge",
"description": "24h CI run success rate. This is whether automation finished cleanly, so it can stay low after failed or aborted runs even when tests and latest gate checks are green.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sort(((100 * (sum by (suite) (platform_quality:suite_runs:increase_24h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",status=~\"ok|passed|success\"})) / clamp_min((sum by (suite) (platform_quality:suite_runs:increase_24h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\"})), 1)) and on(suite) ((sum by (suite) (platform_quality:suite_runs:increase_24h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\"})) > 0)) or on(suite) ((((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0)))) - 1)))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Coverage by Suite (Latest, gate 95)",
"panel_id": 17,
"panel_type": "bargauge",
"description": "Latest suite coverage; 95%+ is acceptable and 100% is strongest.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sort((max by (suite) (platform_quality:suite_coverage_percent:latest_1h{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\"})) or on(suite) ((((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0)))) - 1)))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Files <=500 LOC by Suite (Latest)",
"panel_id": 18,
"panel_type": "bargauge",
"description": "Percent of managed LOC-gated files at or under 500 lines. Older suite payloads fall back to 100%/0% until they emit platform_quality_gate_source_files_total.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sort(((100 * clamp_min((max by (suite) (platform_quality:suite_source_files_total:latest_1h{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\"})) - (max by (suite) (platform_quality:suite_source_lines_over_500_total:latest_1h{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\"})), 0) / (max by (suite) (platform_quality:suite_source_files_total:latest_1h{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\"}))) and on(suite) ((max by (suite) (platform_quality:suite_source_files_total:latest_1h{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\"})) > 0)) or on(suite) (100 * (1 - clamp_max((max by (suite) (platform_quality:suite_source_lines_over_500_total:latest_1h{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\"})), 1))) or on(suite) ((((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0)))) - 1)))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "CI Run Success by Suite (7d rolling)",
"panel_id": 11,
"panel_type": "state-timeline",
"description": "Seven-day rolling CI run success rate per suite. Each suite gets its own lane, so failed or aborted runs lower the lane color without implying raw test failures.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(100 * sum by (suite) (increase((max without(instance, job) (platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}))[7d:1h])) / (sum by (suite) (increase((max without(instance, job) (platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}))[7d:1h])))) and on(suite) ((sum by (suite) (increase((max without(instance, job) (platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}))[7d:1h]))) > 0)"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Test Category Health History",
"panel_id": 153,
"panel_type": "state-timeline",
"description": "Health by test category from memoized hourly rollups. Use the Suite filter to focus one project; skipped tests are healthy, while failures and errors lower the lane.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"avg by (category) (platform_quality:test_category_health_rate:percent_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",category=~\"api|chaos|compatibility|component|contract|e2e|integration|manual|performance|regression|reliability|security|smoke|system|ui|unit\"})"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Daily Run Volume (Selected Scope)",
"panel_id": 12,
"panel_type": "timeseries",
"description": "Twenty-four-hour rolling quality-gate run counts for the selected suite/branch scope. This is volume, not a pass-rate percentage.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(platform_quality:suite_runs:increase_24h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",status=~\"ok|passed|success\"}) or on() vector(0)",
"sum(platform_quality:suite_runs:increase_24h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",status!~\"ok|passed|success\"}) or on() vector(0)"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Coverage History by Suite",
"panel_id": 13,
"panel_type": "state-timeline",
"description": "Latest reported line coverage per suite over time. Coverage is separate from LOC compliance so one signal cannot hide the other.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"max by (suite) (platform_quality:suite_coverage_percent:latest_1h{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\"})"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Files <=500 LOC History by Suite",
"panel_id": 14,
"panel_type": "state-timeline",
"description": "Percent of LOC-gated source files at or under the 500-line limit. This uses the existing file-count telemetry; longest-file history needs a new publisher metric.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(100 * clamp_min((max by (suite) (platform_quality:suite_source_files_total:latest_1h{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\"})) - (max by (suite) (platform_quality:suite_source_lines_over_500_total:latest_1h{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\"})), 0) / (max by (suite) (platform_quality:suite_source_files_total:latest_1h{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\"}))) and on(suite) ((max by (suite) (platform_quality:suite_source_files_total:latest_1h{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\"})) > 0) or on(suite) (100 * (1 - clamp_max((max by (suite) (platform_quality:suite_source_lines_over_500_total:latest_1h{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\"})), 1)))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Tests Failure Rate",
"panel_id": 130,
"panel_type": "state-timeline",
"description": "Latest bad-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(((100 * (sum by (suite) (platform_quality:check_failed_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\"})) / clamp_min((sum by (suite) (platform_quality:check_seen_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\"})), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0)))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Coverage Failure Rate",
"panel_id": 131,
"panel_type": "state-timeline",
"description": "Latest bad-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(((100 * (sum by (suite) (platform_quality:check_failed_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\"})) / clamp_min((sum by (suite) (platform_quality:check_seen_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\"})), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0)))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "LOC Failure Rate",
"panel_id": 132,
"panel_type": "state-timeline",
"description": "Latest bad-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(((100 * (sum by (suite) (platform_quality:check_failed_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\"})) / clamp_min((sum by (suite) (platform_quality:check_seen_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\"})), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0)))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Style Failure Rate",
"panel_id": 133,
"panel_type": "state-timeline",
"description": "Latest bad-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(((100 * (sum by (suite) (platform_quality:check_failed_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\"})) / clamp_min((sum by (suite) (platform_quality:check_seen_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\"})), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0)))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Gate Glue Failure Rate",
"panel_id": 134,
"panel_type": "state-timeline",
"description": "Latest bad-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(((100 * (sum by (suite) (platform_quality:check_failed_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\"})) / clamp_min((sum by (suite) (platform_quality:check_seen_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\"})), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0)))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "SonarQube Failure Rate",
"panel_id": 135,
"panel_type": "state-timeline",
"description": "Latest bad-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(((100 * (sum by (suite) (platform_quality:check_failed_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\"})) / clamp_min((sum by (suite) (platform_quality:check_seen_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\"})), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0)))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Supply Chain Failure Rate",
"panel_id": 136,
"panel_type": "state-timeline",
"description": "Latest bad-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(((100 * (sum by (suite) (platform_quality:check_failed_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\"})) / clamp_min((sum by (suite) (platform_quality:check_seen_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\"})), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0)))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Tests Healthy Rate",
"panel_id": 138,
"panel_type": "state-timeline",
"description": "Latest acceptable-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(((100 * (sum by (suite) (platform_quality:check_healthy_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\"})) / clamp_min((sum by (suite) (platform_quality:check_seen_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\"})), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0)))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Coverage Healthy Rate",
"panel_id": 139,
"panel_type": "state-timeline",
"description": "Latest acceptable-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(((100 * (sum by (suite) (platform_quality:check_healthy_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\"})) / clamp_min((sum by (suite) (platform_quality:check_seen_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\"})), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0)))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "LOC Healthy Rate",
"panel_id": 140,
"panel_type": "state-timeline",
"description": "Latest acceptable-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(((100 * (sum by (suite) (platform_quality:check_healthy_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\"})) / clamp_min((sum by (suite) (platform_quality:check_seen_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\"})), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0)))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Style Healthy Rate",
"panel_id": 141,
"panel_type": "state-timeline",
"description": "Latest acceptable-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(((100 * (sum by (suite) (platform_quality:check_healthy_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\"})) / clamp_min((sum by (suite) (platform_quality:check_seen_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\"})), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0)))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Gate Glue Healthy Rate",
"panel_id": 142,
"panel_type": "state-timeline",
"description": "Latest acceptable-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(((100 * (sum by (suite) (platform_quality:check_healthy_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\"})) / clamp_min((sum by (suite) (platform_quality:check_seen_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\"})), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0)))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "SonarQube Healthy Rate",
"panel_id": 143,
"panel_type": "state-timeline",
"description": "Latest acceptable-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(((100 * (sum by (suite) (platform_quality:check_healthy_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\"})) / clamp_min((sum by (suite) (platform_quality:check_seen_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\"})), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0)))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Supply Chain Healthy Rate",
"panel_id": 144,
"panel_type": "state-timeline",
"description": "Latest acceptable-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(((100 * (sum by (suite) (platform_quality:check_healthy_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\"})) / clamp_min((sum by (suite) (platform_quality:check_seen_flag:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\"})), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0)))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Problematic Tests Over Time (Top failures)",
"panel_id": 145,
"panel_type": "state-timeline",
"description": "Current outlier tests by rolling 24h failure count. A test needs at least two recent failures to appear, then falls off once it quiets down.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(sum by (suite, test) (sum_over_time(platform_quality:test_case_status:count_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",test!=\"\",test!=\"__no_test_cases__\",status=\"failed\"}[24h:1h]))) and on (suite, test) topk(12, (sum by (suite, test) (sum_over_time(platform_quality:test_case_status:count_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",test!=\"\",test!=\"__no_test_cases__\",status=\"failed\"}[24h:1h] @ end()))) >= 2)"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Most Problematic Test by Suite (7d)",
"panel_id": 147,
"panel_type": "bargauge",
"description": "Worst test per suite summed across 7d. This catches repeat offenders while keeping dashboard loads bounded; current hourly top list is quiet.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sort_desc(topk by (suite) (1, (sum by (suite, test) (sum_over_time(platform_quality:test_case_status:count_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",test!=\"\",test!=\"__no_test_cases__\",status=\"failed\"}[7d:1h])))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Selected Test Pass/Fail History",
"panel_id": 146,
"panel_type": "timeseries",
"description": "Stacked hourly outcome volume for the selected suite/branch/test scope. This uses vmalert rollups only, avoiding expensive raw long-range per-test scans.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(sum(platform_quality:test_case_status:count_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",test!=\"\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",status=\"passed\"}) or on() vector(0))",
"(sum(platform_quality:test_case_status:count_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",test!=\"\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",status=\"failed\"}) or on() vector(0))",
"(sum(platform_quality:test_case_status:count_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",test!=\"\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",status=\"skipped\"}) or on() vector(0))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Selected Test Pass Rate History",
"panel_id": 152,
"panel_type": "state-timeline",
"description": "Average pass rate per suite for the selected test filter, using memoized hourly test-case pass-rate rollups instead of raw historical scans.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"avg by (suite) (platform_quality:test_case_pass_rate:percent_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",test!=\"\",test=~\"${test:regex}\",test!=\"__no_test_cases__\"})"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Tests Metrics Present by Suite",
"panel_id": 27,
"panel_type": "bargauge",
"description": "Whether suite-level test counts are present; 100% means the suite is reporting.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sort((100 * (((label_replace(vector(1), \"suite\", \"ariadne\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"metis\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"ananke\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"atlasbot\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"pegasus\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"soteria\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"titan_iac\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"bstein_home\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"data_prepper\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"lesavka\", \"__name__\", \".*\")) and on(suite) count by (suite) ({__name__=~\".*_quality_gate_tests_total\",exported_job=\"platform-quality-ci\"})))) or on(suite) (0 * (label_replace(vector(1), \"suite\", \"ariadne\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"metis\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"ananke\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"atlasbot\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"pegasus\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"soteria\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"titan_iac\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"bstein_home\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"data_prepper\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"lesavka\", \"__name__\", \".*\"))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Checks Metrics Present by Suite",
"panel_id": 28,
"panel_type": "bargauge",
"description": "Whether gate check metrics are present; 100% means health panels have inputs.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sort((100 * (((label_replace(vector(1), \"suite\", \"ariadne\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"metis\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"ananke\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"atlasbot\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"pegasus\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"soteria\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"titan_iac\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"bstein_home\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"data_prepper\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"lesavka\", \"__name__\", \".*\")) and on(suite) count by (suite) ({__name__=~\".*_quality_gate_checks_total\",exported_job=\"platform-quality-ci\"})))) or on(suite) (0 * (label_replace(vector(1), \"suite\", \"ariadne\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"metis\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"ananke\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"atlasbot\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"pegasus\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"soteria\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"titan_iac\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"bstein_home\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"data_prepper\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"lesavka\", \"__name__\", \".*\"))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Coverage Metrics Present by Suite",
"panel_id": 29,
"panel_type": "bargauge",
"description": "Whether coverage metrics are present; 100% means coverage panels are reliable.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sort((100 * (((label_replace(vector(1), \"suite\", \"ariadne\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"metis\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"ananke\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"atlasbot\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"pegasus\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"soteria\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"titan_iac\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"bstein_home\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"data_prepper\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"lesavka\", \"__name__\", \".*\")) and on(suite) count by (suite) (platform_quality_gate_workspace_line_coverage_percent{exported_job=\"platform-quality-ci\"})))) or on(suite) (0 * (label_replace(vector(1), \"suite\", \"ariadne\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"metis\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"ananke\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"atlasbot\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"pegasus\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"soteria\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"titan_iac\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"bstein_home\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"data_prepper\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"lesavka\", \"__name__\", \".*\"))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "LOC Compliance Metrics Present by Suite",
"panel_id": 30,
"panel_type": "bargauge",
"description": "Whether LOC metrics are present; 100% means size panels are reliable.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sort((100 * (((label_replace(vector(1), \"suite\", \"ariadne\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"metis\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"ananke\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"atlasbot\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"pegasus\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"soteria\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"titan_iac\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"bstein_home\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"data_prepper\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"lesavka\", \"__name__\", \".*\")) and on(suite) count by (suite) (platform_quality_gate_source_lines_over_500_total{exported_job=\"platform-quality-ci\"}) and on(suite) count by (suite) (platform_quality_gate_source_files_total{exported_job=\"platform-quality-ci\"})))) or on(suite) (0 * (label_replace(vector(1), \"suite\", \"ariadne\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"metis\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"ananke\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"atlasbot\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"pegasus\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"soteria\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"titan_iac\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"bstein_home\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"data_prepper\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"lesavka\", \"__name__\", \".*\"))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Test-Case Metrics Present by Suite",
"panel_id": 148,
"panel_type": "bargauge",
"description": "Whether per-test metrics are present; 100% enables drilldowns.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sort((100 * (((label_replace(vector(1), \"suite\", \"ariadne\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"metis\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"ananke\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"atlasbot\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"pegasus\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"soteria\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"titan_iac\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"bstein_home\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"data_prepper\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"lesavka\", \"__name__\", \".*\")) and on(suite) count by (suite) (platform_quality_gate_test_case_result{exported_job=\"platform-quality-ci\"})))) or on(suite) (0 * (label_replace(vector(1), \"suite\", \"ariadne\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"metis\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"ananke\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"atlasbot\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"pegasus\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"soteria\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"titan_iac\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"bstein_home\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"data_prepper\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"lesavka\", \"__name__\", \".*\"))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Real Test Cases Present by Suite",
"panel_id": 151,
"panel_type": "bargauge",
"description": "Whether real test names are present; 100% means not just placeholder telemetry.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sort((100 * (((label_replace(vector(1), \"suite\", \"ariadne\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"metis\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"ananke\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"atlasbot\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"pegasus\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"soteria\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"titan_iac\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"bstein_home\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"data_prepper\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"lesavka\", \"__name__\", \".*\")) and on(suite) count by (suite) (platform_quality_gate_test_case_result{exported_job=\"platform-quality-ci\",test!=\"__no_test_cases__\"})))) or on(suite) (0 * (label_replace(vector(1), \"suite\", \"ariadne\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"metis\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"ananke\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"atlasbot\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"pegasus\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"soteria\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"titan_iac\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"bstein_home\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"data_prepper\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"lesavka\", \"__name__\", \".*\"))))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Primary Branch Clean by Suite (7d)",
"panel_id": 150,
"panel_type": "bargauge",
"description": "Percent clean of non-primary branch evidence; 100% means only main/master is reporting.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sort((100 * (((count by (suite) (max_over_time(platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}[7d:1h]))) > bool 0) unless on(suite) ((count by (suite) (max_over_time(platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\",branch!~\"main|master|origin/main|origin/master|unknown\"}[7d:1h]))) > bool 0))) or on(suite) (0 * ((count by (suite) (max_over_time(platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}[7d:1h]))) > bool 0)))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Recent Branch Evidence by Suite (7d)",
"panel_id": 149,
"panel_type": "bargauge",
"description": "Branches with recent CI evidence; unexpected branches can mean drift or stale work.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sort_desc(count by (suite, branch) (max_over_time(platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}[7d:1h])))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "SonarQube API Up",
"panel_id": 31,
"panel_type": "stat",
"description": "Whether the SonarQube exporter can reach SonarQube; 1 is good.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(max(sonarqube_up) or on() vector(0))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Sonar Projects (Selected)",
"panel_id": 32,
"panel_type": "stat",
"description": "Selected SonarQube project count; zero means Sonar is not tracking that suite.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(count(max by (project_key) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\"})) or on() vector(0))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Sonar Gate Fetch Errors",
"panel_id": 33,
"panel_type": "stat",
"description": "Sonar exporter fetch errors; zero is good because stale Sonar data misleads.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"(max(sonarqube_quality_gate_fetch_errors_total) or on() vector(0))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Sonar Gate Status Mix (Selected)",
"panel_id": 34,
"panel_type": "piechart",
"description": "Mix of Sonar gate states; OK is good and non-OK needs cleanup.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"count by (status) (max by (project_key, status) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\"}))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Sonar Gate Health by Project",
"panel_id": 35,
"panel_type": "state-timeline",
"description": "SonarQube gate status over time by project. OK projects render as full healthy lanes; non-OK projects drop to red without disappearing.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"platform_quality:sonar_gate_health_percent:latest_1h{project_key=~\"${suite:regex}\"}"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Triage Escalations Awaiting a Human",
"panel_id": 600,
"panel_type": "stat",
"description": "Incidents Hermes diagnosed where Ariadne refused to act automatically. Each one has a Gitea issue when its job is mapped, and fires HermesTriageHumanRequired.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(ariadne_hermes_triage_incident{status=\"human_required\"})"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Automated Actions Succeeded (24h)",
"panel_id": 601,
"panel_type": "stat",
"description": "Allowlisted actions Ariadne executed and completed: fixture repair, transient-infra retry, or a pushed patch proposal.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum(increase(ariadne_hermes_triage_action_total{result=\"success\"}[24h]))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Hermes Diagnosis Time (s)",
"panel_id": 602,
"panel_type": "stat",
"description": "Wall-clock time of the most recent Hermes Agent run. This is the pause between a red build and a diagnosis.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"ariadne_hermes_triage_duration_seconds{phase=\"diagnosis\"}"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Triage Actions by Result (1h rate)",
"panel_id": 603,
"panel_type": "timeseries",
"description": "requested/accepted/rejected/success/failed per action id. A rejected action means an authorization gate refused it.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum by (action, result) (increase(ariadne_hermes_triage_action_total[1h]))"
]
},
{
"dashboard": "Atlas Testing",
"panel_title": "Incident State by Job",
"panel_id": 604,
"panel_type": "timeseries",
"description": "Lifecycle of each incident: detected, diagnosed, repairing, awaiting_rebuild, resolved, human_required or failed.",
"tags": [
"atlas",
"testing",
"quality-gate",
"ci"
],
"datasource_uid": "atlas-vm",
"datasource_type": "prometheus",
"exprs": [
"sum by (jenkins_job, status) (ariadne_hermes_triage_incident) > 0"
]
}
]