2025-11-17 14:22:46 -03:00
# services/monitoring/grafana-dashboard-overview.yaml
2025-11-14 00:02:59 -03:00
apiVersion : v1
kind : ConfigMap
metadata :
2025-11-17 14:22:46 -03:00
name : grafana-dashboard-overview
2025-11-14 00:02:59 -03:00
labels :
grafana_dashboard : "1"
data :
2025-11-17 14:22:46 -03:00
atlas-overview.json : |
2025-11-14 00:02:59 -03:00
{
2025-11-17 14:22:46 -03:00
"uid": "atlas-overview" ,
"title": "Atlas Overview" ,
2025-11-14 00:02:59 -03:00
"annotations": {
"list": [
{
"builtIn": 1 ,
"datasource": {
"type": "datasource" ,
"uid": "grafana"
},
"enable": true ,
"hide": true ,
"iconColor": "rgba(0, 211, 255, 1)" ,
"name": "Annotations & Alerts" ,
"type": "dashboard"
}
]
},
"editable": false ,
2025-11-17 14:22:46 -03:00
"folderUid": "atlas-overview" ,
2025-11-14 00:02:59 -03:00
"graphTooltip": 0 ,
2025-11-17 14:22:46 -03:00
"links": [
{
"title": "Pods dashboard" ,
"type": "dashboard" ,
"dashboardUid": "atlas-pods" ,
"keepTime": false
},
{
"title": "Nodes dashboard" ,
"type": "dashboard" ,
"dashboardUid": "atlas-nodes" ,
"keepTime": false
},
{
"title": "Storage dashboard" ,
"type": "dashboard" ,
"dashboardUid": "atlas-storage" ,
"keepTime": false
}
] ,
2025-11-14 00:02:59 -03:00
"panels": [
{
2025-11-15 21:03:11 -03:00
"id": 1 ,
"type": "stat" ,
"title": "Running pods" ,
2025-11-14 00:02:59 -03:00
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
2025-11-15 21:03:11 -03:00
"gridPos": {
2025-11-16 00:55:28 -03:00
"h": 5 ,
"w": 4 ,
2025-11-15 21:03:11 -03:00
"x": 0 ,
"y": 0
},
"targets": [
{
"expr": "sum(kube_pod_status_phase{phase=\"Running\"})" ,
"refId": "A"
}
] ,
2025-11-14 00:02:59 -03:00
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"mappings": [ ] ,
"thresholds": {
"mode": "absolute" ,
"steps": [
{
2025-11-15 21:03:11 -03:00
"color": "rgba(115, 115, 115, 1)" ,
2025-11-14 00:02:59 -03:00
"value": null
2025-11-15 21:03:11 -03:00
},
{
"color": "green" ,
"value": 1
2025-11-14 00:02:59 -03:00
}
]
},
"unit": "none"
},
"overrides": [ ]
},
"options": {
"colorMode": "value" ,
"graphMode": "area" ,
2025-11-15 21:03:11 -03:00
"justifyMode": "center" ,
2025-11-14 00:02:59 -03:00
"reduceOptions": {
"calcs": [
"lastNotNull"
] ,
"fields": "" ,
"values": false
2025-11-16 00:55:28 -03:00
},
"textMode": "value"
2025-11-15 21:03:11 -03:00
}
},
{
"id": 2 ,
"type": "stat" ,
2025-11-16 00:55:28 -03:00
"title": "Ready nodes" ,
2025-11-15 21:03:11 -03:00
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
"gridPos": {
2025-11-16 00:55:28 -03:00
"h": 5 ,
"w": 4 ,
"x": 4 ,
2025-11-15 21:03:11 -03:00
"y": 0
2025-11-14 00:02:59 -03:00
},
"targets": [
{
2025-11-16 00:55:28 -03:00
"expr": "sum(kube_node_status_condition{condition=\"Ready\",status=\"true\"})" ,
2025-11-14 00:02:59 -03:00
"refId": "A"
}
] ,
2025-11-15 21:03:11 -03:00
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"mappings": [ ] ,
"thresholds": {
2025-11-16 00:55:28 -03:00
"mode": "absolute" ,
2025-11-15 21:03:11 -03:00
"steps": [
{
2025-11-16 00:55:28 -03:00
"color": "rgba(115, 115, 115, 1)" ,
2025-11-15 21:03:11 -03:00
"value": null
},
{
2025-11-16 00:55:28 -03:00
"color": "green" ,
"value": 1
}
]
},
"unit": "none"
},
"overrides": [ ]
},
"options": {
"colorMode": "value" ,
"graphMode": "area" ,
"justifyMode": "center" ,
"reduceOptions": {
"calcs": [
"lastNotNull"
] ,
"fields": "" ,
"values": false
},
"textMode": "value"
}
},
{
"id": 3 ,
"type": "stat" ,
2025-11-17 14:22:46 -03:00
"title": "Control plane ready" ,
2025-11-16 00:55:28 -03:00
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
"gridPos": {
"h": 5 ,
"w": 4 ,
"x": 8 ,
"y": 0
},
"targets": [
{
2025-11-17 14:22:46 -03:00
"expr": "sum(kube_node_status_condition{condition=\"Ready\",status=\"true\",node=~\"titan-0a|titan-0b|titan-0c\"})" ,
2025-11-16 00:55:28 -03:00
"refId": "A"
}
] ,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"mappings": [ ] ,
"thresholds": {
"mode": "absolute" ,
"steps": [
{
"color": "rgba(115, 115, 115, 1)" ,
"value": null
2025-11-15 21:03:11 -03:00
},
{
"color": "green" ,
2025-11-16 00:55:28 -03:00
"value": 1
2025-11-15 21:03:11 -03:00
}
]
},
2025-11-16 00:55:28 -03:00
"unit": "none"
2025-11-15 21:03:11 -03:00
},
"overrides": [ ]
},
"options": {
"colorMode": "value" ,
"graphMode": "area" ,
"justifyMode": "center" ,
"reduceOptions": {
"calcs": [
"lastNotNull"
] ,
"fields": "" ,
"values": false
2025-11-16 00:55:28 -03:00
},
"textMode": "value"
2025-11-15 21:03:11 -03:00
}
2025-11-14 00:02:59 -03:00
},
{
2025-11-16 00:55:28 -03:00
"id": 4 ,
2025-11-15 21:03:11 -03:00
"type": "stat" ,
2025-11-17 14:22:46 -03:00
"title": "Control plane schedulable" ,
2025-11-14 00:02:59 -03:00
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
2025-11-15 21:03:11 -03:00
"gridPos": {
2025-11-16 00:55:28 -03:00
"h": 5 ,
"w": 4 ,
2025-11-15 21:03:11 -03:00
"x": 12 ,
"y": 0
},
"targets": [
{
2025-11-17 14:22:46 -03:00
"expr": "sum(kube_node_spec_unschedulable{node=~\"titan-0a|titan-0b|titan-0c\"} == 0)" ,
2025-11-15 21:03:11 -03:00
"refId": "A"
}
] ,
2025-11-14 00:02:59 -03:00
"fieldConfig": {
"defaults": {
"color": {
2025-11-15 21:03:11 -03:00
"mode": "palette-classic"
2025-11-14 00:02:59 -03:00
},
"mappings": [ ] ,
"thresholds": {
2025-11-17 14:22:46 -03:00
"mode": "absolute" ,
2025-11-14 00:02:59 -03:00
"steps": [
{
2025-11-17 14:22:46 -03:00
"color": "rgba(115, 115, 115, 1)" ,
2025-11-14 00:02:59 -03:00
"value": null
},
{
2025-11-17 14:22:46 -03:00
"color": "green" ,
"value": 1
2025-11-14 00:02:59 -03:00
}
]
},
2025-11-17 14:22:46 -03:00
"unit": "none"
2025-11-14 00:02:59 -03:00
},
"overrides": [ ]
},
2025-11-15 21:03:11 -03:00
"options": {
"colorMode": "value" ,
"graphMode": "area" ,
"justifyMode": "center" ,
"reduceOptions": {
"calcs": [
"lastNotNull"
] ,
"fields": "" ,
"values": false
2025-11-16 00:55:28 -03:00
},
2025-11-17 14:22:46 -03:00
"textMode": "value"
2025-11-15 21:03:11 -03:00
}
},
{
2025-11-16 00:55:28 -03:00
"id": 5 ,
2025-11-15 21:03:11 -03:00
"type": "stat" ,
2025-11-17 14:22:46 -03:00
"title": "Problem pods" ,
2025-11-15 21:03:11 -03:00
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
2025-11-14 00:02:59 -03:00
"gridPos": {
2025-11-16 00:55:28 -03:00
"h": 5 ,
"w": 4 ,
"x": 16 ,
2025-11-14 00:02:59 -03:00
"y": 0
},
2025-11-15 21:03:11 -03:00
"targets": [
{
2025-11-17 14:22:46 -03:00
"expr": "sum(kube_pod_status_phase{phase!~\"Running|Succeeded\"})" ,
"refId": "A"
}
] ,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"mappings": [ ] ,
"thresholds": {
"mode": "absolute" ,
"steps": [
{
"color": "rgba(115, 115, 115, 1)" ,
"value": null
},
{
"color": "green" ,
"value": 1
}
]
},
"unit": "none"
},
"overrides": [ ]
},
"options": {
"colorMode": "value" ,
"graphMode": "area" ,
"justifyMode": "center" ,
"reduceOptions": {
"calcs": [
"lastNotNull"
] ,
"fields": "" ,
"values": false
},
"textMode": "value"
}
},
{
"id": 6 ,
"type": "stat" ,
"title": "Stuck terminating" ,
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
"gridPos": {
"h": 5 ,
"w": 4 ,
"x": 20 ,
"y": 0
},
"targets": [
{
"expr": "sum(((time() - kube_pod_deletion_timestamp) > 600))" ,
2025-11-15 21:03:11 -03:00
"refId": "A"
}
] ,
2025-11-17 14:22:46 -03:00
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"mappings": [ ] ,
"thresholds": {
"mode": "absolute" ,
"steps": [
{
"color": "rgba(115, 115, 115, 1)" ,
"value": null
},
{
"color": "green" ,
"value": 1
}
]
},
"unit": "none"
},
"overrides": [ ]
},
"options": {
"colorMode": "value" ,
"graphMode": "area" ,
"justifyMode": "center" ,
"reduceOptions": {
"calcs": [
"lastNotNull"
] ,
"fields": "" ,
"values": false
},
"textMode": "value"
}
},
{
"id": 7 ,
"type": "stat" ,
"title": "Hottest node: CPU" ,
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
"gridPos": {
"h": 5 ,
"w": 4 ,
"x": 24 ,
"y": 0
},
"targets": [
{
"expr": "avg by (node) ((((1 - label_replace(rate(node_cpu_seconds_total{mode=\"idle\"}[5m]), \"internal_ip\", \"$1\", \"instance\", \"([^:]+):.*\")) * 100) * on (internal_ip) group_left(node) kube_node_info))" ,
"refId": "A" ,
"legendFormat": "{{node}}"
}
] ,
2025-11-15 21:03:11 -03:00
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"mappings": [ ] ,
"thresholds": {
"mode": "percentage" ,
"steps": [
{
"color": "green" ,
"value": null
},
{
"color": "yellow" ,
2025-11-17 14:22:46 -03:00
"value": 70
2025-11-15 21:03:11 -03:00
},
{
"color": "red" ,
2025-11-17 14:22:46 -03:00
"value": 85
2025-11-15 21:03:11 -03:00
}
]
},
"unit": "percent"
},
"overrides": [ ]
},
2025-11-14 00:02:59 -03:00
"options": {
"colorMode": "value" ,
"graphMode": "area" ,
2025-11-15 21:03:11 -03:00
"justifyMode": "center" ,
2025-11-14 00:02:59 -03:00
"reduceOptions": {
"calcs": [
"lastNotNull"
] ,
"fields": "" ,
"values": false
2025-11-16 00:55:28 -03:00
},
"textMode": "value_and_name"
}
},
{
2025-11-17 14:22:46 -03:00
"id": 8 ,
2025-11-16 00:55:28 -03:00
"type": "stat" ,
2025-11-17 14:22:46 -03:00
"title": "Hottest node: RAM" ,
2025-11-16 00:55:28 -03:00
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
"gridPos": {
"h": 5 ,
"w": 4 ,
2025-11-17 14:22:46 -03:00
"x": 28 ,
2025-11-16 00:55:28 -03:00
"y": 0
},
"targets": [
{
2025-11-17 14:22:46 -03:00
"expr": "avg by (node) (((label_replace((node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes, \"internal_ip\", \"$1\", \"instance\", \"([^:]+):.*\") * 100) * on (internal_ip) group_left(node) kube_node_info))" ,
"refId": "A" ,
"legendFormat": "{{node}}"
2025-11-15 21:03:11 -03:00
}
2025-11-16 00:55:28 -03:00
] ,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"mappings": [ ] ,
"thresholds": {
2025-11-17 14:22:46 -03:00
"mode": "percentage" ,
2025-11-16 00:55:28 -03:00
"steps": [
{
"color": "green" ,
"value": null
},
{
"color": "yellow" ,
2025-11-17 14:22:46 -03:00
"value": 70
2025-11-16 00:55:28 -03:00
},
{
"color": "red" ,
2025-11-17 14:22:46 -03:00
"value": 85
2025-11-16 00:55:28 -03:00
}
]
},
2025-11-17 14:22:46 -03:00
"unit": "percent"
2025-11-16 00:55:28 -03:00
},
"overrides": [ ]
},
"options": {
"colorMode": "value" ,
"graphMode": "area" ,
"justifyMode": "center" ,
"reduceOptions": {
"calcs": [
"lastNotNull"
] ,
"fields": "" ,
"values": false
},
2025-11-17 14:22:46 -03:00
"textMode": "value_and_name"
2025-11-15 21:03:11 -03:00
}
},
{
2025-11-17 14:22:46 -03:00
"id": 9 ,
2025-11-15 21:03:11 -03:00
"type": "piechart" ,
"title": "Namespace CPU share" ,
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
"gridPos": {
"h": 9 ,
"w": 12 ,
"x": 0 ,
2025-11-16 00:55:28 -03:00
"y": 5
2025-11-14 00:02:59 -03:00
},
"targets": [
{
2025-11-16 00:55:28 -03:00
"expr": "topk(10, sum(rate(container_cpu_usage_seconds_total{namespace!=\"\",pod!=\"\",container!=\"\"}[5m])) by (namespace))" ,
2025-11-17 14:22:46 -03:00
"refId": "A" ,
"legendFormat": "{{namespace}}"
2025-11-14 00:02:59 -03:00
}
] ,
2025-11-15 21:03:11 -03:00
"fieldConfig": {
"defaults": {
2025-11-17 14:22:46 -03:00
"unit": "percent"
2025-11-15 21:03:11 -03:00
},
"overrides": [ ]
},
"options": {
"legend": {
"displayMode": "list" ,
"placement": "right"
},
"pieType": "pie" ,
"reduceOptions": {
"calcs": [
"lastNotNull"
] ,
"fields": "" ,
"values": false
}
}
2025-11-14 00:02:59 -03:00
},
{
2025-11-17 14:22:46 -03:00
"id": 10 ,
2025-11-15 21:03:11 -03:00
"type": "piechart" ,
2025-11-17 14:22:46 -03:00
"title": "Namespace RAM share" ,
2025-11-14 00:02:59 -03:00
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
"gridPos": {
2025-11-15 21:03:11 -03:00
"h": 9 ,
2025-11-14 00:02:59 -03:00
"w": 12 ,
2025-11-15 21:03:11 -03:00
"x": 12 ,
2025-11-16 00:55:28 -03:00
"y": 5
2025-11-14 00:02:59 -03:00
},
2025-11-15 11:59:48 -03:00
"targets": [
{
2025-11-16 00:55:28 -03:00
"expr": "topk(10, sum(container_memory_working_set_bytes{namespace!=\"\",pod!=\"\",container!=\"\"}) by (namespace))" ,
2025-11-17 14:22:46 -03:00
"refId": "A" ,
"legendFormat": "{{namespace}}"
2025-11-15 11:59:48 -03:00
}
] ,
2025-11-15 21:03:11 -03:00
"fieldConfig": {
"defaults": {
2025-11-17 14:22:46 -03:00
"unit": "percent"
2025-11-15 21:03:11 -03:00
},
"overrides": [ ]
},
2025-11-14 00:02:59 -03:00
"options": {
2025-11-15 21:03:11 -03:00
"legend": {
"displayMode": "list" ,
"placement": "right"
},
2025-11-17 14:22:46 -03:00
"pieType": "pie" ,
2025-11-15 11:59:48 -03:00
"reduceOptions": {
2025-11-15 21:03:11 -03:00
"calcs": [
"lastNotNull"
] ,
2025-11-15 11:59:48 -03:00
"fields": "" ,
"values": false
2025-11-15 21:03:11 -03:00
}
2025-11-15 11:59:48 -03:00
}
},
{
2025-11-17 14:22:46 -03:00
"id": 11 ,
2025-11-15 21:03:11 -03:00
"type": "timeseries" ,
2025-11-17 14:22:46 -03:00
"title": "Cluster node CPU" ,
2025-11-15 11:59:48 -03:00
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
"gridPos": {
"h": 8 ,
"w": 12 ,
"x": 0 ,
2025-11-16 00:55:28 -03:00
"y": 14
2025-11-15 11:59:48 -03:00
},
"targets": [
{
2025-11-16 00:55:28 -03:00
"expr": "avg by (node) ((((1 - label_replace(rate(node_cpu_seconds_total{mode=\"idle\"}[5m]), \"internal_ip\", \"$1\", \"instance\", \"([^:]+):.*\")) * 100) * on (internal_ip) group_left(node) kube_node_info))" ,
2025-11-15 21:03:11 -03:00
"refId": "A" ,
2025-11-16 00:55:28 -03:00
"legendFormat": "{{node}}"
2025-11-15 21:03:11 -03:00
}
] ,
"fieldConfig": {
"defaults": {
"unit": "percent"
},
"overrides": [ ]
},
"options": {
"legend": {
"displayMode": "table" ,
2025-11-17 14:22:46 -03:00
"placement": "right" ,
"calcs": [
"last"
]
2025-11-14 00:02:59 -03:00
},
2025-11-15 21:03:11 -03:00
"tooltip": {
"mode": "multi"
}
}
},
{
2025-11-17 14:22:46 -03:00
"id": 12 ,
2025-11-15 21:03:11 -03:00
"type": "timeseries" ,
2025-11-17 14:22:46 -03:00
"title": "Cluster node RAM" ,
2025-11-15 21:03:11 -03:00
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
"gridPos": {
"h": 8 ,
"w": 12 ,
"x": 12 ,
2025-11-16 00:55:28 -03:00
"y": 14
2025-11-15 21:03:11 -03:00
},
"targets": [
2025-11-15 11:59:48 -03:00
{
2025-11-16 00:55:28 -03:00
"expr": "avg by (node) (((label_replace((node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes, \"internal_ip\", \"$1\", \"instance\", \"([^:]+):.*\") * 100) * on (internal_ip) group_left(node) kube_node_info))" ,
2025-11-15 21:03:11 -03:00
"refId": "A" ,
2025-11-16 00:55:28 -03:00
"legendFormat": "{{node}}"
2025-11-14 00:02:59 -03:00
}
2025-11-15 11:59:48 -03:00
] ,
2025-11-15 21:03:11 -03:00
"fieldConfig": {
"defaults": {
"unit": "percent"
},
"overrides": [ ]
},
2025-11-15 11:59:48 -03:00
"options": {
"legend": {
"displayMode": "table" ,
2025-11-17 14:22:46 -03:00
"placement": "right" ,
"calcs": [
"last"
]
2025-11-15 11:59:48 -03:00
},
2025-11-15 21:03:11 -03:00
"tooltip": {
"mode": "multi"
}
2025-11-15 11:59:48 -03:00
}
},
{
2025-11-17 14:22:46 -03:00
"id": 13 ,
2025-11-15 21:03:11 -03:00
"type": "table" ,
2025-11-17 14:22:46 -03:00
"title": "Problem pods (details)" ,
2025-11-15 11:59:48 -03:00
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
2025-11-14 00:02:59 -03:00
},
2025-11-16 00:55:28 -03:00
"gridPos": {
2025-11-17 14:22:46 -03:00
"h": 8 ,
2025-11-16 00:55:28 -03:00
"w": 12 ,
"x": 0 ,
"y": 22
},
"targets": [
{
2025-11-17 14:22:46 -03:00
"expr": "(time() - kube_pod_created) * on(namespace,pod) group_left(node) kube_pod_info * on(namespace,pod) group_left(phase) sum by (namespace,pod,phase) (kube_pod_status_phase{phase!~\"Running|Succeeded\"})" ,
2025-11-16 00:55:28 -03:00
"refId": "A"
}
] ,
"fieldConfig": {
"defaults": {
2025-11-17 14:22:46 -03:00
"unit": "s"
2025-11-16 00:55:28 -03:00
},
"overrides": [ ]
},
"options": {
"showHeader": true
2025-11-17 14:22:46 -03:00
},
"transformations": [
{
"id": "labelsToFields" ,
"options": {}
}
]
2025-11-16 00:55:28 -03:00
},
{
2025-11-17 14:22:46 -03:00
"id": 14 ,
2025-11-16 00:55:28 -03:00
"type": "table" ,
2025-11-17 14:22:46 -03:00
"title": "Terminating >10m" ,
2025-11-16 00:55:28 -03:00
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
"gridPos": {
2025-11-17 14:22:46 -03:00
"h": 8 ,
2025-11-16 00:55:28 -03:00
"w": 12 ,
"x": 12 ,
"y": 22
},
"targets": [
{
2025-11-17 14:22:46 -03:00
"expr": "(time() - kube_pod_deletion_timestamp) * on(namespace,pod) group_left(node) kube_pod_info" ,
2025-11-16 00:55:28 -03:00
"refId": "A"
}
] ,
"fieldConfig": {
"defaults": {
2025-11-17 14:22:46 -03:00
"unit": "s"
2025-11-16 00:55:28 -03:00
},
"overrides": [ ]
},
"options": {
"showHeader": true
2025-11-17 14:22:46 -03:00
},
"transformations": [
{
"id": "labelsToFields" ,
"options": {}
},
{
"id": "filterByValue" ,
"options": {
"match": "Value" ,
"operator": "gt" ,
"value": 600
}
}
]
2025-11-16 00:55:28 -03:00
},
{
2025-11-17 14:22:46 -03:00
"id": 15 ,
2025-11-16 00:55:28 -03:00
"type": "timeseries" ,
2025-11-17 14:22:46 -03:00
"title": "Control plane CPU" ,
2025-11-16 00:55:28 -03:00
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
2025-11-15 11:59:48 -03:00
"gridPos": {
2025-11-17 14:22:46 -03:00
"h": 7 ,
2025-11-15 11:59:48 -03:00
"w": 12 ,
"x": 0 ,
2025-11-17 14:22:46 -03:00
"y": 30
2025-11-15 11:59:48 -03:00
},
2025-11-14 00:02:59 -03:00
"targets": [
{
2025-11-17 14:22:46 -03:00
"expr": "avg by (node) ((((1 - label_replace(rate(node_cpu_seconds_total{mode=\"idle\"}[5m]), \"internal_ip\", \"$1\", \"instance\", \"([^:]+):.*\")) * 100) * on (internal_ip) group_left(node) kube_node_info)) * on(node) group_left() kube_node_info{node=~\"titan-0a|titan-0b|titan-0c\"}" ,
2025-11-16 00:55:28 -03:00
"refId": "A" ,
"legendFormat": "{{node}}"
}
] ,
"fieldConfig": {
"defaults": {
"unit": "percent"
},
"overrides": [ ]
},
"options": {
"legend": {
"displayMode": "table" ,
"placement": "bottom"
},
"tooltip": {
"mode": "multi"
}
}
},
{
2025-11-17 14:22:46 -03:00
"id": 16 ,
"type": "timeseries" ,
"title": "Control plane RAM" ,
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
"gridPos": {
"h": 7 ,
"w": 12 ,
"x": 12 ,
"y": 30
},
"targets": [
{
"expr": "avg by (node) (((label_replace((node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes, \"internal_ip\", \"$1\", \"instance\", \"([^:]+):.*\") * 100) * on (internal_ip) group_left(node) kube_node_info)) * on(node) group_left() kube_node_info{node=~\"titan-0a|titan-0b|titan-0c\"}" ,
"refId": "A" ,
"legendFormat": "{{node}}"
}
] ,
"fieldConfig": {
"defaults": {
"unit": "percent"
},
"overrides": [ ]
},
"options": {
"legend": {
"displayMode": "table" ,
"placement": "bottom"
},
"tooltip": {
"mode": "multi"
}
}
},
{
"id": 17 ,
"type": "timeseries" ,
"title": "Root filesystem usage" ,
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
"gridPos": {
"h": 8 ,
"w": 12 ,
"x": 0 ,
"y": 37
},
"targets": [
{
"expr": "avg by (node) (((1 - (label_replace(node_filesystem_avail_bytes{mountpoint=\"/\",fstype!~\"tmpfs|overlay\"} / node_filesystem_size_bytes{mountpoint=\"/\",fstype!~\"tmpfs|overlay\"}, \"internal_ip\", \"$1\", \"instance\", \"([^:]+):.*\"))) * 100) * on (internal_ip) group_left(node) kube_node_info)" ,
"refId": "A" ,
"legendFormat": "{{node}}"
}
] ,
"fieldConfig": {
"defaults": {
"unit": "percent"
},
"overrides": [ ]
},
"options": {
"legend": {
"displayMode": "table" ,
"placement": "right" ,
"calcs": [
"last"
]
},
"tooltip": {
"mode": "multi"
}
},
"timeFrom": "7d"
},
{
"id": 18 ,
2025-11-16 00:55:28 -03:00
"type": "bargauge" ,
"title": "Nodes closest to full root disks" ,
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
"gridPos": {
"h": 8 ,
"w": 12 ,
"x": 12 ,
2025-11-17 14:22:46 -03:00
"y": 37
2025-11-16 00:55:28 -03:00
},
"targets": [
{
2025-11-17 14:22:46 -03:00
"expr": "topk(8, avg by (node) (((1 - (label_replace(node_filesystem_avail_bytes{mountpoint=\"/\",fstype!~\"tmpfs|overlay\"} / node_filesystem_size_bytes{mountpoint=\"/\",fstype!~\"tmpfs|overlay\"}, \"internal_ip\", \"$1\", \"instance\", \"([^:]+):.*\"))) * 100) * on (internal_ip) group_left(node) kube_node_info))" ,
"refId": "A" ,
"legendFormat": "{{node}}"
2025-11-14 00:02:59 -03:00
}
] ,
2025-11-15 11:59:48 -03:00
"fieldConfig": {
"defaults": {
2025-11-16 00:55:28 -03:00
"unit": "percent" ,
"min": 0 ,
2025-11-17 14:22:46 -03:00
"max": 100 ,
"thresholds": {
"mode": "percentage" ,
"steps": [
{
"color": "green" ,
"value": null
},
{
"color": "yellow" ,
"value": 50
},
{
"color": "orange" ,
"value": 70
},
{
"color": "red" ,
"value": 85
}
]
}
2025-11-16 00:55:28 -03:00
},
"overrides": [ ]
},
"options": {
"displayMode": "gradient" ,
"orientation": "horizontal" ,
"reduceOptions": {
"calcs": [
"lastNotNull"
2025-11-15 21:03:11 -03:00
] ,
2025-11-16 00:55:28 -03:00
"fields": "" ,
"values": false
}
}
},
{
2025-11-17 14:22:46 -03:00
"id": 19 ,
2025-11-16 00:55:28 -03:00
"type": "stat" ,
"title": "Astreae usage" ,
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
"gridPos": {
2025-11-17 14:22:46 -03:00
"h": 6 ,
2025-11-16 00:55:28 -03:00
"w": 6 ,
"x": 0 ,
2025-11-17 14:22:46 -03:00
"y": 45
2025-11-16 00:55:28 -03:00
},
"targets": [
{
2025-11-17 14:22:46 -03:00
"expr": "100 - (sum(node_filesystem_avail_bytes{mountpoint=\"/mnt/astreae\",fstype!~\"tmpfs|overlay\"}) / sum(node_filesystem_size_bytes{mountpoint=\"/mnt/astreae\",fstype!~\"tmpfs|overlay\"}) * 100)" ,
2025-11-16 00:55:28 -03:00
"refId": "A"
}
] ,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"mappings": [ ] ,
2025-11-15 11:59:48 -03:00
"thresholds": {
2025-11-16 00:55:28 -03:00
"mode": "percentage" ,
2025-11-15 11:59:48 -03:00
"steps": [
2025-11-16 00:55:28 -03:00
{
"color": "green" ,
"value": null
},
{
"color": "yellow" ,
"value": 70
},
2025-11-15 21:03:11 -03:00
{
"color": "red" ,
2025-11-16 00:55:28 -03:00
"value": 85
}
]
},
"unit": "percent"
},
"overrides": [ ]
},
"options": {
"colorMode": "value" ,
"graphMode": "area" ,
"justifyMode": "center" ,
"reduceOptions": {
"calcs": [
"lastNotNull"
] ,
"fields": "" ,
"values": false
},
"textMode": "value"
}
},
{
2025-11-17 14:22:46 -03:00
"id": 20 ,
2025-11-16 00:55:28 -03:00
"type": "stat" ,
"title": "Asteria usage" ,
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
"gridPos": {
2025-11-17 14:22:46 -03:00
"h": 6 ,
2025-11-16 00:55:28 -03:00
"w": 6 ,
"x": 6 ,
2025-11-17 14:22:46 -03:00
"y": 45
2025-11-16 00:55:28 -03:00
},
"targets": [
{
2025-11-17 14:22:46 -03:00
"expr": "100 - (sum(node_filesystem_avail_bytes{mountpoint=\"/mnt/asteria\",fstype!~\"tmpfs|overlay\"}) / sum(node_filesystem_size_bytes{mountpoint=\"/mnt/asteria\",fstype!~\"tmpfs|overlay\"}) * 100)" ,
2025-11-16 00:55:28 -03:00
"refId": "A"
}
] ,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"mappings": [ ] ,
"thresholds": {
"mode": "percentage" ,
"steps": [
{
"color": "green" ,
"value": null
},
{
"color": "yellow" ,
"value": 70
},
{
"color": "red" ,
"value": 85
}
]
},
"unit": "percent"
},
"overrides": [ ]
},
"options": {
"colorMode": "value" ,
"graphMode": "area" ,
"justifyMode": "center" ,
"reduceOptions": {
"calcs": [
"lastNotNull"
] ,
"fields": "" ,
"values": false
},
"textMode": "value"
}
},
{
2025-11-17 14:22:46 -03:00
"id": 21 ,
2025-11-16 00:55:28 -03:00
"type": "stat" ,
2025-11-17 14:22:46 -03:00
"title": "Astreae free" ,
2025-11-16 00:55:28 -03:00
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
"gridPos": {
2025-11-17 14:22:46 -03:00
"h": 6 ,
2025-11-16 00:55:28 -03:00
"w": 6 ,
"x": 12 ,
2025-11-17 14:22:46 -03:00
"y": 45
2025-11-16 00:55:28 -03:00
},
"targets": [
{
2025-11-17 14:22:46 -03:00
"expr": "sum(node_filesystem_avail_bytes{mountpoint=\"/mnt/astreae\",fstype!~\"tmpfs|overlay\"})" ,
2025-11-16 00:55:28 -03:00
"refId": "A"
}
] ,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"mappings": [ ] ,
"thresholds": {
"mode": "absolute" ,
"steps": [
{
"color": "rgba(115, 115, 115, 1)" ,
2025-11-15 21:03:11 -03:00
"value": null
},
{
"color": "green" ,
"value": 1
}
2025-11-15 11:59:48 -03:00
]
2025-11-16 00:55:28 -03:00
},
"unit": "bytesSI"
2025-11-15 11:59:48 -03:00
},
"overrides": [ ]
},
"options": {
2025-11-16 00:55:28 -03:00
"colorMode": "value" ,
"graphMode": "area" ,
"justifyMode": "center" ,
"reduceOptions": {
"calcs": [
"lastNotNull"
] ,
"fields": "" ,
"values": false
},
"textMode": "value"
2025-11-15 11:59:48 -03:00
}
2025-11-15 21:03:11 -03:00
},
{
2025-11-17 14:22:46 -03:00
"id": 22 ,
2025-11-16 00:55:28 -03:00
"type": "stat" ,
2025-11-17 14:22:46 -03:00
"title": "Asteria free" ,
2025-11-15 21:03:11 -03:00
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
"gridPos": {
2025-11-17 14:22:46 -03:00
"h": 6 ,
2025-11-16 00:55:28 -03:00
"w": 6 ,
"x": 18 ,
2025-11-17 14:22:46 -03:00
"y": 45
2025-11-15 21:03:11 -03:00
},
"targets": [
{
2025-11-17 14:22:46 -03:00
"expr": "sum(node_filesystem_avail_bytes{mountpoint=\"/mnt/asteria\",fstype!~\"tmpfs|overlay\"})" ,
2025-11-15 21:03:11 -03:00
"refId": "A"
}
] ,
"fieldConfig": {
"defaults": {
2025-11-16 00:55:28 -03:00
"color": {
"mode": "palette-classic"
},
"mappings": [ ] ,
"thresholds": {
"mode": "absolute" ,
"steps": [
{
"color": "rgba(115, 115, 115, 1)" ,
"value": null
},
{
"color": "green" ,
"value": 1
}
]
},
"unit": "bytesSI"
2025-11-15 21:03:11 -03:00
},
"overrides": [ ]
},
"options": {
2025-11-16 00:55:28 -03:00
"colorMode": "value" ,
"graphMode": "area" ,
"justifyMode": "center" ,
"reduceOptions": {
"calcs": [
"lastNotNull"
] ,
"fields": "" ,
"values": false
},
"textMode": "value"
2025-11-15 21:03:11 -03:00
}
},
{
2025-11-17 14:22:46 -03:00
"id": 23 ,
"type": "table" ,
"title": "Astreae per-node usage" ,
2025-11-15 21:03:11 -03:00
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
"gridPos": {
2025-11-17 14:22:46 -03:00
"h": 8 ,
2025-11-15 21:03:11 -03:00
"w": 12 ,
"x": 0 ,
2025-11-17 14:22:46 -03:00
"y": 51
2025-11-15 21:03:11 -03:00
},
"targets": [
{
2025-11-17 14:22:46 -03:00
"expr": "100 - (node_filesystem_avail_bytes{mountpoint=\"/mnt/astreae\",fstype!~\"tmpfs|overlay\"} / node_filesystem_size_bytes{mountpoint=\"/mnt/astreae\",fstype!~\"tmpfs|overlay\"} * 100)" ,
"refId": "A"
2025-11-15 21:03:11 -03:00
}
] ,
"fieldConfig": {
"defaults": {
2025-11-17 14:22:46 -03:00
"unit": "percent"
2025-11-15 21:03:11 -03:00
},
"overrides": [ ]
},
"options": {
2025-11-17 14:22:46 -03:00
"showHeader": true
},
"transformations": [
{
"id": "labelsToFields" ,
"options": {}
2025-11-15 21:03:11 -03:00
}
2025-11-17 14:22:46 -03:00
]
2025-11-15 21:03:11 -03:00
},
{
2025-11-17 14:22:46 -03:00
"id": 24 ,
"type": "table" ,
"title": "Asteria per-node usage" ,
2025-11-15 21:03:11 -03:00
"datasource": {
"type": "prometheus" ,
"uid": "atlas-vm"
},
"gridPos": {
2025-11-17 14:22:46 -03:00
"h": 8 ,
2025-11-15 21:03:11 -03:00
"w": 12 ,
"x": 12 ,
2025-11-17 14:22:46 -03:00
"y": 51
2025-11-15 21:03:11 -03:00
},
"targets": [
{
2025-11-17 14:22:46 -03:00
"expr": "100 - (node_filesystem_avail_bytes{mountpoint=\"/mnt/asteria\",fstype!~\"tmpfs|overlay\"} / node_filesystem_size_bytes{mountpoint=\"/mnt/asteria\",fstype!~\"tmpfs|overlay\"} * 100)" ,
"refId": "A"
2025-11-15 21:03:11 -03:00
}
] ,
"fieldConfig": {
"defaults": {
2025-11-17 14:22:46 -03:00
"unit": "percent"
2025-11-15 21:03:11 -03:00
},
"overrides": [ ]
},
"options": {
2025-11-17 14:22:46 -03:00
"showHeader": true
},
"transformations": [
{
"id": "labelsToFields" ,
"options": {}
2025-11-15 21:03:11 -03:00
}
2025-11-17 14:22:46 -03:00
]
2025-11-15 21:03:11 -03:00
},
{
2025-11-17 14:22:46 -03:00
"id": 25 ,
2025-11-15 21:03:11 -03:00
"type": "text" ,
"title": "About this dashboard" ,
"gridPos": {
2025-11-16 00:55:28 -03:00
"h": 5 ,
2025-11-15 21:03:11 -03:00
"w": 24 ,
"x": 0 ,
2025-11-17 14:22:46 -03:00
"y": 59
2025-11-15 21:03:11 -03:00
},
2025-11-17 14:22:46 -03:00
"datasource": null ,
2025-11-15 21:03:11 -03:00
"options": {
2025-11-16 00:55:28 -03:00
"mode": "markdown" ,
2025-11-17 14:22:46 -03:00
"content": "### Atlas at a glance\n- Summary metrics above pull from dedicated Pods/Nodes/Storage dashboards\n- Click the dashboard links in the header to drill into details\n- Anonymous users see this overview; login unlocks the detailed folders"
2025-11-15 21:03:11 -03:00
}
2025-11-14 00:02:59 -03:00
}
] ,
"refresh": "30s" ,
"schemaVersion": 39 ,
"style": "dark" ,
"tags": [
"atlas" ,
2025-11-17 14:22:46 -03:00
"overview"
2025-11-14 00:02:59 -03:00
] ,
"templating": {
"list": [ ]
},
"time": {
2025-11-15 11:59:48 -03:00
"from": "now-12h" ,
2025-11-14 00:02:59 -03:00
"to": "now"
2025-11-17 14:22:46 -03:00
}
2025-11-14 00:02:59 -03:00
}