From: Ankush Behl Date: Mon, 9 Feb 2026 07:36:17 +0000 (+0530) Subject: mgr/dashboard: Added capacity metrics X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=bdbe9d2a4f12374893c0268d9b34f383b4f8ef58;p=ceph.git mgr/dashboard: Added capacity metrics Signed-off-by: Ankush Behl --- diff --git a/monitoring/ceph-mixin/dashboards_out/cephfs-subvolume.json b/monitoring/ceph-mixin/dashboards_out/cephfs-subvolume.json index a69774bc791..72b55f45fbc 100644 --- a/monitoring/ceph-mixin/dashboards_out/cephfs-subvolume.json +++ b/monitoring/ceph-mixin/dashboards_out/cephfs-subvolume.json @@ -11,6 +11,12 @@ "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, "type": "dashboard" } ] @@ -18,14 +24,107 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, - "id": 23, "links": [], + "liveNow": false, "panels": [ { "datasource": { "type": "prometheus", - "uid": "P43CA22E17D0F9596" + "uid": "${datasource}" + }, + "description": "A view that displays the current space used by the subvolume path along with its configured quota. If no quota is set, the quota is shown as Unlimited, giving a clear snapshot of usage versus available capacity.", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "0": { + "index": 0, + "text": "Unlimited" + } + }, + "type": "value" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 6, + "x": 0, + "y": 0 + }, + "id": 7, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "9.4.7", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "sum by (subvolyme_path) (ceph_mds_subvolume_metrics_used_bytes{cluster=\"$cluster\",fs_name=\"$filesystem\", subvolume_path=\"$subvolume\"})", + "instant": true, + "legendFormat": "Used", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "sum by (subvolyme_path) (ceph_mds_subvolume_metrics_quota_bytes{cluster=\"$cluster\",fs_name=\"$filesystem\", subvolume_path=\"$subvolume\"})", + "hide": false, + "instant": true, + "legendFormat": "Quota", + "range": true, + "refId": "B" + } + ], + "title": "Capacity", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" }, + "description": "Displays the current IOPS for the subvolume, giving a quick view of live I/O activity.", "fieldConfig": { "defaults": { "color": { @@ -36,7 +135,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null } ] }, @@ -45,9 +145,9 @@ "overrides": [] }, "gridPos": { - "h": 5, - "w": 8, - "x": 0, + "h": 6, + "w": 6, + "x": 6, "y": 0 }, "id": 1, @@ -68,17 +168,17 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "11.6.0", + "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "prometheus", - "uid": "P43CA22E17D0F9596" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "ceph_mds_subvolume_metrics_avg_read_iops{cluster=\"$cluster\",fs_name=\"$filesystem\", subvolume_path=\"$subvolume\"}", - "instant": true, + "expr": "sum by (subvolyme_path) (ceph_mds_subvolume_metrics_avg_read_iops{cluster=~\"$cluster\",fs_name=~\"$filesystem\", subvolume_path=~\"$subvolume\"})", + "instant": false, "legendFormat": "Read", "range": true, "refId": "A" @@ -86,13 +186,13 @@ { "datasource": { "type": "prometheus", - "uid": "P43CA22E17D0F9596" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "ceph_mds_subvolume_metrics_avg_write_iops{cluster=\"$cluster\",fs_name=\"$filesystem\", subvolume_path=\"$subvolume\"}", + "expr": "sum by (subvolyme_path) (ceph_mds_subvolume_metrics_avg_write_iops{cluster=~\"$cluster\",fs_name=~\"$filesystem\", subvolume_path=~\"$subvolume\"})", "hide": false, - "instant": true, + "instant": false, "legendFormat": "Write", "range": true, "refId": "B" @@ -104,8 +204,9 @@ { "datasource": { "type": "prometheus", - "uid": "P43CA22E17D0F9596" + "uid": "${datasource}" }, + "description": "Shows the current throughput for the subvolume (read/write), providing a quick view of data transfer rate.", "fieldConfig": { "defaults": { "color": { @@ -116,7 +217,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null } ] }, @@ -125,9 +227,9 @@ "overrides": [] }, "gridPos": { - "h": 5, - "w": 8, - "x": 8, + "h": 6, + "w": 6, + "x": 12, "y": 0 }, "id": 2, @@ -148,17 +250,17 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "11.6.0", + "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "prometheus", - "uid": "P43CA22E17D0F9596" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "ceph_mds_subvolume_metrics_avg_read_tp_Bps{cluster=\"$cluster\",fs_name=\"$filesystem\", subvolume_path=\"$subvolume\"}", - "instant": true, + "expr": "sum by (subvolyme_path) (ceph_mds_subvolume_metrics_avg_read_tp_Bps{cluster=~\"$cluster\",fs_name=~\"$filesystem\", subvolume_path=~\"$subvolume\"})", + "instant": false, "legendFormat": "Read", "range": true, "refId": "A" @@ -166,13 +268,13 @@ { "datasource": { "type": "prometheus", - "uid": "P43CA22E17D0F9596" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "ceph_mds_subvolume_metrics_avg_write_tp_Bps{cluster=\"$cluster\",fs_name=\"$filesystem\", subvolume_path=\"$subvolume\"}", + "expr": "sum by (subvolyme_path) (ceph_mds_subvolume_metrics_avg_write_tp_Bps{cluster=~\"$cluster\",fs_name=~\"$filesystem\", subvolume_path=~\"$subvolume\"})", "hide": false, - "instant": true, + "instant": false, "legendFormat": "Write", "range": true, "refId": "B" @@ -184,8 +286,9 @@ { "datasource": { "type": "prometheus", - "uid": "P43CA22E17D0F9596" + "uid": "${datasource}" }, + "description": "Displays the current average latency for the subvolume, indicating how responsive I/O operations are.", "fieldConfig": { "defaults": { "color": { @@ -196,7 +299,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null } ] }, @@ -205,9 +309,9 @@ "overrides": [] }, "gridPos": { - "h": 5, - "w": 8, - "x": 16, + "h": 6, + "w": 6, + "x": 18, "y": 0 }, "id": 3, @@ -228,17 +332,17 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "11.6.0", + "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "prometheus", - "uid": "P43CA22E17D0F9596" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "ceph_mds_subvolume_metrics_avg_read_lat_msec{cluster=\"$cluster\",fs_name=\"$filesystem\", subvolume_path=\"$subvolume\"}", - "instant": true, + "expr": "sum by (subvolyme_path) (ceph_mds_subvolume_metrics_avg_read_lat_msec{cluster=~\"$cluster\",fs_name=~\"$filesystem\", subvolume_path=~\"$subvolume\"})", + "instant": false, "legendFormat": "Read", "range": true, "refId": "A" @@ -246,13 +350,13 @@ { "datasource": { "type": "prometheus", - "uid": "P43CA22E17D0F9596" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "ceph_mds_subvolume_metrics_avg_write_lat_msec{cluster=\"$cluster\",fs_name=\"$filesystem\", subvolume_path=\"$subvolume\"}", + "expr": "sum by (subvolyme_path) (ceph_mds_subvolume_metrics_avg_write_lat_msec{cluster=~\"$cluster\",fs_name=~\"$filesystem\", subvolume_path=~\"$subvolume\"})", "hide": false, - "instant": true, + "instant": false, "legendFormat": "Write", "range": true, "refId": "B" @@ -264,21 +368,113 @@ { "datasource": { "type": "prometheus", - "uid": "P43CA22E17D0F9596" + "uid": "${datasource}" + }, + "description": "A time-series graph that shows the used capacity of the subvolume over time, helping track growth trends and understand how storage consumption changes.", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 10, + "w": 6, + "x": 0, + "y": 6 + }, + "id": 8, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "9.4.7", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "sum by (subvolyme_path) (ceph_mds_subvolume_metrics_used_bytes{cluster=~\"$cluster\",fs_name=~\"$filesystem\", subvolume_path=~\"$subvolume\"})", + "instant": true, + "legendFormat": "Used", + "range": true, + "refId": "A" + } + ], + "title": "Used Capacity", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" }, + "description": "A time-series chart showing IOPS over time, useful for spotting spikes, drops, and overall I/O patterns.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { - "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, - "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -287,7 +483,6 @@ "tooltip": false, "viz": false }, - "insertNulls": false, "lineInterpolation": "linear", "lineStyle": { "fill": "solid" @@ -312,7 +507,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null } ] }, @@ -321,10 +517,10 @@ "overrides": [] }, "gridPos": { - "h": 9, - "w": 8, - "x": 0, - "y": 5 + "h": 10, + "w": 6, + "x": 6, + "y": 6 }, "id": 4, "options": { @@ -345,11 +541,11 @@ { "datasource": { "type": "prometheus", - "uid": "P43CA22E17D0F9596" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "ceph_mds_subvolume_metrics_avg_read_iops{cluster=\"$cluster\",fs_name=\"$filesystem\", subvolume_path=\"$subvolume\"}", + "expr": "sum by (subvolyme_path) (ceph_mds_subvolume_metrics_avg_read_iops{cluster=~\"$cluster\",fs_name=~\"$filesystem\", subvolume_path=~\"$subvolume\"})", "instant": false, "legendFormat": "Read", "range": true, @@ -358,11 +554,11 @@ { "datasource": { "type": "prometheus", - "uid": "P43CA22E17D0F9596" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "ceph_mds_subvolume_metrics_avg_write_iops{cluster=\"$cluster\",fs_name=\"$filesystem\", subvolume_path=\"$subvolume\"}", + "expr": "sum by (subvolyme_path) (ceph_mds_subvolume_metrics_avg_write_iops{cluster=~\"$cluster\",fs_name=~\"$filesystem\", subvolume_path=~\"$subvolume\"})", "hide": false, "instant": false, "legendFormat": "Write", @@ -376,21 +572,20 @@ { "datasource": { "type": "prometheus", - "uid": "P43CA22E17D0F9596" + "uid": "${datasource}" }, + "description": "A time-series chart displaying throughput over time, helping identify bandwidth usage patterns and bursts.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { - "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, - "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -399,7 +594,6 @@ "tooltip": false, "viz": false }, - "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -421,7 +615,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null } ] }, @@ -430,10 +625,10 @@ "overrides": [] }, "gridPos": { - "h": 9, - "w": 8, - "x": 8, - "y": 5 + "h": 10, + "w": 6, + "x": 12, + "y": 6 }, "id": 5, "options": { @@ -454,11 +649,11 @@ { "datasource": { "type": "prometheus", - "uid": "P43CA22E17D0F9596" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "ceph_mds_subvolume_metrics_avg_read_tp_Bps{cluster=\"$cluster\",fs_name=\"$filesystem\", subvolume_path=\"$subvolume\"}", + "expr": "sum by (subvolyme_path) (ceph_mds_subvolume_metrics_avg_read_tp_Bps{cluster=~\"$cluster\",fs_name=~\"$filesystem\", subvolume_path=~\"$subvolume\"})", "instant": true, "legendFormat": "Read", "range": true, @@ -467,11 +662,11 @@ { "datasource": { "type": "prometheus", - "uid": "P43CA22E17D0F9596" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "ceph_mds_subvolume_metrics_avg_write_tp_Bps{cluster=\"$cluster\",fs_name=\"$filesystem\", subvolume_path=\"$subvolume\"}", + "expr": "sum by (subvolyme_path) (ceph_mds_subvolume_metrics_avg_write_tp_Bps{cluster=~\"$cluster\",fs_name=~\"$filesystem\", subvolume_path=~\"$subvolume\"})", "hide": false, "instant": true, "legendFormat": "Write", @@ -487,19 +682,18 @@ "type": "prometheus", "uid": "P43CA22E17D0F9596" }, + "description": "A time-series chart showing latency over time, useful for detecting performance degradation and intermittent delays.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { - "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, - "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", @@ -508,7 +702,6 @@ "tooltip": false, "viz": false }, - "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -530,7 +723,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -543,10 +737,10 @@ "overrides": [] }, "gridPos": { - "h": 9, - "w": 8, - "x": 16, - "y": 5 + "h": 10, + "w": 6, + "x": 18, + "y": 6 }, "id": 6, "options": { @@ -571,8 +765,8 @@ }, "editorMode": "code", "exemplar": false, - "expr": "ceph_mds_subvolume_metrics_avg_read_lat_msec{cluster=\"$cluster\",fs_name=\"$filesystem\", subvolume_path=\"$subvolume\"}", - "instant": true, + "expr": "sum by (subvolyme_path) (ceph_mds_subvolume_metrics_avg_read_lat_msec{cluster=~\"$cluster\",fs_name=~\"$filesystem\", subvolume_path=~\"$subvolume\"})", + "instant": false, "legendFormat": "Read", "range": true, "refId": "A" @@ -580,13 +774,13 @@ { "datasource": { "type": "prometheus", - "uid": "P43CA22E17D0F9596" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "ceph_mds_subvolume_metrics_avg_write_lat_msec{cluster=\"$cluster\",fs_name=\"$filesystem\", subvolume_path=\"$subvolume\"}", + "expr": "sum by (subvolyme_path) (ceph_mds_subvolume_metrics_avg_write_lat_msec{cluster=~\"$cluster\",fs_name=~\"$filesystem\", subvolume_path=~\"$subvolume\"})", "hide": false, - "instant": true, + "instant": false, "legendFormat": "Write", "range": true, "refId": "B" @@ -596,79 +790,114 @@ "type": "timeseries" } ], - "preload": false, "refresh": "10s", - "schemaVersion": 41, - "tags": [], + "revision": 1, + "schemaVersion": 38, + "style": "dark", + "tags": [ + "overview" + ], "templating": { "list": [ { "current": { - "text": "Dashboard1", - "value": "P43CA22E17D0F9596" + "selected": true, + "text": "Dashboard", + "value": "Dashboard" }, + "hide": 0, + "includeAll": false, "label": "Data Source", + "multi": false, "name": "datasource", "options": [], "query": "prometheus", + "queryValue": "", "refresh": 1, "regex": "", + "skipUrlSync": false, "type": "datasource" }, { "current": { - "text": "8bcee976-a4db-11f0-a341-525400d32de5", - "value": "8bcee976-a4db-11f0-a341-525400d32de5" + "selected": true, + "text": "cluster1", + "value": "cluster1" + }, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" }, - "definition": "label_values(ceph_health_status,cluster)", + "definition": "label_values(ceph_health_status, cluster)", + "description": "", + "hide": 0, + "includeAll": false, "label": "Cluster", + "multi": false, "name": "cluster", "options": [], "query": { - "qryType": 1, - "query": "label_values(ceph_health_status,cluster)", - "refId": "PrometheusVariableQueryEditor-VariableQuery" + "query": "label_values(ceph_health_status, cluster)", + "refId": "StandardVariableQuery" }, "refresh": 1, "regex": "", + "skipUrlSync": false, + "sort": 0, "type": "query" }, { "current": { - "text": "cephfs", - "value": "cephfs" + "selected": false, + "text": "a", + "value": "a" + }, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" }, "definition": "label_values(ceph_fs_metadata{cluster=~\"$cluster\"},name)", - "includeAll": true, + "hide": 0, + "includeAll": false, "label": "Filesystem", + "multi": false, "name": "filesystem", "options": [], "query": { - "qryType": 1, "query": "label_values(ceph_fs_metadata{cluster=~\"$cluster\"},name)", - "refId": "PrometheusVariableQueryEditor-VariableQuery" + "refId": "StandardVariableQuery" }, "refresh": 2, "regex": "", + "skipUrlSync": false, + "sort": 0, "type": "query" }, { "current": { + "selected": false, "text": "All", "value": "$__all" }, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "definition": "label_values(ceph_mds_subvolume_metrics_avg_read_iops{cluster=~\"$cluster\", fs_name=~\"$filesystem\"},subvolume_path)", + "hide": 0, "includeAll": true, "label": "Subvolume path", + "multi": false, "name": "subvolume", "options": [], "query": { - "qryType": 1, "query": "label_values(ceph_mds_subvolume_metrics_avg_read_iops{cluster=~\"$cluster\", fs_name=~\"$filesystem\"},subvolume_path)", - "refId": "PrometheusVariableQueryEditor-VariableQuery" + "refId": "StandardVariableQuery" }, "refresh": 2, "regex": "", + "skipUrlSync": false, + "sort": 0, "type": "query" } ] @@ -681,5 +910,6 @@ "timezone": "browser", "title": "Ceph - Filesystem Subvolume Overview", "uid": "af0wifl5kbda8d", - "version": 1 + "version": 1, + "weekStart": "" }