"list": []
},
"description": "Ceph cluster overview",
- "editable": true,
+ "editable": false,
"gnetId": null,
"graphTooltip": 0,
"id": null,
"rgb(255, 0, 0)"
],
"datasource": "$datasource",
- "editable": true,
+ "editable": false,
"error": false,
"format": "none",
"gauge": {
"steppedLine": false,
"targets": [
{
- "expr": "sum(deriv(ceph_pool_bytes_used{instance=~\"$instance\"}[1m]))",
+ "expr": "sum(deriv(ceph_pool_stored{instance=~\"$instance\"}[1m]))",
"format": "time_series",
"intervalFactor": 1,
"refId": "A"
{
+ "__inputs": [],
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
- "version": "5.0.0"
+ "version": "5.3.2"
},
{
"type": "panel",
"gnetId": null,
"graphTooltip": 0,
"id": null,
- "iteration": 1534386614546,
+ "iteration": 1557392920097,
"links": [],
"panels": [
{
"dashLength": 10,
"dashes": false,
"datasource": "$datasource",
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 9,
"w": 12,
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "/.*Reads/",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
"stack": true,
"steppedLine": false,
"expr": "sum(ceph_objecter_op_r{ceph_daemon=~\"($mds_servers).*\"})",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "MDS Reads",
+ "legendFormat": "Read Ops",
"refId": "A"
},
{
"expr": "sum(ceph_objecter_op_w{ceph_daemon=~\"($mds_servers).*\"})",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "MDS Writes",
+ "legendFormat": "Write Ops",
"refId": "B"
}
],
"yaxes": [
{
"format": "none",
- "label": null,
+ "label": "Reads(-) / Writes (+)",
"logBase": 1,
"max": null,
"min": "0",
"min": null,
"show": true
}
- ]
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
},
{
"aliasColors": {},
"dashLength": 10,
"dashes": false,
"datasource": "$datasource",
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 9,
"w": 12,
"yaxes": [
{
"format": "none",
- "label": null,
+ "label": "Client Requests",
"logBase": 1,
"max": null,
"min": "0",
"min": null,
"show": false
}
- ]
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
}
],
"refresh": "15s",
"list": [
{
"current": {
- "tags": [],
"text": "default",
"value": "default"
},
"query": "prometheus",
"refresh": 1,
"regex": "",
+ "skipUrlSync": false,
"type": "datasource"
},
{
"query": "label_values(ceph_mds_inodes, ceph_daemon)",
"refresh": 1,
"regex": "",
+ "skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
"tags": [],
},
"timezone": "",
"title": "MDS Performance",
- "uid": "rRfFzWtik",
+ "uid": "tbO9LAiZz",
"version": 2
}
{
+ "__inputs": [],
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
- "version": "5.0.0"
+ "version": "5.3.2"
},
{
"type": "panel",
"gnetId": null,
"graphTooltip": 0,
"id": null,
- "iteration": 1538021829737,
+ "iteration": 1557386759572,
"links": [
{
"asDropdown": true,
"dashes": false,
"datasource": "$datasource",
"description": "Shows the CPU breakdown. When multiple servers are selected, only the first host's cpu data is shown",
- "fill": 3,
+ "fill": 1,
"gridPos": {
"h": 10,
"w": 6,
},
"yaxes": [
{
- "format": "short",
- "label": "",
+ "format": "percent",
+ "label": "% Utilization",
"logBase": 1,
"max": "100",
- "min": "0",
+ "min": null,
"show": true
},
{
"min": null,
"show": false
}
- ]
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
},
{
"aliasColors": {
"yaxes": [
{
"format": "bytes",
- "label": null,
+ "label": "RAM used",
"logBase": 1,
"max": null,
"min": "0",
"min": null,
"show": false
}
- ]
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
},
{
"aliasColors": {},
"dashes": false,
"datasource": "$datasource",
"description": "Show the network load (rx,tx) across all interfaces (excluding loopback 'lo')",
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 10,
"w": 6,
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "/.*tx/",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
- "stack": true,
+ "stack": false,
"steppedLine": false,
"targets": [
{
"yaxes": [
{
"format": "decbytes",
- "label": null,
+ "label": "Send (-) / Receive (+)",
"logBase": 1,
"max": null,
- "min": "0",
+ "min": null,
"show": true
},
{
"min": null,
"show": false
}
- ]
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
},
{
"aliasColors": {},
"dashLength": 10,
"dashes": false,
"datasource": "$datasource",
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 5,
"w": 3,
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "/.*tx/",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "irate(node_network_transmit_drop{instance=~\"[[ceph_hosts]].*\"}[1m]) or irate(node_network_transmit_drop_total{instance=~\"[[ceph_hosts]].*\"}[1m]) + \nirate(node_network_receive_drop{instance=~\"[[ceph_hosts]].*\"}[1m]) or irate(node_network_receive_drop_total{instance=~\"[[ceph_hosts]].*\"}[1m])",
+ "expr": "irate(node_network_receive_drop{instance=~\"[[ceph_hosts]].*\"}[1m]) or irate(node_network_receive_drop_total{instance=~\"[[ceph_hosts]].*\"}[1m])",
"format": "time_series",
"instant": false,
"intervalFactor": 1,
- "legendFormat": "{{device}}",
+ "legendFormat": "{{device}}.rx",
"refId": "A"
+ },
+ {
+ "expr": "irate(node_network_transmit_drop{instance=~\"[[ceph_hosts]].*\"}[1m]) or irate(node_network_transmit_drop_total{instance=~\"[[ceph_hosts]].*\"}[1m])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}}.tx",
+ "refId": "B"
}
],
"thresholds": [],
"timeFrom": "15m",
"timeShift": null,
- "title": "Network Drops (last 15mins)",
+ "title": "Network drop rate",
"tooltip": {
"shared": true,
"sort": 0,
},
"yaxes": [
{
- "format": "short",
- "label": null,
+ "format": "pps",
+ "label": "Send (-) / Receive (+)",
"logBase": 1,
"max": null,
"min": "0",
"min": null,
"show": false
}
- ]
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
},
{
"cacheTimeout": null,
"tableColumn": "",
"targets": [
{
- "expr": "sum(ceph_osd_stat_bytes and on (ceph_daemon) ceph_disk_occupation{instance=~\"($ceph_hosts).*\"})",
+ "expr": "sum(ceph_osd_stat_bytes and on (ceph_daemon) ceph_disk_occupation{exported_instance=~\"($ceph_hosts).*\"})",
"format": "time_series",
"intervalFactor": 2,
"refId": "A",
"dashLength": 10,
"dashes": false,
"datasource": "$datasource",
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 5,
"w": 3,
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "/.*tx/",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "irate(node_network_transmit_errs{instance=~\"[[ceph_hosts]].*\"}[1m]) or irate(node_network_transmit_errs_total{instance=~\"[[ceph_hosts]].*\"}[1m])+ \nirate(node_network_receive_errs{instance=~\"[[ceph_hosts]].*\"}[1m]) or irate(node_network_receive_errs_total{instance=~\"[[ceph_hosts]].*\"}[1m])",
+ "expr": "irate(node_network_receive_errs{instance=~\"[[ceph_hosts]].*\"}[1m]) or irate(node_network_receive_errs_total{instance=~\"[[ceph_hosts]].*\"}[1m])",
"format": "time_series",
"instant": false,
"intervalFactor": 1,
- "legendFormat": "{{device}}",
+ "legendFormat": "{{device}}.rx",
"refId": "A"
+ },
+ {
+ "expr": "irate(node_network_transmit_errs{instance=~\"[[ceph_hosts]].*\"}[1m]) or irate(node_network_transmit_errs_total{instance=~\"[[ceph_hosts]].*\"}[1m])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}}.tx",
+ "refId": "B"
}
],
"thresholds": [],
"timeFrom": "15m",
"timeShift": null,
- "title": "Network Errors(last 15mins)",
+ "title": "Network error rate",
"tooltip": {
"shared": true,
"sort": 0,
},
"yaxes": [
{
- "format": "short",
- "label": null,
+ "format": "pps",
+ "label": "Send (-) / Receive (+)",
"logBase": 1,
"max": null,
"min": "0",
"min": null,
"show": false
}
- ]
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
},
{
- "collapsed": true,
+ "collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"y": 11
},
"id": 12,
- "panels": [
+ "panels": [],
+ "repeat": null,
+ "title": "OSD Disk Performance Statistics",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "For any OSD devices on the host, this chart shows the iops per physical device. Each device is shown by it's name and corresponding OSD id value",
+ "fill": 1,
+ "gridPos": {
+ "h": 9,
+ "w": 11,
+ "x": 0,
+ "y": 12
+ },
+ "id": 6,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "minSpan": 12,
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
{
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "description": "For any OSD devices on the host, this chart shows the iops per physical device. Each device is shown by it's name and corresponding OSD id value",
- "fill": 1,
- "gridPos": {
- "h": 9,
- "w": 11,
- "x": 0,
- "y": 12
- },
- "id": 6,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [],
- "minSpan": 12,
- "nullPointMode": "connected",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "((irate(node_disk_reads_completed{instance=~\"($ceph_hosts).*\"}[5m]) or irate(node_disk_reads_completed_total{instance=~\"($ceph_hosts).*\"}[5m]) ) + \n(irate(node_disk_writes_completed{instance=~\"($ceph_hosts).*\"}[5m]) or irate(node_disk_writes_completed_total{instance=~\"($ceph_hosts).*\"}[5m]))) *\non(instance, device) group_left(osd_id) label_replace(ceph_disk_occupation, \"osd_id\",\"$1\",\"ceph_daemon\",\"osd.(.*)\") ",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{device}}({{osd_id}})",
- "refId": "A",
- "step": 10,
- "textEditor": true
- }
- ],
- "thresholds": [],
- "timeFrom": null,
- "timeShift": null,
- "title": "$ceph_hosts Disk IOPS",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "short",
- "label": "IOPS",
- "logBase": 1,
- "max": null,
- "min": "0",
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "alias": "/.*reads/",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "(irate(node_disk_writes_completed{instance=~\"($ceph_hosts).*\"}[5m]) or irate(node_disk_writes_completed_total{instance=~\"($ceph_hosts).*\"}[5m])) * on(instance, device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1:9100\", \"exported_instance\", \"(.*)\")",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}}({{ceph_daemon}}) writes",
+ "refId": "A",
+ "step": 10,
+ "textEditor": true
},
{
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "description": "Show disk utilization % (util) of any OSD devices on the host by the physical device name and associated OSD id.",
- "fill": 1,
- "gridPos": {
- "h": 9,
- "w": 11,
- "x": 12,
- "y": 12
- },
- "id": 5,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [],
- "minSpan": 12,
- "nullPointMode": "connected",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "(\n (irate(node_disk_io_time_ms[5m]) / 10 ) or\n irate(node_disk_io_time_seconds_total[5m]) * 100)\n* on(instance, device) group_left(osd_id) label_replace(ceph_disk_occupation{instance=~\"($ceph_hosts).*\"}, \"osd_id\",\"$1\",\"ceph_daemon\",\"osd.(.*)\")\n",
- "format": "time_series",
- "hide": false,
- "intervalFactor": 1,
- "legendFormat": "{{device}}({{osd_id}})",
- "refId": "C",
- "step": 10,
- "textEditor": true
- }
- ],
- "thresholds": [],
- "timeFrom": null,
- "timeShift": null,
- "title": "$ceph_hosts Disk utilisation",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "short",
- "label": "%Util",
- "logBase": 1,
- "max": "100",
- "min": "0",
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "(irate(node_disk_reads_completed{instance=~\"($ceph_hosts).*\"}[5m]) or irate(node_disk_reads_completed_total{instance=~\"($ceph_hosts).*\"}[5m])) * on(instance, device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1:9100\", \"exported_instance\", \"(.*)\")",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{device}}({{ceph_daemon}}) reads",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "$ceph_hosts Disk IOPS",
+ "tooltip": {
+ "shared": true,
+ "sort": 2,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "ops",
+ "label": "Read (-) / Write (+)",
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
},
{
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "description": "For OSD hosts, this chart shows the latency at the physical drive. Each drive is shown by device name, with it's corresponding OSD id",
- "fill": 1,
- "gridPos": {
- "h": 9,
- "w": 11,
- "x": 0,
- "y": 21
- },
- "id": 7,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [],
- "minSpan": 12,
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "max by(instance,device) (((\n (irate(node_disk_write_time_ms{ instance=~\"($ceph_hosts).*\"}[5m]) )\n / clamp_min(irate(node_disk_writes_completed{ instance=~\"($ceph_hosts).*\"}[5m]), 0.001) or \n (irate(node_disk_read_time_ms{ instance=~\"($ceph_hosts).*\"}[5m]) )\n / clamp_min(irate(node_disk_reads_completed{ instance=~\"($ceph_hosts).*\"}[5m]), 0.001)\n ) / 1000) or\n (irate(node_disk_write_time_seconds_total{ instance=~\"($ceph_hosts).*\"}[5m]) )\n / clamp_min(irate(node_disk_writes_completed_total{ instance=~\"($ceph_hosts).*\"}[5m]), 0.001) or \n (irate(node_disk_read_time_seconds_total{ instance=~\"($ceph_hosts).*\"}[5m]) )\n / clamp_min(irate(node_disk_reads_completed_total{ instance=~\"($ceph_hosts).*\"}[5m]), 0.001)\n ) *\n on(instance,device) group_left(osd_id) label_replace(ceph_disk_occupation,\"osd_id\",\"$1\",\"ceph_daemon\",\"osd.(.*)\")",
- "format": "time_series",
- "hide": false,
- "intervalFactor": 1,
- "legendFormat": "{{device}}({{osd_id}})",
- "refId": "D"
- }
- ],
- "thresholds": [],
- "timeFrom": null,
- "timeShift": null,
- "title": "$ceph_hosts Disk Latency",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "s",
- "label": "",
- "logBase": 1,
- "max": null,
- "min": "0",
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "For OSD hosts, this chart shows the disk bandwidth (read bytes/sec + write bytes/sec) of the physical OSD device. Each device is shown by device name, and corresponding OSD id",
+ "fill": 1,
+ "gridPos": {
+ "h": 9,
+ "w": 11,
+ "x": 12,
+ "y": 12
+ },
+ "id": 8,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "minSpan": 12,
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "/.*read/",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "(irate(node_disk_bytes_written{instance=~\"($ceph_hosts).*\"}[5m]) or irate(node_disk_written_bytes_total{instance=~\"($ceph_hosts).*\"}[5m])) * on(instance, device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1:9100\", \"exported_instance\", \"(.*)\")",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}}({{ceph_daemon}}) write",
+ "refId": "B"
},
{
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "description": "For OSD hosts, this chart shows the disk bandwidth (read bytes/sec + write bytes/sec) of the physical OSD device. Each device is shown by device name, and corresponding OSD id",
- "fill": 1,
- "gridPos": {
- "h": 9,
- "w": 11,
- "x": 12,
- "y": 21
- },
- "id": 8,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [],
- "minSpan": 12,
- "nullPointMode": "connected",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": " ((irate(node_disk_bytes_read{instance=~\"($ceph_hosts).*\"}[5m]) or irate(node_disk_read_bytes_total{instance=~\"($ceph_hosts).*\"}[5m])) + \n (irate(node_disk_bytes_written{instance=~\"($ceph_hosts).*\"}[5m]) or irate(node_disk_written_bytes_total{instance=~\"($ceph_hosts).*\"}[5m]))\n ) * \n on(instance,device) group_left(osd_id) label_replace(ceph_disk_occupation,\"osd_id\",\"$1\",\"ceph_daemon\",\"osd.(.*)\")",
- "format": "time_series",
- "interval": "",
- "intervalFactor": 1,
- "legendFormat": "{{device}}({{osd_id}})",
- "refId": "A",
- "step": 10,
- "textEditor": true
- }
- ],
- "thresholds": [],
- "timeFrom": null,
- "timeShift": null,
- "title": "$ceph_hosts Throughput by Disk",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "decbytes",
- "label": "",
- "logBase": 1,
- "max": null,
- "min": "0",
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "(irate(node_disk_bytes_read{instance=~\"($ceph_hosts).*\"}[5m]) or irate(node_disk_read_bytes_total{instance=~\"($ceph_hosts).*\"}[5m])) * on(instance, device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1:9100\", \"exported_instance\", \"(.*)\")",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}}({{ceph_daemon}}) read",
+ "refId": "C"
}
],
- "repeat": null,
- "title": "OSD Disk Performance Statistics",
- "type": "row"
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "$ceph_hosts Throughput by Disk",
+ "tooltip": {
+ "shared": true,
+ "sort": 2,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "Bps",
+ "label": "Read (-) / Write (+)",
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "For OSD hosts, this chart shows the latency at the physical drive. Each drive is shown by device name, with it's corresponding OSD id",
+ "fill": 1,
+ "gridPos": {
+ "h": 9,
+ "w": 11,
+ "x": 0,
+ "y": 21
+ },
+ "id": 7,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "minSpan": 12,
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "max by(instance,device) (((\n (irate(node_disk_write_time_ms{ instance=~\"($ceph_hosts).*\"}[5m]) )\n / clamp_min(irate(node_disk_writes_completed{ instance=~\"($ceph_hosts).*\"}[5m]), 0.001) or \n (irate(node_disk_read_time_ms{ instance=~\"($ceph_hosts).*\"}[5m]) )\n / clamp_min(irate(node_disk_reads_completed{ instance=~\"($ceph_hosts).*\"}[5m]), 0.001)\n ) / 1000) or\n (irate(node_disk_write_time_seconds_total{ instance=~\"($ceph_hosts).*\"}[5m]) )\n / clamp_min(irate(node_disk_writes_completed_total{ instance=~\"($ceph_hosts).*\"}[5m]), 0.001) or \n (irate(node_disk_read_time_seconds_total{ instance=~\"($ceph_hosts).*\"}[5m]) )\n / clamp_min(irate(node_disk_reads_completed_total{ instance=~\"($ceph_hosts).*\"}[5m]), 0.001)\n ) *\n on(instance,device) group_left(osd_id) label_replace(ceph_disk_occupation,\"osd_id\",\"$1\",\"ceph_daemon\",\"osd.(.*)\")",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{device}}({{osd_id}})",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "$ceph_hosts Disk Latency",
+ "tooltip": {
+ "shared": true,
+ "sort": 2,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Show disk utilization % (util) of any OSD devices on the host by the physical device name and associated OSD id.",
+ "fill": 1,
+ "gridPos": {
+ "h": 9,
+ "w": 11,
+ "x": 12,
+ "y": 21
+ },
+ "id": 5,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "minSpan": 12,
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "(\n (irate(node_disk_io_time_ms[5m]) / 10 ) or\n irate(node_disk_io_time_seconds_total[5m]) * 100)\n* on(instance, device) group_left(osd_id) label_replace(ceph_disk_occupation{instance=~\"($ceph_hosts).*\"}, \"osd_id\",\"$1\",\"ceph_daemon\",\"osd.(.*)\")\n",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{device}}({{osd_id}})",
+ "refId": "C",
+ "step": 10,
+ "textEditor": true
+ },
+ {
+ "expr": "(irate(node_disk_io_time_ms{instance=~\"($ceph_hosts).*\"}[5m] * 1000) or irate(node_disk_writes_completed_total{instance=~\"($ceph_hosts).*\"}[5m])) * on(instance, device) group_left(ceph_daemon) label_replace(label_replace(ceph_disk_occupation, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1:9100\", \"exported_instance\", \"(.*)\")",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "$ceph_hosts Disk utilisation",
+ "tooltip": {
+ "shared": true,
+ "sort": 2,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": "%Util",
+ "logBase": 1,
+ "max": "100",
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
}
],
"refresh": "10s",
"list": [
{
"current": {
- "tags": [],
"text": "default",
"value": "default"
},
"query": "prometheus",
"refresh": 1,
"regex": "",
+ "skipUrlSync": false,
"type": "datasource"
},
{
"options": [],
"query": "label_values(node_scrape_collector_success, instance) ",
"refresh": 1,
- "regex": "([^.]*).*",
+ "regex": "([^:]*).*",
+ "skipUrlSync": false,
"sort": 3,
"tagValuesQuery": "",
"tags": [],
},
"timezone": "browser",
"title": "Host Details",
- "uid": "7IGu2Ttmz",
- "version": 11
+ "uid": "rtOg0AiWz",
+ "version": 3
}
{
+ "__inputs": [],
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
- "version": "5.0.0"
+ "version": "5.3.2"
},
{
"type": "panel",
"gnetId": null,
"graphTooltip": 0,
"id": null,
- "iteration": 1538079414024,
+ "iteration": 1557393917915,
"links": [],
"panels": [
{
"tableColumn": "",
"targets": [
{
- "expr": "avg (\n ((irate(node_disk_io_time_ms[5m]) / 10 ) or\n (irate(node_disk_io_time_seconds_total[5m]) * 100)\n ) *\n on(instance, device) ceph_disk_occupation{instance=~\"($osd_hosts).*\"}\n)",
+ "expr": "avg (\n ((irate(node_disk_io_time_ms[5m]) / 10 ) or\n (irate(node_disk_io_time_seconds_total[5m]) * 100)\n ) *\n on(instance, device) label_replace(label_replace(ceph_disk_occupation{instance=~\"($osd_hosts).*\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1:9100\", \"exported_instance\", \"(.*)\")\n)",
"format": "time_series",
"instant": true,
"intervalFactor": 1,
"dashes": false,
"datasource": "$datasource",
"description": "Show the top 10 busiest hosts by cpu",
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 9,
"w": 12,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
- "stack": true,
+ "stack": false,
"steppedLine": false,
"targets": [
{
"yaxes": [
{
"decimals": 1,
- "format": "percentunit",
+ "format": "percent",
"label": null,
"logBase": 1,
- "max": null,
+ "max": "100",
"min": "0",
- "show": false
+ "show": true
},
{
"format": "short",
"min": null,
"show": false
}
- ]
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
},
{
"aliasColors": {},
"dashes": false,
"datasource": "$datasource",
"description": "Top 10 hosts by network load",
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 9,
"w": 12,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
- "stack": true,
+ "stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "topk(10, (sum by(instance) (\n (\n irate(node_network_receive_bytes{instance=~\"($osd_hosts|mon_hosts|mds_hosts|rgw_hosts).*\",device!=\"lo\"}[1m]) or\n irate(node_network_receive_bytes_total{instance=~\"($osd_hosts|mon_hosts|mds_hosts|rgw_hosts).*\",device!=\"lo\"}[1m])\n ) +\n (\n irate(node_network_transmit_bytes{instance=~\"($osd_hosts|mon_hosts|mds_hosts|rgw_hosts).*\",device!=\"lo\"}[1m]) or\n irate(node_network_transmit_bytes_total{instance=~\"($osd_hosts|mon_hosts|mds_hosts|rgw_hosts).*\",device!=\"lo\"}[1m])\n ))\n )\n)",
+ "expr": "topk(10, (sum by(instance) (\n (\n irate(node_network_receive_bytes{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\",device!=\"lo\"}[1m]) or\n irate(node_network_receive_bytes_total{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\",device!=\"lo\"}[1m])\n ) +\n (\n irate(node_network_transmit_bytes{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\",device!=\"lo\"}[1m]) or\n irate(node_network_transmit_bytes_total{instance=~\"($osd_hosts|$mon_hosts|$mds_hosts|$rgw_hosts).*\",device!=\"lo\"}[1m])\n ))\n )\n)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "{{instance}}",
"yaxes": [
{
"decimals": 1,
- "format": "bytes",
+ "format": "Bps",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
- ]
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
}
],
"refresh": "10s",
"list": [
{
"current": {
- "tags": [],
"text": "default",
"value": "default"
},
"query": "prometheus",
"refresh": 1,
"regex": "",
+ "skipUrlSync": false,
"type": "datasource"
},
{
"query": "label_values(ceph_disk_occupation, instance)",
"refresh": 1,
"regex": "([^.]*).*",
+ "skipUrlSync": false,
"sort": 1,
"tagValuesQuery": "",
"tags": [],
"query": "label_values(ceph_mon_metadata, ceph_daemon)",
"refresh": 1,
"regex": "mon.(.*)",
+ "skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
"tags": [],
"query": "label_values(ceph_mds_inodes, ceph_daemon)",
"refresh": 1,
"regex": "mds.(.*)",
+ "skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
"tags": [],
"query": "label_values(ceph_rgw_qlen, ceph_daemon)",
"refresh": 1,
"regex": "rgw.(.*)",
+ "skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
"tags": [],
},
"timezone": "",
"title": "Host Overview",
- "uid": "lxnjcTAmk",
- "version": 10
+ "uid": "y0KGL0iZz",
+ "version": 3
}
{
+ "__inputs": [],
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
- "version": "5.0.0"
+ "version": "5.3.2"
},
{
"type": "panel",
"gnetId": null,
"graphTooltip": 0,
"id": null,
- "iteration": 1534385833420,
+ "iteration": 1557395861896,
"links": [],
"panels": [
{
"dashLength": 10,
"dashes": false,
"datasource": "$datasource",
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 9,
"w": 6,
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "read",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "irate(ceph_osd_op_r_latency_sum{ceph_daemon=~\"osd.[[osd_id]]\"}[1m]) / on (ceph_daemon) irate(ceph_osd_op_r_latency_count[1m]) * 1000",
+ "expr": "irate(ceph_osd_op_r_latency_sum{ceph_daemon=~\"$osd\"}[1m]) / on (ceph_daemon) irate(ceph_osd_op_r_latency_count[1m])",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "READs",
+ "legendFormat": "read",
"refId": "A"
},
{
- "expr": "irate(ceph_osd_op_w_latency_sum{ceph_daemon=~\"osd.[[osd_id]]\"}[1m]) / on (ceph_daemon) irate(ceph_osd_op_w_latency_count[1m]) * 1000",
+ "expr": "irate(ceph_osd_op_w_latency_sum{ceph_daemon=~\"$osd\"}[1m]) / on (ceph_daemon) irate(ceph_osd_op_w_latency_count[1m])",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "WRITEs",
+ "legendFormat": "write",
"refId": "B"
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": null,
- "title": "OSD $osd_id Latency",
+ "title": "$osd Latency",
"tooltip": {
"shared": true,
"sort": 0,
},
"yaxes": [
{
- "format": "ms",
- "label": null,
+ "format": "s",
+ "label": "Read (-) / Write (+)",
"logBase": 1,
"max": null,
"min": "0",
"min": null,
"show": false
}
- ]
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
},
{
"aliasColors": {},
"dashLength": 10,
"dashes": false,
"datasource": "$datasource",
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 9,
"w": 6,
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "Reads",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "irate(ceph_osd_op_r{ceph_daemon=~\"osd.[[osd_id]]\"}[1m])",
+ "expr": "irate(ceph_osd_op_r{ceph_daemon=~\"$osd\"}[1m])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Reads",
"refId": "A"
},
{
- "expr": "irate(ceph_osd_op_w{ceph_daemon=~\"osd.[[osd_id]]\"}[1m])",
+ "expr": "irate(ceph_osd_op_w{ceph_daemon=~\"$osd\"}[1m])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Writes",
"thresholds": [],
"timeFrom": null,
"timeShift": null,
- "title": "OSD $osd_id R/W IOPS",
+ "title": "$osd R/W IOPS",
"tooltip": {
"shared": true,
"sort": 0,
"yaxes": [
{
"format": "short",
- "label": null,
+ "label": "Read (-) / Write (+)",
"logBase": 1,
"max": null,
- "min": "0",
+ "min": null,
"show": true
},
{
"min": null,
"show": false
}
- ]
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
},
{
"aliasColors": {},
"dashLength": 10,
"dashes": false,
"datasource": "$datasource",
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 9,
"w": 6,
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "Read Bytes",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "irate(ceph_osd_op_r_out_bytes{ceph_daemon=~\"osd.[[osd_id]]\"}[1m])",
+ "expr": "irate(ceph_osd_op_r_out_bytes{ceph_daemon=~\"$osd\"}[1m])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Read Bytes",
"refId": "A"
},
{
- "expr": "irate(ceph_osd_op_w_in_bytes{ceph_daemon=~\"osd.[[osd_id]]\"}[1m])",
+ "expr": "irate(ceph_osd_op_w_in_bytes{ceph_daemon=~\"$osd\"}[1m])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Write Bytes",
"thresholds": [],
"timeFrom": null,
"timeShift": null,
- "title": "OSD $osd_id R/W Bytes",
+ "title": "$osd R/W Bytes",
"tooltip": {
"shared": true,
"sort": 0,
"yaxes": [
{
"format": "bytes",
- "label": null,
+ "label": "Read (-) / Write (+)",
"logBase": 1,
"max": null,
- "min": "0",
+ "min": null,
"show": true
},
{
"min": null,
"show": false
}
- ]
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
},
{
"collapsed": false,
"dashLength": 10,
"dashes": false,
"datasource": "$datasource",
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 9,
"w": 6,
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "/.*Reads/",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
- "stack": true,
+ "stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "(irate(node_disk_read_time_ms[1m]) / irate(node_disk_reads_completed[1m]) and on (instance, device) ceph_disk_occupation{ceph_daemon=~\"osd.[[osd_id]]\"}) ",
+ "expr": "(irate(node_disk_read_time_seconds_total[1m]) / irate(node_disk_reads_completed_total[1m]) and on (instance, device) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"$osd\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1:9100\", \"exported_instance\", \"(.*)\"))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "{{instance}}/{{device}} Reads",
"refId": "A"
},
{
- "expr": "(irate(node_disk_write_time_ms[1m]) / irate(node_disk_writes_completed[1m]) and on (instance, device) ceph_disk_occupation{ceph_daemon=~\"osd.[[osd_id]]\"}) ",
+ "expr": "(irate(node_disk_write_time_seconds_total[1m]) / irate(node_disk_writes_completed_total[1m]) and on (instance, device) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"$osd\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1:9100\", \"exported_instance\", \"(.*)\"))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "{{instance}}/{{device}} Writes",
"thresholds": [],
"timeFrom": null,
"timeShift": null,
- "title": "Physical Device Latency for OSD $osd_id",
+ "title": "Physical Device Latency for $osd",
"tooltip": {
"shared": true,
"sort": 0,
"yaxes": [
{
"format": "ms",
- "label": null,
+ "label": "Read (-) / Write (+)",
"logBase": 1,
"max": null,
- "min": "0",
+ "min": null,
"show": true
},
{
"min": null,
"show": false
}
- ]
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
},
{
"aliasColors": {},
"dashLength": 10,
"dashes": false,
"datasource": "$datasource",
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 9,
"w": 6,
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "/.*Reads/",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
- "stack": true,
+ "stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "(irate(node_disk_reads_completed[1m]) and on (instance, device) ceph_disk_occupation{ceph_daemon=~\"osd.[[osd_id]]\"})",
+ "expr": "irate(node_disk_writes_completed_total[1m]) and on (instance, device) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"$osd\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1:9100\", \"exported_instance\", \"(.*)\")",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "{{instance}} {{device}} READS",
+ "legendFormat": "{{device}} on {{instance}} Writes",
"refId": "A"
},
{
- "expr": "(irate(node_disk_writes_completed[1m]) and on (instance, device) ceph_disk_occupation{ceph_daemon=~\"osd.[[osd_id]]\"}) ",
+ "expr": "irate(node_disk_reads_completed_total[1m]) and on (instance, device) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"$osd\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1:9100\", \"exported_instance\", \"(.*)\")",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "{{instance}} {{device}} WRITES",
+ "legendFormat": "{{device}} on {{instance}} Reads",
"refId": "B"
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": null,
- "title": "Physical Device R/W IOPS for OSD $osd_id",
+ "title": "Physical Device R/W IOPS for $osd",
"tooltip": {
"shared": true,
"sort": 0,
"yaxes": [
{
"format": "short",
- "label": null,
+ "label": "Read (-) / Write (+)",
"logBase": 1,
"max": null,
"min": null,
"min": null,
"show": true
}
- ]
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
},
{
"aliasColors": {},
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "/.*Reads/",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
"stack": true,
"steppedLine": false,
"targets": [
{
- "expr": "(irate(node_disk_bytes_read[1m]) and on (instance, device) ceph_disk_occupation{ceph_daemon=~\"osd.[[osd_id]]\"})",
+ "expr": "irate(node_disk_read_bytes_total[1m]) and on (instance, device) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"$osd\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1:9100\", \"exported_instance\", \"(.*)\")",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "{{instance}} {{device}} READS",
+ "legendFormat": "{{instance}} {{device}} Reads",
"refId": "A"
},
{
- "expr": "(irate(node_disk_bytes_written[1m]) and on (instance, device) ceph_disk_occupation{ceph_daemon=~\"osd.[[osd_id]]\"}) ",
+ "expr": "irate(node_disk_written_bytes_total[1m]) and on (instance, device) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"$osd\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1:9100\", \"exported_instance\", \"(.*)\")",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "{{instance}} {{device}} WRITES",
+ "legendFormat": "{{instance}} {{device}} Writes",
"refId": "B"
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": null,
- "title": "Physical Device R/W Bytes for OSD $osd_id",
+ "title": "Physical Device R/W Bytes for $osd",
"tooltip": {
"shared": true,
"sort": 0,
},
"yaxes": [
{
- "format": "bytes",
- "label": null,
+ "format": "Bps",
+ "label": "Read (-) / Write (+)",
"logBase": 1,
"max": null,
- "min": "0",
+ "min": null,
"show": true
},
{
"min": null,
"show": false
}
- ]
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
},
{
"aliasColors": {},
"steppedLine": false,
"targets": [
{
- "expr": "(irate(node_disk_io_time_ms[1m]) and on (instance, device) ceph_disk_occupation{ceph_daemon=~\"osd.[[osd_id]]\"}) / 10",
+ "expr": "irate(node_disk_io_time_seconds_total[1m]) and on (instance, device) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"$osd\"}, \"device\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1:9100\", \"exported_instance\", \"(.*)\")",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "{{instance}} {{device}}",
+ "legendFormat": "{{device}} on {{instance}}",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": null,
- "title": "Physical Device Util% for OSD $osd_id",
+ "title": "Physical Device Util% for $osd",
"tooltip": {
"shared": true,
"sort": 0,
},
"yaxes": [
{
- "format": "short",
+ "format": "percentunit",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
- ]
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
}
],
"schemaVersion": 16,
"list": [
{
"current": {
- "tags": [],
"text": "default",
"value": "default"
},
"query": "prometheus",
"refresh": 1,
"regex": "",
+ "skipUrlSync": false,
"type": "datasource"
},
{
"datasource": "$datasource",
"hide": 0,
"includeAll": false,
- "label": "OSD Id",
+ "label": "OSD",
"multi": false,
- "name": "osd_id",
+ "name": "osd",
"options": [],
"query": "label_values(ceph_osd_metadata,ceph_daemon)",
"refresh": 1,
- "regex": "osd.(.*)",
+ "regex": "(.*)",
+ "skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
"tags": [],
]
},
"time": {
- "from": "now-1h",
+ "from": "now-3h",
"to": "now"
},
"timepicker": {
},
"timezone": "",
"title": "OSD device details",
- "uid": "MKj_9ipiz",
+ "uid": "CrAHE0iZz",
"version": 3
}
{
+ "__inputs": [],
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
- "version": "5.0.0"
+ "version": "5.3.2"
},
{
"type": "panel",
},
{
"type": "panel",
- "id": "text",
- "name": "Text",
+ "id": "singlestat",
+ "name": "Singlestat",
"version": "5.0.0"
}
],
"gnetId": null,
"graphTooltip": 0,
"id": null,
- "iteration": 1534394258671,
+ "iteration": 1551858875941,
"links": [],
"panels": [
{
- "collapsed": false,
+ "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": 1,
- "w": 24,
+ "h": 7,
+ "w": 7,
"x": 0,
"y": 0
},
- "id": 16,
- "panels": [],
- "repeat": null,
- "title": "Pool '$pool_name' Performance Details",
- "type": "row"
+ "id": 12,
+ "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 / ceph_pool_max_avail) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "thresholds": ".7,.8",
+ "title": "Capacity used",
+ "type": "singlestat",
+ "valueFontSize": "50%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "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": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 5,
+ "x": 7,
+ "y": 0
+ },
+ "id": 14,
+ "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": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "((ceph_pool_max_avail - ceph_pool_stored) / deriv(ceph_pool_stored[6h])) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"} > 0",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "title": "Time till full",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "inf",
+ "value": "null"
+ },
+ {
+ "op": "=",
+ "text": "inf",
+ "value": "N/A"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "aliasColors": {
+ "read_op_per_sec": "#3F6833",
+ "write_op_per_sec": "#E5AC0E"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 10,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "minSpan": 12,
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "deriv(ceph_pool_objects[1m]) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Objects per second",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "$pool_name Object In-/Egress",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "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": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
},
{
"aliasColors": {
"h": 7,
"w": 12,
"x": 0,
- "y": 1
+ "y": 7
},
"id": 6,
"legend": {
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "reads",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
- "stack": true,
+ "stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "(label_replace(irate(ceph_pool_rd[1m]),\"id\",\"$1\",\"pool_id\",\"(.*)\") * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"[[pool_name]]\"})",
+ "expr": "irate(ceph_pool_rd[1m]) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "reads",
"refId": "B"
},
{
- "expr": "(label_replace(irate(ceph_pool_wr[1m]),\"id\",\"$1\",\"pool_id\",\"(.*)\") * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"[[pool_name]]\"})",
+ "expr": "irate(ceph_pool_wr[1m]) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "writes",
"thresholds": [],
"timeFrom": null,
"timeShift": null,
- "title": "Pool '$pool_name' Client IOPS",
+ "title": "$pool_name Client IOPS",
"tooltip": {
"shared": true,
"sort": 0,
},
"yaxes": [
{
- "format": "none",
- "label": "",
+ "format": "iops",
+ "label": "Read (-) / Write (+)",
"logBase": 1,
"max": null,
- "min": "0",
+ "min": null,
"show": true
},
{
"min": null,
"show": true
}
- ]
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
},
{
"aliasColors": {
"h": 7,
"w": 12,
"x": 12,
- "y": 1
+ "y": 7
},
"id": 7,
"legend": {
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "reads",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
- "stack": true,
+ "stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "(label_replace(irate(ceph_pool_rd_bytes[1m]),\"id\",\"$1\",\"pool_id\",\"(.*)\") + on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"[[pool_name]]\"})",
+ "expr": "irate(ceph_pool_rd_bytes[1m]) + on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "reads",
"refId": "A"
},
{
- "expr": "(label_replace(irate(ceph_pool_wr_bytes[1m]),\"id\",\"$1\",\"pool_id\",\"(.*)\") + on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"[[pool_name]]\"})",
+ "expr": "irate(ceph_pool_wr_bytes[1m]) + on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "writes",
"thresholds": [],
"timeFrom": null,
"timeShift": null,
- "title": "Pool '$pool_name' Client Throughput",
+ "title": "$pool_name Client Throughput",
"tooltip": {
"shared": true,
"sort": 0,
},
"yaxes": [
{
- "format": "decbytes",
- "label": "",
+ "format": "Bps",
+ "label": "Read (-) / Write (+)",
"logBase": 1,
"max": null,
- "min": "0",
+ "min": null,
"show": true
},
{
"min": null,
"show": false
}
- ]
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {
+ "read_op_per_sec": "#3F6833",
+ "write_op_per_sec": "#E5AC0E"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fill": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 14
+ },
+ "id": 8,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "minSpan": 12,
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "ceph_pool_objects * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Number of Objects",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "$pool_name Objects",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "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": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
}
],
"refresh": "15s",
"tags": [],
"templating": {
"list": [
- {
- "allValue": null,
- "current": {},
- "datasource": "$datasource",
- "hide": 2,
- "includeAll": true,
- "label": null,
- "multi": false,
- "name": "pool_id",
- "options": [],
- "query": "label_values(ceph_pool_metadata,pool_id)",
- "refresh": 1,
- "regex": "",
- "sort": 1,
- "tagValuesQuery": "",
- "tags": [],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
- },
{
"current": {
- "tags": [],
- "text": "default",
- "value": "default"
+ "text": "Prometheus admin.virt1.home.fajerski.name:9090",
+ "value": "Prometheus admin.virt1.home.fajerski.name:9090"
},
"hide": 0,
"label": "Data Source",
"query": "prometheus",
"refresh": 1,
"regex": "",
+ "skipUrlSync": false,
"type": "datasource"
},
{
"query": "label_values(ceph_pool_metadata,name)",
"refresh": 1,
"regex": "",
+ "skipUrlSync": false,
"sort": 1,
"tagValuesQuery": "",
"tags": [],
]
},
"timezone": "browser",
- "title": "Ceph Pool Detail",
- "uid": "8ypfkWpik",
- "version": 11
+ "title": "Ceph Pool Details",
+ "uid": "-xyV8KCiz",
+ "version": 1
}
{
- "__requires": [
- {
- "type": "grafana",
- "id": "grafana",
- "name": "Grafana",
- "version": "5.0.0"
- },
- {
- "type": "panel",
- "id": "graph",
- "name": "Graph",
- "version": "5.0.0"
- },
- {
- "type": "panel",
- "id": "table",
- "name": "Table",
- "version": "5.0.0"
- }
- ],
"annotations": {
"list": [
{
"editable": false,
"gnetId": null,
"graphTooltip": 0,
- "id": null,
- "iteration": 1534386772937,
+ "iteration": 1551789900270,
"links": [],
"panels": [
- {
- "collapsed": false,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 0
- },
- "id": 14,
- "panels": [],
- "repeat": null,
- "title": "Pool Overview",
- "type": "row"
- },
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "$datasource",
- "fill": 5,
+ "fill": 1,
"gridPos": {
"h": 7,
"w": 12,
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "/.* read/",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
- "stack": true,
+ "stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "(label_replace((rate(ceph_pool_rd{pool_id=~\"[[pool_id]]\"}[1m]) + rate(ceph_pool_wr{pool_id=~\"[[pool_id]]\"}[1m])),\"id\", \"$1\", \"pool_id\", \"(.*)\") + on(pool_id) group_left(instance,name) ceph_pool_metadata{pool_id=~\"[[pool_id]]\"}) ",
+ "expr": "topk($topk,rate(ceph_pool_rd[1m]) + on(pool_id) group_left(instance,name) ceph_pool_metadata) ",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
- "legendFormat": "{{name}}",
+ "legendFormat": "{{name}} - read",
"refId": "F"
+ },
+ {
+ "expr": "topk($topk,rate(ceph_pool_wr[1m]) + on(pool_id) group_left(instance,name) ceph_pool_metadata) ",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{name}} - write",
+ "refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": null,
- "title": "Client IOPS by Pool",
+ "title": "Top $topk Client IOPS by Pool",
"tooltip": {
"shared": true,
"sort": 0,
"yaxes": [
{
"format": "none",
- "label": null,
+ "label": "Read (-) / Write (+)",
"logBase": 1,
"max": null,
- "min": "0",
+ "min": null,
"show": true
},
{
"min": null,
"show": false
}
- ]
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
},
{
"aliasColors": {},
"dashLength": 10,
"dashes": false,
"datasource": "$datasource",
- "fill": 5,
+ "fill": 1,
"gridPos": {
"h": 7,
"w": 12,
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "/.* read/",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
- "stack": true,
+ "stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "(label_replace((rate(ceph_pool_rd_bytes{pool_id=~\"[[pool_id]]\"}[1m]) + rate(ceph_pool_wr_bytes{pool_id=~\"[[pool_id]]\"}[1m])),\"id\", \"$1\", \"pool_id\", \"(.*)\") + on(pool_id) group_left(instance,name) ceph_pool_metadata{pool_id=~\"[[pool_id]]\"}) ",
+ "expr": "topk($topk,rate(ceph_pool_rd_bytes[1m]) + on(pool_id) group_left(instance,name) ceph_pool_metadata)",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "{{name}}",
+ "legendFormat": "{{name}} - read",
"refId": "A",
"textEditor": true
+ },
+ {
+ "expr": "topk($topk,rate(ceph_pool_wr_bytes[1m]) + on(pool_id) group_left(instance,name) ceph_pool_metadata)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{name}} - write",
+ "refId": "B"
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": null,
- "title": "Client Throughput by Pool",
+ "title": "Top $topk Client Throughput by Pool",
"tooltip": {
"shared": true,
"sort": 0,
},
"yaxes": [
{
- "format": "decbytes",
- "label": null,
+ "format": "Bps",
+ "label": "Read (-) / Writes (+)",
"logBase": 1,
"max": null,
- "min": "0",
+ "min": null,
"show": true
},
{
"min": null,
"show": false
}
- ]
- },
- {
- "collapsed": false,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 8
- },
- "id": 15,
- "panels": [],
- "repeat": null,
- "title": "Top 5's",
- "type": "row"
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
},
{
"columns": [
],
"targets": [
{
- "expr": "topk(5,(label_replace((irate(ceph_pool_rd{pool_id=~\"[[pool_id]]\"}[1m]) + irate(ceph_pool_wr{pool_id=~\"[[pool_id]]\"}[1m])),\"id\", \"$1\", \"pool_id\", \"(.*)\") + on(pool_id) group_left(instance,name) ceph_pool_metadata{pool_id=~\"[[pool_id]]\"}) )",
+ "expr": "topk($topk,((irate(ceph_pool_rd[1m]) + irate(ceph_pool_wr[1m])) + on(pool_id) group_left(instance,name) ceph_pool_metadata))",
"format": "table",
"instant": true,
"intervalFactor": 2,
"textEditor": true
}
],
- "title": "Top 5 Pools by Client IOPS",
+ "title": "Top $topk Pools by Client IOPS",
"transform": "table",
"type": "table"
},
],
"targets": [
{
- "expr": "(label_replace((irate(ceph_pool_rd_bytes{pool_id=~\"[[pool_id]]\"}[1m]) + irate(ceph_pool_wr_bytes{pool_id=~\"[[pool_id]]\"}[1m])),\"id\", \"$1\", \"pool_id\", \"(.*)\") + on(pool_id) group_left(instance,name) ceph_pool_metadata{pool_id=~\"[[pool_id]]\"}) ",
+ "expr": "topk($topk,(irate(ceph_pool_rd_bytes[1m]) + irate(ceph_pool_wr_bytes[1m])) + on(pool_id) group_left(instance,name) ceph_pool_metadata) ",
"format": "table",
"instant": true,
"intervalFactor": 2,
"textEditor": true
}
],
- "title": "Top 5 Pools by Throughput",
+ "title": "Top $topk Pools by Throughput",
"transform": "table",
"type": "table"
},
],
"targets": [
{
- "expr": "topk(5,((ceph_pool_bytes_used / (ceph_pool_bytes_used + ceph_pool_max_avail)) * on(pool_id) group_left(name) ceph_pool_metadata))",
+ "expr": "topk($topk,((ceph_pool_stored / (ceph_pool_stored + ceph_pool_max_avail)) * on(pool_id) group_left(name) ceph_pool_metadata))",
"format": "table",
"hide": false,
"instant": true,
"refId": "D"
}
],
- "title": "Top 5 Pools By Capacity Used",
+ "title": "Top $topk Pools By Capacity Used",
"transform": "table",
"type": "table"
}
"tags": [],
"templating": {
"list": [
- {
- "allValue": null,
- "current": {},
- "datasource": "$datasource",
- "hide": 2,
- "includeAll": true,
- "label": null,
- "multi": false,
- "name": "pool_id",
- "options": [],
- "query": "label_values(ceph_pool_metadata,pool_id)",
- "refresh": 1,
- "regex": "",
- "sort": 1,
- "tagValuesQuery": "",
- "tags": [],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
- },
- {
- "allValue": null,
- "current": {},
- "datasource": "$datasource",
- "hide": 2,
- "includeAll": true,
- "label": "Pool Name",
- "multi": false,
- "name": "pool_name",
- "options": [],
- "query": "label_values(ceph_pool_metadata,name)",
- "refresh": 1,
- "regex": "",
- "sort": 1,
- "tagValuesQuery": "",
- "tags": [],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
- },
{
"current": {
- "tags": [],
- "text": "default",
- "value": "default"
+ "text": "Prometheus admin.virt1.home.fajerski.name:9090",
+ "value": "Prometheus admin.virt1.home.fajerski.name:9090"
},
"hide": 0,
"label": "Data Source",
"query": "prometheus",
"refresh": 1,
"regex": "",
+ "skipUrlSync": false,
"type": "datasource"
+ },
+ {
+ "current": {
+ "text": "3",
+ "value": "3"
+ },
+ "hide": 0,
+ "label": "Top K",
+ "name": "topk",
+ "options": [
+ {
+ "text": "3",
+ "value": "3"
+ }
+ ],
+ "query": "3",
+ "skipUrlSync": false,
+ "type": "textbox"
}
]
},
"timezone": "browser",
"title": "Ceph Pools Overview",
"uid": "z99hzWtmk",
- "version": 3
+ "version": 1
}