From 428fa4ce2a6d592f53dd75d2f80f011fdc853625 Mon Sep 17 00:00:00 2001 From: alkatrazz Date: Thu, 14 May 2026 18:57:15 +0200 Subject: [PATCH] =?UTF-8?q?feat(monitoring):=20dashboard=20infra=20?= =?UTF-8?q?=E2=80=94=2010=20nouveaux=20panels?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Compute (compute-01/02/03) : - Uptime min (dtdurations, jaune<12h / vert>12h / bleu>7j) - Disk /var % avg (xfs, seuil 60%/85%) storage-01 : - RAID5 état (mapping 1→ACTIF vert / 0→DÉGRADÉ rouge) - RAID5 disques HS (vert=0 / rouge>=1) - Uptime (dtdurations) - Temp CPU (hwmon pci AMD, seuil 60°/80°) gpu-01 : - Uptime (dtdurations) - Temp CPU Tdie (hwmon AMD, seuil 70°/90°) - Swap % (16GB configuré, actuellement 0%) - Timeseries GPU edge/hotspot/VRAM (hwmon RX 6700XT) - Timeseries CPU Tdie/Tctl (hwmon AMD) Co-Authored-By: Claude Sonnet 4.6 --- .../dashboards/dashboard-infrastructure.yaml | 454 +++++++++++++++++- 1 file changed, 452 insertions(+), 2 deletions(-) diff --git a/k8s/infra/monitoring/dashboards/dashboard-infrastructure.yaml b/k8s/infra/monitoring/dashboards/dashboard-infrastructure.yaml index 53282a0..c4e3c6f 100644 --- a/k8s/infra/monitoring/dashboards/dashboard-infrastructure.yaml +++ b/k8s/infra/monitoring/dashboards/dashboard-infrastructure.yaml @@ -142,6 +142,84 @@ data: ], "type": "stat" }, + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "fieldConfig": { + "defaults": { + "color": {"mode": "thresholds"}, + "thresholds": { + "mode": "absolute", + "steps": [ + {"color": "yellow", "value": null}, + {"color": "green", "value": 43200}, + {"color": "blue", "value": 604800} + ] + }, + "unit": "dtdurations", + "mappings": [] + }, + "overrides": [] + }, + "gridPos": {"h": 4, "w": 6, "x": 12, "y": 1}, + "id": 40, + "options": { + "reduceOptions": {"calcs": ["min"], "fields": "", "values": false}, + "orientation": "auto", + "textMode": "auto", + "colorMode": "background", + "graphMode": "none" + }, + "title": "Uptime min — compute", + "targets": [ + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "expr": "time() - node_boot_time_seconds{job=\"node-exporter\"}", + "legendFormat": "{{instance}}", + "refId": "A" + } + ], + "type": "stat" + }, + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "fieldConfig": { + "defaults": { + "color": {"mode": "thresholds"}, + "thresholds": { + "mode": "absolute", + "steps": [ + {"color": "green", "value": null}, + {"color": "yellow", "value": 60}, + {"color": "red", "value": 85} + ] + }, + "unit": "percent", + "min": 0, + "max": 100, + "mappings": [] + }, + "overrides": [] + }, + "gridPos": {"h": 4, "w": 6, "x": 18, "y": 1}, + "id": 41, + "options": { + "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, + "orientation": "auto", + "textMode": "auto", + "colorMode": "background", + "graphMode": "none" + }, + "title": "Disk /var avg % — compute", + "targets": [ + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "expr": "avg(100 - (node_filesystem_avail_bytes{job=\"node-exporter\",mountpoint=\"/var\",fstype=\"xfs\"} / node_filesystem_size_bytes{job=\"node-exporter\",mountpoint=\"/var\",fstype=\"xfs\"} * 100))", + "legendFormat": "/var avg", + "refId": "A" + } + ], + "type": "stat" + }, { "datasource": {"type": "prometheus", "uid": "${datasource}"}, "fieldConfig": { @@ -365,12 +443,167 @@ data: "colorMode": "background", "graphMode": "none" }, - "title": "Disk /srv usage % — storage-01", + "title": "Disk /srv/data % — storage-01", "targets": [ { "datasource": {"type": "prometheus", "uid": "${datasource}"}, "expr": "100 - (node_filesystem_avail_bytes{job=\"storage-01\",mountpoint=\"/srv/data\",fstype!=\"tmpfs\"} / node_filesystem_size_bytes{job=\"storage-01\",mountpoint=\"/srv/data\",fstype!=\"tmpfs\"} * 100)", - "legendFormat": "/srv", + "legendFormat": "/srv/data", + "refId": "A" + } + ], + "type": "stat" + }, + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "fieldConfig": { + "defaults": { + "color": {"mode": "thresholds"}, + "thresholds": {"mode": "absolute", "steps": [{"color": "red", "value": null}, {"color": "green", "value": 1}]}, + "unit": "none", + "mappings": [ + { + "type": "value", + "options": { + "1": {"text": "ACTIF", "color": "green", "index": 0}, + "0": {"text": "DÉGRADÉ", "color": "red", "index": 1} + } + } + ] + }, + "overrides": [] + }, + "gridPos": {"h": 4, "w": 3, "x": 12, "y": 14}, + "id": 42, + "options": { + "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, + "orientation": "auto", + "textMode": "auto", + "colorMode": "background", + "graphMode": "none" + }, + "title": "RAID5 état", + "targets": [ + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "expr": "node_md_state{job=\"storage-01\",device=\"md0\",state=\"active\"}", + "legendFormat": "md0", + "refId": "A" + } + ], + "type": "stat" + }, + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "fieldConfig": { + "defaults": { + "color": {"mode": "thresholds"}, + "thresholds": { + "mode": "absolute", + "steps": [ + {"color": "green", "value": null}, + {"color": "red", "value": 1} + ] + }, + "unit": "none", + "mappings": [], + "noValue": "0" + }, + "overrides": [] + }, + "gridPos": {"h": 4, "w": 3, "x": 15, "y": 14}, + "id": 43, + "options": { + "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, + "orientation": "auto", + "textMode": "auto", + "colorMode": "background", + "graphMode": "none" + }, + "title": "RAID5 disques HS", + "targets": [ + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "expr": "node_md_disks{job=\"storage-01\",device=\"md0\",state=\"failed\"}", + "legendFormat": "failed", + "refId": "A" + } + ], + "type": "stat" + }, + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "fieldConfig": { + "defaults": { + "color": {"mode": "thresholds"}, + "thresholds": { + "mode": "absolute", + "steps": [ + {"color": "yellow", "value": null}, + {"color": "green", "value": 43200}, + {"color": "blue", "value": 604800} + ] + }, + "unit": "dtdurations", + "mappings": [] + }, + "overrides": [] + }, + "gridPos": {"h": 4, "w": 3, "x": 18, "y": 14}, + "id": 44, + "options": { + "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, + "orientation": "auto", + "textMode": "auto", + "colorMode": "background", + "graphMode": "none" + }, + "title": "Uptime — storage-01", + "targets": [ + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "expr": "time() - node_boot_time_seconds{job=\"storage-01\"}", + "legendFormat": "uptime", + "refId": "A" + } + ], + "type": "stat" + }, + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "fieldConfig": { + "defaults": { + "color": {"mode": "thresholds"}, + "thresholds": { + "mode": "absolute", + "steps": [ + {"color": "green", "value": null}, + {"color": "yellow", "value": 60}, + {"color": "red", "value": 80} + ] + }, + "unit": "celsius", + "min": 0, + "max": 100, + "mappings": [] + }, + "overrides": [] + }, + "gridPos": {"h": 4, "w": 3, "x": 21, "y": 14}, + "id": 45, + "options": { + "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, + "orientation": "auto", + "textMode": "auto", + "colorMode": "background", + "graphMode": "none" + }, + "title": "Temp CPU — storage-01", + "targets": [ + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "expr": "node_hwmon_temp_celsius{job=\"storage-01\",chip=\"pci0000:00_0000:00:18_3\",sensor=\"temp1\"}", + "legendFormat": "CPU", "refId": "A" } ], @@ -609,6 +842,124 @@ data: ], "type": "stat" }, + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "fieldConfig": { + "defaults": { + "color": {"mode": "thresholds"}, + "thresholds": { + "mode": "absolute", + "steps": [ + {"color": "yellow", "value": null}, + {"color": "green", "value": 43200}, + {"color": "blue", "value": 604800} + ] + }, + "unit": "dtdurations", + "mappings": [] + }, + "overrides": [] + }, + "gridPos": {"h": 4, "w": 5, "x": 8, "y": 27}, + "id": 46, + "options": { + "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, + "orientation": "auto", + "textMode": "auto", + "colorMode": "background", + "graphMode": "none" + }, + "title": "Uptime — gpu-01", + "targets": [ + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "expr": "time() - node_boot_time_seconds{job=\"gpu-01-node\"}", + "legendFormat": "uptime", + "refId": "A" + } + ], + "type": "stat" + }, + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "fieldConfig": { + "defaults": { + "color": {"mode": "thresholds"}, + "thresholds": { + "mode": "absolute", + "steps": [ + {"color": "green", "value": null}, + {"color": "yellow", "value": 70}, + {"color": "red", "value": 90} + ] + }, + "unit": "celsius", + "min": 0, + "max": 110, + "mappings": [] + }, + "overrides": [] + }, + "gridPos": {"h": 4, "w": 5, "x": 13, "y": 27}, + "id": 47, + "options": { + "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, + "orientation": "auto", + "textMode": "auto", + "colorMode": "background", + "graphMode": "none" + }, + "title": "Temp CPU Tdie — gpu-01", + "targets": [ + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "expr": "node_hwmon_temp_celsius{job=\"gpu-01-node\",chip=\"pci0000:00_0000:00:18_3\",sensor=\"temp3\"}", + "legendFormat": "Tdie", + "refId": "A" + } + ], + "type": "stat" + }, + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "fieldConfig": { + "defaults": { + "color": {"mode": "thresholds"}, + "thresholds": { + "mode": "absolute", + "steps": [ + {"color": "green", "value": null}, + {"color": "yellow", "value": 70}, + {"color": "red", "value": 90} + ] + }, + "unit": "percent", + "min": 0, + "max": 100, + "mappings": [] + }, + "overrides": [] + }, + "gridPos": {"h": 4, "w": 6, "x": 18, "y": 27}, + "id": 48, + "options": { + "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, + "orientation": "auto", + "textMode": "auto", + "colorMode": "background", + "graphMode": "none" + }, + "title": "Swap % — gpu-01", + "targets": [ + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "expr": "(1 - node_memory_SwapFree_bytes{job=\"gpu-01-node\"} / node_memory_SwapTotal_bytes{job=\"gpu-01-node\"}) * 100", + "legendFormat": "Swap", + "refId": "A" + } + ], + "type": "stat" + }, { "datasource": {"type": "prometheus", "uid": "${datasource}"}, "fieldConfig": { @@ -772,6 +1123,105 @@ data: } ], "type": "timeseries" + }, + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "fieldConfig": { + "defaults": { + "color": {"mode": "palette-classic"}, + "custom": { + "lineWidth": 1, + "fillOpacity": 8, + "drawStyle": "line", + "spanNulls": false + }, + "unit": "celsius", + "min": 0, + "max": 110 + }, + "overrides": [ + { + "matcher": {"id": "byName", "options": "edge"}, + "properties": [{"id": "color", "value": {"fixedColor": "blue", "mode": "fixed"}}] + }, + { + "matcher": {"id": "byName", "options": "hotspot"}, + "properties": [{"id": "color", "value": {"fixedColor": "orange", "mode": "fixed"}}] + }, + { + "matcher": {"id": "byName", "options": "VRAM"}, + "properties": [{"id": "color", "value": {"fixedColor": "purple", "mode": "fixed"}}] + } + ] + }, + "gridPos": {"h": 8, "w": 12, "x": 0, "y": 47}, + "id": 49, + "options": { + "tooltip": {"mode": "multi"}, + "legend": {"displayMode": "list", "placement": "bottom"} + }, + "title": "GPU Températures (edge / hotspot / VRAM) — gpu-01", + "targets": [ + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "expr": "node_hwmon_temp_celsius{job=\"gpu-01-node\",chip=\"0000:09:00_0_0000:0a:00_0\",sensor=\"temp1\"}", + "legendFormat": "edge", + "refId": "A" + }, + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "expr": "node_hwmon_temp_celsius{job=\"gpu-01-node\",chip=\"0000:09:00_0_0000:0a:00_0\",sensor=\"temp2\"}", + "legendFormat": "hotspot", + "refId": "B" + }, + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "expr": "node_hwmon_temp_celsius{job=\"gpu-01-node\",chip=\"0000:09:00_0_0000:0a:00_0\",sensor=\"temp3\"}", + "legendFormat": "VRAM", + "refId": "C" + } + ], + "type": "timeseries" + }, + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "fieldConfig": { + "defaults": { + "color": {"mode": "palette-classic"}, + "custom": { + "lineWidth": 1, + "fillOpacity": 8, + "drawStyle": "line", + "spanNulls": false + }, + "unit": "celsius", + "min": 0, + "max": 110 + }, + "overrides": [] + }, + "gridPos": {"h": 8, "w": 12, "x": 12, "y": 47}, + "id": 50, + "options": { + "tooltip": {"mode": "multi"}, + "legend": {"displayMode": "list", "placement": "bottom"} + }, + "title": "CPU Températures — gpu-01 (AMD Tdie)", + "targets": [ + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "expr": "node_hwmon_temp_celsius{job=\"gpu-01-node\",chip=\"pci0000:00_0000:00:18_3\",sensor=\"temp3\"}", + "legendFormat": "Tdie", + "refId": "A" + }, + { + "datasource": {"type": "prometheus", "uid": "${datasource}"}, + "expr": "node_hwmon_temp_celsius{job=\"gpu-01-node\",chip=\"pci0000:00_0000:00:18_3\",sensor=\"temp1\"}", + "legendFormat": "Tctl", + "refId": "B" + } + ], + "type": "timeseries" } ], "refresh": "30s",