apiVersion: v1
data:
  rbd-details.json: |-
    {
       "__inputs": [ ],
       "__requires": [
          {
             "id": "grafana",
             "name": "Grafana",
             "type": "grafana",
             "version": "5.3.3"
          },
          {
             "id": "graph",
             "name": "Graph",
             "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": "Detailed Performance of RBD Images (IOPS/Throughput/Latency)",
       "editable": false,
       "gnetId": null,
       "graphTooltip": 0,
       "hideControls": false,
       "id": null,
       "links": [ ],
       "panels": [
          {
             "aliasColors": { },
             "bars": false,
             "dashLength": 10,
             "dashes": false,
             "datasource": "$datasource",
             "description": "RBD per-image IO statistics are disabled by default.\n\nPlease refer to https://docs.ceph.com/en/latest/mgr/prometheus/#rbd-io-statistics for information about how to enable those optionally.",
             "fieldConfig": {
                "defaults": {
                   "custom": {
                      "fillOpacity": 8,
                      "showPoints": "never"
                   },
                   "unit": "iops"
                }
             },
             "fill": 1,
             "fillGradient": 0,
             "gridPos": {
                "h": 9,
                "w": 8,
                "x": 0,
                "y": 0
             },
             "id": 2,
             "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 as zero",
             "percentage": false,
             "pointradius": 5,
             "points": false,
             "renderer": "flot",
             "repeat": null,
             "seriesOverrides": [ ],
             "spaceLength": 10,
             "stack": false,
             "steppedLine": false,
             "targets": [
                {
                   "expr": "rate(ceph_rbd_write_ops{pool=\"$pool\", image=\"$image\", cluster=~\"$cluster\", }[$__rate_interval])",
                   "format": "time_series",
                   "intervalFactor": 1,
                   "legendFormat": "{{pool}} Write",
                   "refId": "A"
                },
                {
                   "expr": "rate(ceph_rbd_read_ops{pool=\"$pool\", image=\"$image\", cluster=~\"$cluster\", }[$__rate_interval])",
                   "format": "time_series",
                   "intervalFactor": 1,
                   "legendFormat": "{{pool}} Read",
                   "refId": "B"
                }
             ],
             "thresholds": [ ],
             "timeFrom": null,
             "timeShift": null,
             "title": "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": null,
                   "logBase": 1,
                   "max": null,
                   "min": 0,
                   "show": true
                },
                {
                   "format": "iops",
                   "label": null,
                   "logBase": 1,
                   "max": null,
                   "min": 0,
                   "show": true
                }
             ]
          },
          {
             "aliasColors": { },
             "bars": false,
             "dashLength": 10,
             "dashes": false,
             "datasource": "$datasource",
             "description": "RBD per-image IO statistics are disabled by default.\n\nPlease refer to https://docs.ceph.com/en/latest/mgr/prometheus/#rbd-io-statistics for information about how to enable those optionally.",
             "fieldConfig": {
                "defaults": {
                   "custom": {
                      "fillOpacity": 8,
                      "showPoints": "never"
                   },
                   "unit": "Bps"
                }
             },
             "fill": 1,
             "fillGradient": 0,
             "gridPos": {
                "h": 9,
                "w": 8,
                "x": 8,
                "y": 0
             },
             "id": 3,
             "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 as zero",
             "percentage": false,
             "pointradius": 5,
             "points": false,
             "renderer": "flot",
             "repeat": null,
             "seriesOverrides": [ ],
             "spaceLength": 10,
             "stack": false,
             "steppedLine": false,
             "targets": [
                {
                   "expr": "rate(ceph_rbd_write_bytes{pool=\"$pool\", image=\"$image\", cluster=~\"$cluster\", }[$__rate_interval])",
                   "format": "time_series",
                   "intervalFactor": 1,
                   "legendFormat": "{{pool}} Write",
                   "refId": "A"
                },
                {
                   "expr": "rate(ceph_rbd_read_bytes{pool=\"$pool\", image=\"$image\", cluster=~\"$cluster\", }[$__rate_interval])",
                   "format": "time_series",
                   "intervalFactor": 1,
                   "legendFormat": "{{pool}} Read",
                   "refId": "B"
                }
             ],
             "thresholds": [ ],
             "timeFrom": null,
             "timeShift": null,
             "title": "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": null,
                   "logBase": 1,
                   "max": null,
                   "min": 0,
                   "show": true
                },
                {
                   "format": "Bps",
                   "label": null,
                   "logBase": 1,
                   "max": null,
                   "min": 0,
                   "show": true
                }
             ]
          },
          {
             "aliasColors": { },
             "bars": false,
             "dashLength": 10,
             "dashes": false,
             "datasource": "$datasource",
             "description": "RBD per-image IO statistics are disabled by default.\n\nPlease refer to https://docs.ceph.com/en/latest/mgr/prometheus/#rbd-io-statistics for information about how to enable those optionally.",
             "fieldConfig": {
                "defaults": {
                   "custom": {
                      "fillOpacity": 8,
                      "showPoints": "never"
                   },
                   "unit": "ns"
                }
             },
             "fill": 1,
             "fillGradient": 0,
             "gridPos": {
                "h": 9,
                "w": 8,
                "x": 16,
                "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 as zero",
             "percentage": false,
             "pointradius": 5,
             "points": false,
             "renderer": "flot",
             "repeat": null,
             "seriesOverrides": [ ],
             "spaceLength": 10,
             "stack": false,
             "steppedLine": false,
             "targets": [
                {
                   "expr": "rate(ceph_rbd_write_latency_sum{pool=\"$pool\", image=\"$image\", cluster=~\"$cluster\", }[$__rate_interval]) /\n  rate(ceph_rbd_write_latency_count{pool=\"$pool\", image=\"$image\", cluster=~\"$cluster\", }[$__rate_interval])\n",
                   "format": "time_series",
                   "intervalFactor": 1,
                   "legendFormat": "{{pool}} Write",
                   "refId": "A"
                },
                {
                   "expr": "rate(ceph_rbd_read_latency_sum{pool=\"$pool\", image=\"$image\", cluster=~\"$cluster\", }[$__rate_interval]) /\n  rate(ceph_rbd_read_latency_count{pool=\"$pool\", image=\"$image\", cluster=~\"$cluster\", }[$__rate_interval])\n",
                   "format": "time_series",
                   "intervalFactor": 1,
                   "legendFormat": "{{pool}} Read",
                   "refId": "B"
                }
             ],
             "thresholds": [ ],
             "timeFrom": null,
             "timeShift": null,
             "title": "Average Latency",
             "tooltip": {
                "shared": true,
                "sort": 0,
                "value_type": "individual"
             },
             "type": "timeseries",
             "xaxis": {
                "buckets": null,
                "mode": "time",
                "name": null,
                "show": true,
                "values": [ ]
             },
             "yaxes": [
                {
                   "format": "ns",
                   "label": null,
                   "logBase": 1,
                   "max": null,
                   "min": 0,
                   "show": true
                },
                {
                   "format": "ns",
                   "label": null,
                   "logBase": 1,
                   "max": null,
                   "min": 0,
                   "show": true
                }
             ]
          }
       ],
       "refresh": "30s",
       "rows": [ ],
       "schemaVersion": 16,
       "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": "",
                "multi": false,
                "name": "pool",
                "options": [ ],
                "query": "label_values(ceph_rbd_read_ops{cluster=~\"$cluster\", }, pool)",
                "refresh": 1,
                "regex": "",
                "sort": 0,
                "tagValuesQuery": "",
                "tags": [ ],
                "tagsQuery": "",
                "type": "query",
                "useTags": false
             },
             {
                "allValue": null,
                "current": { },
                "datasource": "$datasource",
                "hide": 0,
                "includeAll": false,
                "label": "",
                "multi": false,
                "name": "image",
                "options": [ ],
                "query": "label_values(ceph_rbd_read_ops{cluster=~\"$cluster\", , pool=\"$pool\"}, image)",
                "refresh": 1,
                "regex": "",
                "sort": 0,
                "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": "RBD Details",
       "uid": "YhCYGcuZz",
       "version": 0
    }
kind: ConfigMap
metadata:
  creationTimestamp: "2026-04-26T05:59:44Z"
  labels:
    grafana_dashboard: "1"
  name: kube-prometheus-stack-dashboard-rbd-details
  namespace: monitoring
  resourceVersion: "8459"
  uid: 42476e81-678a-4e26-8726-b0539f469baa
