mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 11:14:43 +02:00
feat(monitoring): dashboard infra — section services systemd + NFS I/O
Nouvelle section "Services — état systemd" en bas du dashboard : storage-01 (8 panels verts/rouges) : DNS (dnsmasq), NFS server, PostgreSQL, Qdrant, LiteLLM, Hermes Agent, nftables, chronyd (NTP) gpu-01 (4 panels) : llama-server GPU (:1234), llama-server system (:1236), llama-server monitor (:1237), chronyd (NTP) Timeseries NFS : - Débit NFS disque (read/write bytes/s) - Requêtes NFS/s par type (read/write/getattr/lookup) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
428fa4ce2a
commit
719cd4bf8c
1 changed files with 278 additions and 0 deletions
|
|
@ -1222,6 +1222,284 @@ data:
|
|||
}
|
||||
],
|
||||
"type": "timeseries"
|
||||
},
|
||||
{
|
||||
"collapsed": false,
|
||||
"gridPos": {"h": 1, "w": 24, "x": 0, "y": 55},
|
||||
"id": 51,
|
||||
"title": "Services — état systemd",
|
||||
"type": "row"
|
||||
},
|
||||
{
|
||||
"collapsed": false,
|
||||
"gridPos": {"h": 1, "w": 24, "x": 0, "y": 56},
|
||||
"id": 70,
|
||||
"title": "storage-01",
|
||||
"type": "row"
|
||||
},
|
||||
{
|
||||
"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": "dnsmasq", "color": "green", "index": 0}, "0": {"text": "ARRÊTÉ", "color": "red", "index": 1}}}]
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {"h": 3, "w": 3, "x": 0, "y": 57},
|
||||
"id": 52,
|
||||
"options": {"reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto", "colorMode": "background", "graphMode": "none"},
|
||||
"title": "DNS (dnsmasq)",
|
||||
"targets": [{"datasource": {"type": "prometheus", "uid": "${datasource}"}, "expr": "node_systemd_unit_state{job=\"storage-01\",name=\"dnsmasq.service\",state=\"active\"}", "legendFormat": "", "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": "nfs-server", "color": "green", "index": 0}, "0": {"text": "ARRÊTÉ", "color": "red", "index": 1}}}]
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {"h": 3, "w": 3, "x": 3, "y": 57},
|
||||
"id": 53,
|
||||
"options": {"reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto", "colorMode": "background", "graphMode": "none"},
|
||||
"title": "NFS server",
|
||||
"targets": [{"datasource": {"type": "prometheus", "uid": "${datasource}"}, "expr": "node_systemd_unit_state{job=\"storage-01\",name=\"nfs-server.service\",state=\"active\"}", "legendFormat": "", "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": "postgresql", "color": "green", "index": 0}, "0": {"text": "ARRÊTÉ", "color": "red", "index": 1}}}]
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {"h": 3, "w": 3, "x": 6, "y": 57},
|
||||
"id": 54,
|
||||
"options": {"reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto", "colorMode": "background", "graphMode": "none"},
|
||||
"title": "PostgreSQL",
|
||||
"targets": [{"datasource": {"type": "prometheus", "uid": "${datasource}"}, "expr": "node_systemd_unit_state{job=\"storage-01\",name=\"postgresql-16.service\",state=\"active\"}", "legendFormat": "", "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": "qdrant", "color": "green", "index": 0}, "0": {"text": "ARRÊTÉ", "color": "red", "index": 1}}}]
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {"h": 3, "w": 3, "x": 9, "y": 57},
|
||||
"id": 55,
|
||||
"options": {"reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto", "colorMode": "background", "graphMode": "none"},
|
||||
"title": "Qdrant",
|
||||
"targets": [{"datasource": {"type": "prometheus", "uid": "${datasource}"}, "expr": "node_systemd_unit_state{job=\"storage-01\",name=\"qdrant.service\",state=\"active\"}", "legendFormat": "", "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": "litellm", "color": "green", "index": 0}, "0": {"text": "ARRÊTÉ", "color": "red", "index": 1}}}]
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {"h": 3, "w": 3, "x": 12, "y": 57},
|
||||
"id": 56,
|
||||
"options": {"reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto", "colorMode": "background", "graphMode": "none"},
|
||||
"title": "LiteLLM",
|
||||
"targets": [{"datasource": {"type": "prometheus", "uid": "${datasource}"}, "expr": "node_systemd_unit_state{job=\"storage-01\",name=\"litellm.service\",state=\"active\"}", "legendFormat": "", "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": "hermes-agent", "color": "green", "index": 0}, "0": {"text": "ARRÊTÉ", "color": "red", "index": 1}}}]
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {"h": 3, "w": 3, "x": 15, "y": 57},
|
||||
"id": 57,
|
||||
"options": {"reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto", "colorMode": "background", "graphMode": "none"},
|
||||
"title": "Hermes Agent",
|
||||
"targets": [{"datasource": {"type": "prometheus", "uid": "${datasource}"}, "expr": "node_systemd_unit_state{job=\"storage-01\",name=\"hermes-agent.service\",state=\"active\"}", "legendFormat": "", "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": "nftables", "color": "green", "index": 0}, "0": {"text": "ARRÊTÉ", "color": "red", "index": 1}}}]
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {"h": 3, "w": 3, "x": 18, "y": 57},
|
||||
"id": 58,
|
||||
"options": {"reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto", "colorMode": "background", "graphMode": "none"},
|
||||
"title": "nftables (firewall)",
|
||||
"targets": [{"datasource": {"type": "prometheus", "uid": "${datasource}"}, "expr": "node_systemd_unit_state{job=\"storage-01\",name=\"nftables.service\",state=\"active\"}", "legendFormat": "", "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": "chronyd", "color": "green", "index": 0}, "0": {"text": "ARRÊTÉ", "color": "red", "index": 1}}}]
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {"h": 3, "w": 3, "x": 21, "y": 57},
|
||||
"id": 59,
|
||||
"options": {"reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto", "colorMode": "background", "graphMode": "none"},
|
||||
"title": "NTP (chronyd)",
|
||||
"targets": [{"datasource": {"type": "prometheus", "uid": "${datasource}"}, "expr": "node_systemd_unit_state{job=\"storage-01\",name=\"chronyd.service\",state=\"active\"}", "legendFormat": "", "refId": "A"}],
|
||||
"type": "stat"
|
||||
},
|
||||
{
|
||||
"collapsed": false,
|
||||
"gridPos": {"h": 1, "w": 24, "x": 0, "y": 60},
|
||||
"id": 71,
|
||||
"title": "gpu-01",
|
||||
"type": "row"
|
||||
},
|
||||
{
|
||||
"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": "llama-server GPU", "color": "green", "index": 0}, "0": {"text": "ARRÊTÉ", "color": "red", "index": 1}}}]
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {"h": 3, "w": 6, "x": 0, "y": 61},
|
||||
"id": 60,
|
||||
"options": {"reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto", "colorMode": "background", "graphMode": "none"},
|
||||
"title": "llama-server GPU (:1234)",
|
||||
"targets": [{"datasource": {"type": "prometheus", "uid": "${datasource}"}, "expr": "node_systemd_unit_state{job=\"gpu-01-node\",name=\"llama-server.service\",state=\"active\"}", "legendFormat": "", "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": "llama-server system", "color": "green", "index": 0}, "0": {"text": "ARRÊTÉ", "color": "red", "index": 1}}}]
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {"h": 3, "w": 6, "x": 6, "y": 61},
|
||||
"id": 61,
|
||||
"options": {"reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto", "colorMode": "background", "graphMode": "none"},
|
||||
"title": "llama-server CPU system (:1236)",
|
||||
"targets": [{"datasource": {"type": "prometheus", "uid": "${datasource}"}, "expr": "node_systemd_unit_state{job=\"gpu-01-node\",name=\"llama-server-system.service\",state=\"active\"}", "legendFormat": "", "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": "llama-server monitor", "color": "green", "index": 0}, "0": {"text": "ARRÊTÉ", "color": "red", "index": 1}}}]
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {"h": 3, "w": 6, "x": 12, "y": 61},
|
||||
"id": 62,
|
||||
"options": {"reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto", "colorMode": "background", "graphMode": "none"},
|
||||
"title": "llama-server CPU monitor (:1237)",
|
||||
"targets": [{"datasource": {"type": "prometheus", "uid": "${datasource}"}, "expr": "node_systemd_unit_state{job=\"gpu-01-node\",name=\"llama-server-monitor.service\",state=\"active\"}", "legendFormat": "", "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": "chronyd", "color": "green", "index": 0}, "0": {"text": "ARRÊTÉ", "color": "red", "index": 1}}}]
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {"h": 3, "w": 6, "x": 18, "y": 61},
|
||||
"id": 63,
|
||||
"options": {"reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto", "colorMode": "background", "graphMode": "none"},
|
||||
"title": "NTP (chronyd)",
|
||||
"targets": [{"datasource": {"type": "prometheus", "uid": "${datasource}"}, "expr": "node_systemd_unit_state{job=\"gpu-01-node\",name=\"chronyd.service\",state=\"active\"}", "legendFormat": "", "refId": "A"}],
|
||||
"type": "stat"
|
||||
},
|
||||
{
|
||||
"datasource": {"type": "prometheus", "uid": "${datasource}"},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {"mode": "palette-classic"},
|
||||
"custom": {"lineWidth": 1, "fillOpacity": 8, "drawStyle": "line", "spanNulls": false},
|
||||
"unit": "Bps",
|
||||
"min": 0
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {"h": 7, "w": 12, "x": 0, "y": 64},
|
||||
"id": 64,
|
||||
"options": {"tooltip": {"mode": "multi"}, "legend": {"displayMode": "list", "placement": "bottom"}},
|
||||
"title": "NFS I/O — storage-01 (débit disque NFS)",
|
||||
"targets": [
|
||||
{"datasource": {"type": "prometheus", "uid": "${datasource}"}, "expr": "irate(node_nfsd_disk_bytes_read_total{job=\"storage-01\"}[5m])", "legendFormat": "read", "refId": "A"},
|
||||
{"datasource": {"type": "prometheus", "uid": "${datasource}"}, "expr": "irate(node_nfsd_disk_bytes_written_total{job=\"storage-01\"}[5m])", "legendFormat": "write", "refId": "B"}
|
||||
],
|
||||
"type": "timeseries"
|
||||
},
|
||||
{
|
||||
"datasource": {"type": "prometheus", "uid": "${datasource}"},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {"mode": "palette-classic"},
|
||||
"custom": {"lineWidth": 1, "fillOpacity": 8, "drawStyle": "line", "spanNulls": false},
|
||||
"unit": "reqps",
|
||||
"min": 0
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {"h": 7, "w": 12, "x": 12, "y": 64},
|
||||
"id": 65,
|
||||
"options": {"tooltip": {"mode": "multi"}, "legend": {"displayMode": "list", "placement": "bottom"}},
|
||||
"title": "NFS requêtes/s par type — storage-01",
|
||||
"targets": [
|
||||
{"datasource": {"type": "prometheus", "uid": "${datasource}"}, "expr": "irate(node_nfsd_requests_total{job=\"storage-01\",method=~\"read|write|getattr|lookup\"}[5m])", "legendFormat": "{{method}}", "refId": "A"}
|
||||
],
|
||||
"type": "timeseries"
|
||||
}
|
||||
],
|
||||
"refresh": "30s",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue