apiVersion: v1
data:
  pool-detail.json: |-
    {
       "__inputs": [ ],
       "__requires": [
          {
             "id": "grafana",
             "name": "Grafana",
             "type": "grafana",
             "version": "5.3.2"
          },
          {
             "id": "graph",
             "name": "Graph",
             "type": "panel",
             "version": "5.0.0"
          },
          {
             "id": "singlestat",
             "name": "Singlestat",
             "type": "panel",
             "version": "5.0.0"
          }
       ],
       "annotations": {
          "list": [
             {
                "builtIn": 1,
                "datasource": "-- Grafana --",
                "enable": true,
                "hide": true,
                "iconColor": "rgba(0, 211, 255, 1)",
                "name": "Annotations & Alerts",
                "showIn": 0,
                "tags": [ ],
                "type": "dashboard"
             }
          ]
       },
       "description": "",
       "editable": false,
       "gnetId": null,
       "graphTooltip": 0,
       "hideControls": false,
       "id": null,
       "links": [ ],
       "panels": [
          {
             "cacheTimeout": null,
             "colorBackground": false,
             "colorValue": true,
             "colors": [
                "#299c46",
                "rgba(237, 129, 40, 0.89)",
                "#d44a3a"
             ],
             "datasource": "$datasource",
             "format": "percentunit",
             "gauge": {
                "maxValue": 1,
                "minValue": 0,
                "show": true,
                "thresholdLabels": false,
                "thresholdMarkers": true
             },
             "gridPos": {
                "h": 7,
                "w": 7,
                "x": 0,
                "y": 0
             },
             "id": 2,
             "interval": null,
             "links": [ ],
             "mappingType": 1,
             "mappingTypes": [
                {
                   "name": "value to text",
                   "value": 1
                },
                {
                   "name": "range to text",
                   "value": 2
                }
             ],
             "maxDataPoints": 100,
             "nullPointMode": "connected",
             "nullText": null,
             "postfix": "",
             "postfixFontSize": "50%",
             "prefix": "",
             "prefixFontSize": "50%",
             "rangeMaps": [
                {
                   "from": "null",
                   "text": "N/A",
                   "to": "null"
                }
             ],
             "sparkline": {
                "fillColor": "rgba(31, 118, 189, 0.18)",
                "full": false,
                "lineColor": "rgb(31, 120, 193)",
                "show": true
             },
             "tableColumn": "",
             "targets": [
                {
                   "expr": "(ceph_pool_stored{cluster=~\"$cluster\", } / (ceph_pool_stored{cluster=~\"$cluster\", } + ceph_pool_max_avail{cluster=~\"$cluster\", })) *\n  on(pool_id) group_left(instance, name) ceph_pool_metadata{name=~\"$pool_name\", cluster=~\"$cluster\", }\n",
                   "format": "time_series",
                   "intervalFactor": 1,
                   "legendFormat": "",
                   "refId": "A"
                }
             ],
             "thresholds": ".7,.8",
             "title": "Capacity used",
             "type": "singlestat",
             "valueFontSize": "80%",
             "valueMaps": [
                {
                   "op": "=",
                   "text": "N/A",
                   "value": "null"
                }
             ],
             "valueName": "current"
          },
          {
             "cacheTimeout": null,
             "colorBackground": false,
             "colorValue": 100,
             "colors": [
                "#299c46",
                "rgba(237, 129, 40, 0.89)",
                "#d44a3a"
             ],
             "datasource": "$datasource",
             "description": "Time till pool is full assuming the average fill rate of the last 6 hours",
             "format": "s",
             "gauge": {
                "maxValue": false,
                "minValue": 0,
                "show": false,
                "thresholdLabels": false,
                "thresholdMarkers": true
             },
             "gridPos": {
                "h": 7,
                "w": 5,
                "x": 7,
                "y": 0
             },
             "id": 3,
             "interval": null,
             "links": [ ],
             "mappingType": 1,
             "mappingTypes": [
                {
                   "name": "value to text",
                   "value": 1
                },
                {
                   "name": "range to text",
                   "value": 2
                }
             ],
             "maxDataPoints": 100,
             "nullPointMode": "connected",
             "nullText": null,
             "postfix": "",
             "postfixFontSize": "50%",
             "prefix": "",
             "prefixFontSize": "50%",
             "rangeMaps": [
                {
                   "from": "null",
                   "text": "N/A",
                   "to": "null"
                }
             ],
             "sparkline": {
                "fillColor": "rgba(31, 118, 189, 0.18)",
                "full": false,
                "lineColor": "rgb(31, 120, 193)",
                "show": ""
             },
             "tableColumn": "",
             "targets": [
                {
                   "expr": "(ceph_pool_max_avail{cluster=~\"$cluster\", } / deriv(ceph_pool_stored{cluster=~\"$cluster\", }[6h])) *\n  on(pool_id) group_left(instance, name) ceph_pool_metadata{name=~\"$pool_name\", cluster=~\"$cluster\", } > 0\n",
                   "format": "time_series",
                   "intervalFactor": 1,
                   "legendFormat": "",
                   "refId": "A"
                }
             ],
             "thresholds": "current",
             "title": "Time till full",
             "type": "singlestat",
             "valueFontSize": "80%",
             "valueMaps": [
                {
                   "op": "=",
                   "text": "N/A",
                   "value": "null"
                }
             ],
             "valueName": false
          },
          {
             "aliasColors": {
                "read_op_per_sec": "#3F6833",
                "write_op_per_sec": "#E5AC0E"
             },
             "bars": false,
             "dashLength": 10,
             "dashes": false,
             "datasource": "$datasource",
             "description": "",
             "fieldConfig": {
                "defaults": {
                   "custom": {
                      "fillOpacity": 8,
                      "showPoints": "never"
                   },
                   "unit": "ops"
                }
             },
             "fill": 1,
             "fillGradient": 0,
             "gridPos": {
                "h": 7,
                "w": 12,
                "x": 12,
                "y": 0
             },
             "id": 4,
             "legend": {
                "alignAsTable": false,
                "avg": false,
                "current": false,
                "max": false,
                "min": false,
                "rightSide": false,
                "show": true,
                "sideWidth": null,
                "total": false,
                "values": false
             },
             "lines": true,
             "linewidth": 1,
             "links": [ ],
             "nullPointMode": "null",
             "percentage": false,
             "pointradius": 5,
             "points": false,
             "renderer": "flot",
             "repeat": null,
             "seriesOverrides": [ ],
             "spaceLength": 10,
             "stack": false,
             "steppedLine": false,
             "targets": [
                {
                   "expr": "deriv(ceph_pool_objects{cluster=~\"$cluster\", }[1m]) *\n  on(pool_id) group_left(instance, name) ceph_pool_metadata{name=~\"$pool_name\", cluster=~\"$cluster\", }\n",
                   "format": "time_series",
                   "intervalFactor": 1,
                   "legendFormat": "Objects per second",
                   "refId": "A"
                }
             ],
             "thresholds": [ ],
             "timeFrom": null,
             "timeShift": null,
             "title": "$pool_name Object Ingress/Egress",
             "tooltip": {
                "shared": true,
                "sort": 0,
                "value_type": "individual"
             },
             "type": "timeseries",
             "xaxis": {
                "buckets": null,
                "mode": "time",
                "name": null,
                "show": true,
                "values": [ ]
             },
             "yaxes": [
                {
                   "format": "ops",
                   "label": "Objects out(-) / in(+) ",
                   "logBase": 1,
                   "max": null,
                   "min": null,
                   "show": true
                },
                {
                   "format": "short",
                   "label": null,
                   "logBase": 1,
                   "max": null,
                   "min": null,
                   "show": true
                }
             ]
          },
          {
             "aliasColors": {
                "read_op_per_sec": "#3F6833",
                "write_op_per_sec": "#E5AC0E"
             },
             "bars": false,
             "dashLength": 10,
             "dashes": false,
             "datasource": "$datasource",
             "description": "",
             "fieldConfig": {
                "defaults": {
                   "custom": {
                      "fillOpacity": 8,
                      "showPoints": "never"
                   },
                   "unit": "iops"
                }
             },
             "fill": 1,
             "fillGradient": 0,
             "gridPos": {
                "h": 7,
                "w": 12,
                "x": 0,
                "y": 7
             },
             "id": 5,
             "legend": {
                "alignAsTable": false,
                "avg": false,
                "current": false,
                "max": false,
                "min": false,
                "rightSide": false,
                "show": true,
                "sideWidth": null,
                "total": false,
                "values": false
             },
             "lines": true,
             "linewidth": 1,
             "links": [ ],
             "nullPointMode": "null",
             "percentage": false,
             "pointradius": 5,
             "points": false,
             "renderer": "flot",
             "repeat": null,
             "seriesOverrides": [
                {
                   "alias": "reads",
                   "transform": "negative-Y"
                }
             ],
             "spaceLength": 10,
             "stack": false,
             "steppedLine": false,
             "targets": [
                {
                   "expr": "rate(ceph_pool_rd{cluster=~\"$cluster\", }[$__rate_interval]) *\n  on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\", cluster=~\"$cluster\", }\n",
                   "format": "time_series",
                   "intervalFactor": 1,
                   "legendFormat": "reads",
                   "refId": "A"
                },
                {
                   "expr": "rate(ceph_pool_wr{cluster=~\"$cluster\", }[$__rate_interval]) *\n  on(pool_id) group_left(instance, name) ceph_pool_metadata{name=~\"$pool_name\", cluster=~\"$cluster\", }\n",
                   "format": "time_series",
                   "intervalFactor": 1,
                   "legendFormat": "writes",
                   "refId": "B"
                }
             ],
             "thresholds": [ ],
             "timeFrom": null,
             "timeShift": null,
             "title": "$pool_name Client IOPS",
             "tooltip": {
                "shared": true,
                "sort": 0,
                "value_type": "individual"
             },
             "type": "timeseries",
             "xaxis": {
                "buckets": null,
                "mode": "time",
                "name": null,
                "show": true,
                "values": [ ]
             },
             "yaxes": [
                {
                   "format": "iops",
                   "label": "Read (-) / Write (+)",
                   "logBase": 1,
                   "max": null,
                   "min": null,
                   "show": true
                },
                {
                   "format": "short",
                   "label": null,
                   "logBase": 1,
                   "max": null,
                   "min": null,
                   "show": true
                }
             ]
          },
          {
             "aliasColors": {
                "read_op_per_sec": "#3F6833",
                "write_op_per_sec": "#E5AC0E"
             },
             "bars": false,
             "dashLength": 10,
             "dashes": false,
             "datasource": "$datasource",
             "description": "",
             "fieldConfig": {
                "defaults": {
                   "custom": {
                      "fillOpacity": 8,
                      "showPoints": "never"
                   },
                   "unit": "Bps"
                }
             },
             "fill": 1,
             "fillGradient": 0,
             "gridPos": {
                "h": 7,
                "w": 12,
                "x": 12,
                "y": 7
             },
             "id": 6,
             "legend": {
                "alignAsTable": false,
                "avg": false,
                "current": false,
                "max": false,
                "min": false,
                "rightSide": false,
                "show": true,
                "sideWidth": null,
                "total": false,
                "values": false
             },
             "lines": true,
             "linewidth": 1,
             "links": [ ],
             "nullPointMode": "null",
             "percentage": false,
             "pointradius": 5,
             "points": false,
             "renderer": "flot",
             "repeat": null,
             "seriesOverrides": [
                {
                   "alias": "reads",
                   "transform": "negative-Y"
                }
             ],
             "spaceLength": 10,
             "stack": false,
             "steppedLine": false,
             "targets": [
                {
                   "expr": "rate(ceph_pool_rd_bytes{cluster=~\"$cluster\", }[$__rate_interval]) +\n  on(pool_id) group_left(instance, name) ceph_pool_metadata{name=~\"$pool_name\", cluster=~\"$cluster\", }\n",
                   "format": "time_series",
                   "intervalFactor": 1,
                   "legendFormat": "reads",
                   "refId": "A"
                },
                {
                   "expr": "rate(ceph_pool_wr_bytes{cluster=~\"$cluster\", }[$__rate_interval]) +\n  on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\", cluster=~\"$cluster\", }\n",
                   "format": "time_series",
                   "intervalFactor": 1,
                   "legendFormat": "writes",
                   "refId": "B"
                }
             ],
             "thresholds": [ ],
             "timeFrom": null,
             "timeShift": null,
             "title": "$pool_name Client Throughput",
             "tooltip": {
                "shared": true,
                "sort": 0,
                "value_type": "individual"
             },
             "type": "timeseries",
             "xaxis": {
                "buckets": null,
                "mode": "time",
                "name": null,
                "show": true,
                "values": [ ]
             },
             "yaxes": [
                {
                   "format": "Bps",
                   "label": "Read (-) / Write (+)",
                   "logBase": 1,
                   "max": null,
                   "min": null,
                   "show": true
                },
                {
                   "format": "short",
                   "label": null,
                   "logBase": 1,
                   "max": null,
                   "min": null,
                   "show": true
                }
             ]
          },
          {
             "aliasColors": {
                "read_op_per_sec": "#3F6833",
                "write_op_per_sec": "#E5AC0E"
             },
             "bars": false,
             "dashLength": 10,
             "dashes": false,
             "datasource": "$datasource",
             "description": "",
             "fieldConfig": {
                "defaults": {
                   "custom": {
                      "fillOpacity": 8,
                      "showPoints": "never"
                   },
                   "unit": "short"
                }
             },
             "fill": 1,
             "fillGradient": 0,
             "gridPos": {
                "h": 7,
                "w": 12,
                "x": 0,
                "y": 14
             },
             "id": 7,
             "legend": {
                "alignAsTable": false,
                "avg": false,
                "current": false,
                "max": false,
                "min": false,
                "rightSide": false,
                "show": true,
                "sideWidth": null,
                "total": false,
                "values": false
             },
             "lines": true,
             "linewidth": 1,
             "links": [ ],
             "nullPointMode": "null",
             "percentage": false,
             "pointradius": 5,
             "points": false,
             "renderer": "flot",
             "repeat": null,
             "seriesOverrides": [ ],
             "spaceLength": 10,
             "stack": false,
             "steppedLine": false,
             "targets": [
                {
                   "expr": "ceph_pool_objects{cluster=~\"$cluster\", } *\n  on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\", cluster=~\"$cluster\", }\n",
                   "format": "time_series",
                   "intervalFactor": 1,
                   "legendFormat": "Number of Objects",
                   "refId": "A"
                }
             ],
             "thresholds": [ ],
             "timeFrom": null,
             "timeShift": null,
             "title": "$pool_name Objects",
             "tooltip": {
                "shared": true,
                "sort": 0,
                "value_type": "individual"
             },
             "type": "timeseries",
             "xaxis": {
                "buckets": null,
                "mode": "time",
                "name": null,
                "show": true,
                "values": [ ]
             },
             "yaxes": [
                {
                   "format": "short",
                   "label": "Objects",
                   "logBase": 1,
                   "max": null,
                   "min": null,
                   "show": true
                },
                {
                   "format": "short",
                   "label": null,
                   "logBase": 1,
                   "max": null,
                   "min": null,
                   "show": true
                }
             ]
          }
       ],
       "refresh": "30s",
       "rows": [ ],
       "schemaVersion": 22,
       "style": "dark",
       "tags": [
          "ceph-mixin"
       ],
       "templating": {
          "list": [
             {
                "current": {
                   "text": "default",
                   "value": "default"
                },
                "hide": 0,
                "label": "Data Source",
                "name": "datasource",
                "options": [ ],
                "query": "prometheus",
                "refresh": 1,
                "regex": "",
                "type": "datasource"
             },
             {
                "allValue": null,
                "current": { },
                "datasource": "$datasource",
                "hide": 0,
                "includeAll": false,
                "label": "cluster",
                "multi": false,
                "name": "cluster",
                "options": [ ],
                "query": "label_values(ceph_health_status, cluster)",
                "refresh": 1,
                "regex": "(.*)",
                "sort": 1,
                "tagValuesQuery": "",
                "tags": [ ],
                "tagsQuery": "",
                "type": "query",
                "useTags": false
             },
             {
                "allValue": null,
                "current": { },
                "datasource": "$datasource",
                "hide": 0,
                "includeAll": false,
                "label": "Pool Name",
                "multi": false,
                "name": "pool_name",
                "options": [ ],
                "query": "label_values(ceph_pool_metadata{cluster=~\"$cluster\", }, name)",
                "refresh": 1,
                "regex": "",
                "sort": 1,
                "tagValuesQuery": "",
                "tags": [ ],
                "tagsQuery": "",
                "type": "query",
                "useTags": false
             }
          ]
       },
       "time": {
          "from": "now-1h",
          "to": "now"
       },
       "timepicker": {
          "refresh_intervals": [
             "5s",
             "10s",
             "30s",
             "1m",
             "5m",
             "15m",
             "30m",
             "1h",
             "2h",
             "1d"
          ],
          "time_options": [
             "5m",
             "15m",
             "1h",
             "6h",
             "12h",
             "24h",
             "2d",
             "7d",
             "30d"
          ]
       },
       "timezone": "",
       "title": "Ceph Pool Details",
       "uid": "-xyV8KCiz",
       "version": 0
    }
kind: ConfigMap
metadata:
  creationTimestamp: "2026-03-20T10:21:06Z"
  labels:
    grafana_dashboard: "1"
  name: kube-prometheus-stack-dashboard-pool-detail
  namespace: monitoring
  resourceVersion: "3666"
  uid: 3adbebda-4f9e-4677-9533-3d96e1eacb77
