From 633aa2e3d85251f84c55074aeb62011b8b16cad1 Mon Sep 17 00:00:00 2001 From: Apfelwurm Date: Mon, 3 Nov 2025 15:33:25 +0100 Subject: [PATCH] add all mountpoints to free disk space in Docker Swarm dashboard --- grafana-alerts.json.tmpl | 2 +- grafana-swarm-dashboard.json | 176 ++++++++++++++++++++++------------- 2 files changed, 111 insertions(+), 67 deletions(-) diff --git a/grafana-alerts.json.tmpl b/grafana-alerts.json.tmpl index c7b8cab..c2803f7 100644 --- a/grafana-alerts.json.tmpl +++ b/grafana-alerts.json.tmpl @@ -216,7 +216,7 @@ "datasourceUid": "PBFA97CFB590B2093", "model": { "editorMode": "code", - "expr": "(node_filesystem_free_bytes{fstype=\"ext4\",mountpoint=~\"(/$)|(/media.*)\"} / node_filesystem_size_bytes{fstype=\"ext4\",mountpoint=~\"(/$)|(/media.*)\"}) * 100", + "expr": "(node_filesystem_free_bytes{fstype=\"ext4\"} / node_filesystem_size_bytes{fstype=\"ext4\"}) * 100", "instant": true, "intervalMs": 1000, "legendFormat": "__auto", diff --git a/grafana-swarm-dashboard.json b/grafana-swarm-dashboard.json index 27de8bf..cbae818 100644 --- a/grafana-swarm-dashboard.json +++ b/grafana-swarm-dashboard.json @@ -93,7 +93,6 @@ }, "hideTimeOverride": true, "id": 2, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -107,10 +106,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "10.0.2", + "pluginVersion": "10.4.14", "targets": [ { "datasource": { @@ -172,7 +173,6 @@ "y": 0 }, "id": 1, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -186,10 +186,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "10.0.2", + "pluginVersion": "10.4.14", "targets": [ { "datasource": { @@ -251,7 +253,6 @@ }, "hideTimeOverride": true, "id": 4, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -265,10 +266,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "10.0.2", + "pluginVersion": "10.4.14", "targets": [ { "datasource": { @@ -335,9 +338,10 @@ "y": 0 }, "id": 8, - "links": [], "maxDataPoints": 100, "options": { + "minVizHeight": 75, + "minVizWidth": 75, "orientation": "horizontal", "reduceOptions": { "calcs": [ @@ -348,9 +352,10 @@ }, "showThresholdLabels": false, "showThresholdMarkers": true, + "sizing": "auto", "text": {} }, - "pluginVersion": "10.0.2", + "pluginVersion": "10.4.14", "targets": [ { "datasource": { @@ -405,13 +410,12 @@ }, "lines": true, "linewidth": 1, - "links": [], "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, - "pluginVersion": "10.0.2", + "pluginVersion": "10.4.14", "pointradius": 5, "points": false, "renderer": "flot", @@ -507,7 +511,6 @@ }, "hideTimeOverride": true, "id": 3, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -521,10 +524,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "10.0.2", + "pluginVersion": "10.4.14", "targets": [ { "datasource": { @@ -585,7 +590,6 @@ }, "hideTimeOverride": true, "id": 9, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -599,10 +603,12 @@ "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "10.0.2", + "pluginVersion": "10.4.14", "targets": [ { "datasource": { @@ -671,9 +677,10 @@ }, "hideTimeOverride": true, "id": 11, - "links": [], "maxDataPoints": 100, "options": { + "minVizHeight": 75, + "minVizWidth": 75, "orientation": "horizontal", "reduceOptions": { "calcs": [ @@ -684,9 +691,10 @@ }, "showThresholdLabels": false, "showThresholdMarkers": true, + "sizing": "auto", "text": {} }, - "pluginVersion": "10.0.2", + "pluginVersion": "10.4.14", "targets": [ { "datasource": { @@ -713,7 +721,39 @@ "fieldConfig": { "defaults": { "color": { - "mode": "thresholds" + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "left", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } }, "mappings": [ { @@ -747,33 +787,42 @@ }, "unit": "percent" }, - "overrides": [] + "overrides": [ + { + "matcher": { + "id": "byType", + "options": "time" + }, + "properties": [ + { + "id": "custom.axisPlacement", + "value": "hidden" + } + ] + } + ] }, "gridPos": { - "h": 4, - "w": 2.6666666666666665, + "h": 6, + "w": 6, "x": 0, "y": 8 }, "id": 10, - "links": [], "maxDataPoints": 100, - "maxPerRow": 12, "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "last" - ], - "fields": "", - "values": false + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true }, - "textMode": "auto" + "tooltip": { + "mode": "single", + "sort": "none" + } }, - "pluginVersion": "10.0.2", + "pluginVersion": "10.4.14", "repeat": "node_id", "repeatDirection": "h", "targets": [ @@ -782,18 +831,20 @@ "type": "prometheus", "uid": "PBFA97CFB590B2093" }, + "editorMode": "code", "exemplar": true, - "expr": "sum((node_filesystem_free_bytes{fstype=\"ext4\",mountpoint=~\"(/$)|(/media.*)\"} / node_filesystem_size_bytes{fstype=\"ext4\",mountpoint=~\"(/$)|(/media.*)\"}) * on(instance) group_left(node_name) node_meta{node_name=~\"$node_id\"} * 100) / count(node_meta * on(instance) group_left(node_name) node_meta{node_name=~\"$node_id\"})", + "expr": "node_filesystem_free_bytes{fstype=\"ext4\"} / node_filesystem_size_bytes{fstype=\"ext4\"} * on(instance) group_left(node_name) node_meta{node_name=~\"$node_id\"} * 100", "format": "time_series", "interval": "", "intervalFactor": 2, - "legendFormat": "", + "legendFormat": "{{mountpoint}}", + "range": true, "refId": "A", "step": 20 } ], "title": "Available Disk Space $node_id", - "type": "stat" + "type": "timeseries" }, { "aliasColors": {}, @@ -811,7 +862,7 @@ "h": 7, "w": 24, "x": 0, - "y": 12 + "y": 14 }, "hiddenSeries": false, "id": 14, @@ -830,13 +881,12 @@ }, "lines": true, "linewidth": 1, - "links": [], "nullPointMode": "null as zero", "options": { "alertThreshold": true }, "percentage": false, - "pluginVersion": "10.0.2", + "pluginVersion": "10.4.14", "pointradius": 5, "points": false, "renderer": "flot", @@ -900,6 +950,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -913,6 +964,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -961,12 +1013,11 @@ }, "gridPos": { "h": 7, - "w": 2.6666666666666665, + "w": 6, "x": 0, - "y": 19 + "y": 21 }, "id": 15, - "links": [], "maxPerRow": 12, "options": { "legend": { @@ -1074,7 +1125,7 @@ "h": 7, "w": 24, "x": 0, - "y": 26 + "y": 28 }, "hiddenSeries": false, "id": 16, @@ -1091,13 +1142,12 @@ }, "lines": true, "linewidth": 1, - "links": [], "nullPointMode": "null as zero", "options": { "alertThreshold": true }, "percentage": false, - "pluginVersion": "10.0.2", + "pluginVersion": "10.4.14", "pointradius": 5, "points": false, "renderer": "flot", @@ -1178,7 +1228,7 @@ "h": 7, "w": 12, "x": 0, - "y": 33 + "y": 35 }, "hiddenSeries": false, "id": 18, @@ -1195,7 +1245,6 @@ }, "lines": true, "linewidth": 1, - "links": [], "nullPointMode": "null as zero", "options": { "alertThreshold": true @@ -1281,7 +1330,7 @@ "h": 7, "w": 12, "x": 12, - "y": 33 + "y": 35 }, "hiddenSeries": false, "id": 19, @@ -1300,7 +1349,6 @@ }, "lines": true, "linewidth": 1, - "links": [], "nullPointMode": "null as zero", "options": { "alertThreshold": true @@ -1376,7 +1424,7 @@ "h": 7, "w": 18, "x": 0, - "y": 40 + "y": 42 }, "hiddenSeries": false, "id": 12, @@ -1397,7 +1445,6 @@ }, "lines": true, "linewidth": 1, - "links": [], "nullPointMode": "null", "options": { "alertThreshold": true @@ -1499,10 +1546,9 @@ "h": 7, "w": 6, "x": 18, - "y": 40 + "y": 42 }, "id": 7, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "none", @@ -1600,10 +1646,9 @@ "h": 7, "w": 24, "x": 0, - "y": 47 + "y": 49 }, "id": 17, - "links": [], "options": { "legend": { "calcs": [], @@ -1658,7 +1703,7 @@ "h": 9, "w": 24, "x": 0, - "y": 54 + "y": 56 }, "id": 30, "options": { @@ -1688,8 +1733,7 @@ } ], "refresh": "", - "schemaVersion": 38, - "style": "dark", + "schemaVersion": 39, "tags": [ "swarmprom", "prometheus", @@ -1836,6 +1880,6 @@ "timezone": "", "title": "Docker Swarm Nodes", "uid": "BPlb-Sgik", - "version": 24, + "version": 7, "weekStart": "" -} +} \ No newline at end of file