From: Piyush Agarwal Date: Tue, 21 Jan 2025 23:46:03 +0000 (+0530) Subject: mgr/dashboard: Changing SimpleGraphPanel to TimeSeries Panel in osd.libsonnet X-Git-Tag: v20.3.0~399^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=171954e7dd677d1b73db65555736d82cefefc62e;p=ceph.git mgr/dashboard: Changing SimpleGraphPanel to TimeSeries Panel in osd.libsonnet Fixes:- https://tracker.ceph.com/issues/70227 Signed-off-by: Piyush Agarwal --- diff --git a/monitoring/ceph-mixin/dashboards/osd.libsonnet b/monitoring/ceph-mixin/dashboards/osd.libsonnet index 2b066ea5ff098..5b4889e083a6f 100644 --- a/monitoring/ceph-mixin/dashboards/osd.libsonnet +++ b/monitoring/ceph-mixin/dashboards/osd.libsonnet @@ -43,50 +43,48 @@ local g = import 'grafonnet/grafana.libsonnet'; $.addClusterTemplate() ) .addPanels([ - $.simpleGraphPanel( - { '@95%ile': '#e0752d' }, - 'OSD Read Latencies', - '', - 'ms', - null, - '0', - ||| - avg ( - rate(ceph_osd_op_r_latency_sum{%(matchers)s}[$__rate_interval]) / - on (ceph_daemon) rate(ceph_osd_op_r_latency_count{%(matchers)s}[$__rate_interval]) * 1000 - ) - ||| % $.matchers(), - 'AVG read', - 0, - 0, - 8, - 8 + $.timeSeriesPanel( + title='OSD Read Latencies', + datasource='$datasource', + gridPosition={ x: 0, y: 0, w: 8, h: 8 }, + unit='ms', + drawStyle='line', + fillOpacity=8, + tooltip={ mode: 'multi', sort: 'none' }, + colorMode='palette-classic', + spanNulls=true, ) - .addTargets( - [ - $.addTargetSchema( - ||| - max( + .addTargets([ + $.addTargetSchema( + ||| + avg( + rate(ceph_osd_op_r_latency_sum{%(matchers)s}[$__rate_interval]) / + on (ceph_daemon) rate(ceph_osd_op_r_latency_count{%(matchers)s}[$__rate_interval]) * 1000 + ) + ||| % $.matchers(), + 'AVG read' + ), + $.addTargetSchema( + ||| + max( + rate(ceph_osd_op_r_latency_sum{%(matchers)s}[$__rate_interval]) / + on (ceph_daemon) rate(ceph_osd_op_r_latency_count{%(matchers)s}[$__rate_interval]) * 1000 + ) + ||| % $.matchers(), + 'MAX read' + ), + $.addTargetSchema( + ||| + quantile(0.95, + ( rate(ceph_osd_op_r_latency_sum{%(matchers)s}[$__rate_interval]) / on (ceph_daemon) rate(ceph_osd_op_r_latency_count{%(matchers)s}[$__rate_interval]) * 1000 ) - ||| % $.matchers(), - 'MAX read' - ), - $.addTargetSchema( - ||| - quantile(0.95, - ( - rate(ceph_osd_op_r_latency_sum{%(matchers)s}[$__rate_interval]) / - on (ceph_daemon) rate(ceph_osd_op_r_latency_count{%(matchers)s}[$__rate_interval]) - * 1000 - ) - ) - ||| % $.matchers(), - '@95%ile' - ), - ], - ), + ) + ||| % $.matchers(), + '@95%ile' + ), + ]), $.addTableExtended( datasource='${datasource}', @@ -170,51 +168,48 @@ local g = import 'grafonnet/grafana.libsonnet'; ) ), - $.simpleGraphPanel( - { - '@95%ile write': '#e0752d', - }, - 'OSD Write Latencies', - '', - 'ms', - null, - '0', - ||| - avg( - rate(ceph_osd_op_w_latency_sum{%(matchers)s}[$__rate_interval]) / - on (ceph_daemon) rate(ceph_osd_op_w_latency_count{%(matchers)s}[$__rate_interval]) - * 1000 - ) - ||| % $.matchers(), - 'AVG write', - 12, - 0, - 8, - 8 + $.timeSeriesPanel( + title='OSD Write Latencies', + datasource='$datasource', + gridPosition={ x: 12, y: 0, w: 8, h: 8 }, + unit='ms', + drawStyle='line', + fillOpacity=8, + tooltip={ mode: 'multi', sort: 'none' }, + colorMode='palette-classic', + spanNulls=true, ) - .addTargets( - [ - $.addTargetSchema( - ||| - max( + .addTargets([ + $.addTargetSchema( + ||| + avg( + rate(ceph_osd_op_w_latency_sum{%(matchers)s}[$__rate_interval]) / + on (ceph_daemon) rate(ceph_osd_op_w_latency_count{%(matchers)s}[$__rate_interval]) * 1000 + ) + ||| % $.matchers(), + 'AVG write' + ), + $.addTargetSchema( + ||| + max( + rate(ceph_osd_op_w_latency_sum{%(matchers)s}[$__rate_interval]) / + on (ceph_daemon) rate(ceph_osd_op_w_latency_count{%(matchers)s}[$__rate_interval]) * 1000 + ) + ||| % $.matchers(), + 'MAX write' + ), + $.addTargetSchema( + ||| + quantile(0.95, + ( rate(ceph_osd_op_w_latency_sum{%(matchers)s}[$__rate_interval]) / - on (ceph_daemon) rate(ceph_osd_op_w_latency_count{%(matchers)s}[$__rate_interval]) * - 1000 + on (ceph_daemon) rate(ceph_osd_op_w_latency_count{%(matchers)s}[$__rate_interval]) * 1000 ) - ||| % $.matchers(), 'MAX write' - ), - $.addTargetSchema( - ||| - quantile(0.95, ( - rate(ceph_osd_op_w_latency_sum{%(matchers)s}[$__rate_interval]) / - on (ceph_daemon) rate(ceph_osd_op_w_latency_count{%(matchers)s}[$__rate_interval]) * - 1000 - )) - ||| % $.matchers(), '@95%ile write' - ), - ], - ), - + ) + ||| % $.matchers(), + '@95%ile write' + ), + ]), $.addTableExtended( datasource='${datasource}', title='Highest WRITE Latencies', @@ -383,23 +378,27 @@ local g = import 'grafonnet/grafana.libsonnet'; $.addRowSchema(false, true, 'R/W Profile') + { gridPos: { x: 0, y: 16, w: 24, h: 1 } }, - $.simpleGraphPanel( - {}, - 'Read/Write Profile', - 'Show the read/write workload profile overtime', - 'short', - null, - null, - 'round(sum(rate(ceph_pool_rd{%(matchers)s}[$__rate_interval])))' % $.matchers(), - 'Reads', - 0, - 17, - 24, - 8 + $.timeSeriesPanel( + title='Read/Write Profile', + datasource='$datasource', + gridPosition={ x: 0, y: 17, w: 24, h: 8 }, + unit='short', + drawStyle='line', + fillOpacity=8, + tooltip={ mode: 'multi', sort: 'none' }, + colorMode='palette-classic', + spanNulls=true, ) - .addTargets([$.addTargetSchema( - 'round(sum(rate(ceph_pool_wr{%(matchers)s}[$__rate_interval])))' % $.matchers(), 'Writes' - )]), + .addTargets([ + $.addTargetSchema( + 'round(sum(rate(ceph_pool_rd{%(matchers)s}[$__rate_interval])))' % $.matchers(), + 'Reads' + ), + $.addTargetSchema( + 'round(sum(rate(ceph_pool_wr{%(matchers)s}[$__rate_interval])))' % $.matchers(), + 'Writes' + ), + ]), $.addTableExtended( datasource='${datasource}', @@ -495,25 +494,22 @@ local g = import 'grafonnet/grafana.libsonnet'; y, w, h) = - $.graphPanelSchema({}, - title, - description, - 'null as zero', - false, - formatY1, - 'short', - labelY1, - null, - null, - 1, - '$datasource') - .addTargets( - [ - $.addTargetSchema(expr1, - legendFormat1), - $.addTargetSchema(expr2, legendFormat2), - ] - ) + { type: 'timeseries' } + { fieldConfig: { defaults: { unit: formatY1, custom: { fillOpacity: 8, showPoints: 'never' } } } } + { gridPos: { x: x, y: y, w: w, h: h } }; + $.timeSeriesPanel( + title=title, + datasource='$datasource', + gridPosition={ x: x, y: y, w: w, h: h }, + unit=formatY1, + axisLabel=labelY1, + drawStyle='line', + fillOpacity=8, + tooltip={ mode: 'multi', sort: 'none' }, + colorMode='palette-classic', + spanNulls=true, + ) + .addTargets([ + $.addTargetSchema(expr1, legendFormat1), + $.addTargetSchema(expr2, legendFormat2), + ]); $.dashboardSchema( 'OSD device details', @@ -565,77 +561,157 @@ local g = import 'grafonnet/grafana.libsonnet'; $.addRowSchema( false, true, 'OSD Performance' ) + { gridPos: { x: 0, y: 0, w: 24, h: 1 } }, - OsdDeviceDetailsPanel( - '$osd Latency', - '', - 's', - 'Read (-) / Write (+)', - ||| - rate(ceph_osd_op_r_latency_sum{ceph_daemon=~"$osd", %(matchers)s}[$__rate_interval]) / - on (ceph_daemon) rate(ceph_osd_op_r_latency_count{%(matchers)s}[$__rate_interval]) - ||| % $.matchers(), - ||| - rate(ceph_osd_op_w_latency_sum{ceph_daemon=~"$osd", %(matchers)s}[$__rate_interval]) / - on (ceph_daemon) rate(ceph_osd_op_w_latency_count{%(matchers)s}[$__rate_interval]) - ||| % $.matchers(), - 'read', - 'write', - 0, - 1, - 6, - 9 + $.timeSeriesPanel( + title='$osd Latency', + datasource='$datasource', + gridPosition={ x: 0, y: 1, w: 6, h: 9 }, + unit='s', + axisLabel='Read (-) / Write (+)', + drawStyle='line', + fillOpacity=8, + tooltip={ mode: 'multi', sort: 'none' }, + colorMode='palette-classic', + spanNulls=true, ) - .addSeriesOverride( - { - alias: 'read', - transform: 'negative-Y', - } - ), - OsdDeviceDetailsPanel( - '$osd R/W IOPS', - '', - 'short', - 'Read (-) / Write (+)', - 'rate(ceph_osd_op_r{ceph_daemon=~"$osd", %(matchers)s}[$__rate_interval])' % $.matchers(), - 'rate(ceph_osd_op_w{ceph_daemon=~"$osd", %(matchers)s}[$__rate_interval])' % $.matchers(), - 'Reads', - 'Writes', - 6, - 1, - 6, - 9 + .addTargets([ + $.addTargetSchema( + ||| + rate(ceph_osd_op_r_latency_sum{ceph_daemon=~"$osd", %(matchers)s}[$__rate_interval]) / + on (ceph_daemon) rate(ceph_osd_op_r_latency_count{%(matchers)s}[$__rate_interval]) + ||| % $.matchers(), + 'read' + ), + $.addTargetSchema( + ||| + rate(ceph_osd_op_w_latency_sum{ceph_daemon=~"$osd", %(matchers)s}[$__rate_interval]) / + on (ceph_daemon) rate(ceph_osd_op_w_latency_count{%(matchers)s}[$__rate_interval]) + ||| % $.matchers(), + 'write' + ), + ]) + .addSeriesOverride({ + alias: 'read', + transform: 'negative-Y', + }), + $.timeSeriesPanel( + title='$osd R/W IOPS', + datasource='$datasource', + gridPosition={ x: 6, y: 1, w: 6, h: 9 }, + unit='short', + axisLabel='Read (-) / Write (+)', + drawStyle='line', + fillOpacity=8, + tooltip={ mode: 'multi', sort: 'none' }, + colorMode='palette-classic', + spanNulls=true, ) - .addSeriesOverride( - { alias: 'Reads', transform: 'negative-Y' } - ), - OsdDeviceDetailsPanel( - '$osd R/W Bytes', - '', - 'bytes', - 'Read (-) / Write (+)', - 'rate(ceph_osd_op_r_out_bytes{ceph_daemon=~"$osd", %(matchers)s}[$__rate_interval])' % $.matchers(), - 'rate(ceph_osd_op_w_in_bytes{ceph_daemon=~"$osd", %(matchers)s}[$__rate_interval])' % $.matchers(), - 'Read Bytes', - 'Write Bytes', - 12, - 1, - 6, - 9 + .addTargets([ + $.addTargetSchema( + 'rate(ceph_osd_op_r{ceph_daemon=~"$osd", %(matchers)s}[$__rate_interval])' % $.matchers(), + 'Reads' + ), + $.addTargetSchema( + 'rate(ceph_osd_op_w{ceph_daemon=~"$osd", %(matchers)s}[$__rate_interval])' % $.matchers(), + 'Writes' + ), + ]) + .addSeriesOverride({ + alias: 'Reads', + transform: 'negative-Y', + }), + $.timeSeriesPanel( + title='$osd R/W Bytes', + datasource='$datasource', + gridPosition={ x: 12, y: 1, w: 6, h: 9 }, + unit='bytes', + axisLabel='Read (-) / Write (+)', + drawStyle='line', + fillOpacity=8, + tooltip={ mode: 'multi', sort: 'none' }, + colorMode='palette-classic', + spanNulls=true, ) + .addTargets([ + $.addTargetSchema( + 'rate(ceph_osd_op_r_out_bytes{ceph_daemon=~"$osd", %(matchers)s}[$__rate_interval])' % $.matchers(), + 'Read Bytes' + ), + $.addTargetSchema( + 'rate(ceph_osd_op_w_in_bytes{ceph_daemon=~"$osd", %(matchers)s}[$__rate_interval])' % $.matchers(), + 'Write Bytes' + ), + ]) .addSeriesOverride({ alias: 'Read Bytes', transform: 'negative-Y' }), $.addRowSchema( false, true, 'Physical Device Performance' ) + { gridPos: { x: 0, y: 10, w: 24, h: 1 } }, - OsdDeviceDetailsPanel( - 'Physical Device Latency for $osd', - '', - 's', - 'Read (-) / Write (+)', - ||| - ( + $.timeSeriesPanel( + title='Physical Device Latency for $osd', + datasource='$datasource', + gridPosition={ x: 0, y: 11, w: 6, h: 9 }, + unit='s', + axisLabel='Read (-) / Write (+)', + drawStyle='line', + fillOpacity=8, + tooltip={ mode: 'multi', sort: 'none' }, + colorMode='palette-classic', + spanNulls=true, + ) + .addTargets([ + $.addTargetSchema( + ||| + ( + label_replace( + rate(node_disk_read_time_seconds_total[$__rate_interval]) / + rate(node_disk_reads_completed_total[$__rate_interval]), + "instance", "$1", "instance", "([^:.]*).*" + ) and on (instance, device) label_replace( + label_replace( + ceph_disk_occupation_human{ceph_daemon=~"$osd", %(matchers)s}, + "device", "$1", "device", "/dev/(.*)" + ), "instance", "$1", "instance", "([^:.]*).*" + ) + ) + ||| % $.matchers(), + '{{instance}}/{{device}} Reads' + ), + $.addTargetSchema( + ||| + ( + label_replace( + rate(node_disk_write_time_seconds_total[$__rate_interval]) / + rate(node_disk_writes_completed_total[$__rate_interval]), + "instance", "$1", "instance", "([^:.]*).*") and on (instance, device) + label_replace( + label_replace( + ceph_disk_occupation_human{ceph_daemon=~"$osd", %(matchers)s}, "device", "$1", "device", "/dev/(.*)" + ), "instance", "$1", "instance", "([^:.]*).*" + ) + ) + ||| % $.matchers(), + '{{instance}}/{{device}} Writes' + ), + ]) + .addSeriesOverride( + { alias: '/.*Reads/', transform: 'negative-Y' } + ), + $.timeSeriesPanel( + title='Physical Device R/W IOPS for $osd', + datasource='$datasource', + gridPosition={ x: 6, y: 11, w: 6, h: 9 }, + unit='short', + axisLabel='Read (-) / Write (+)', + drawStyle='line', + fillOpacity=8, + tooltip={ mode: 'multi', sort: 'none' }, + colorMode='palette-classic', + spanNulls=true, + ) + .addTargets([ + $.addTargetSchema( + ||| label_replace( - rate(node_disk_read_time_seconds_total[$__rate_interval]) / - rate(node_disk_reads_completed_total[$__rate_interval]), + rate(node_disk_writes_completed_total[$__rate_interval]), "instance", "$1", "instance", "([^:.]*).*" ) and on (instance, device) label_replace( label_replace( @@ -643,129 +719,97 @@ local g = import 'grafonnet/grafana.libsonnet'; "device", "$1", "device", "/dev/(.*)" ), "instance", "$1", "instance", "([^:.]*).*" ) - ) - ||| % $.matchers(), - ||| - ( + ||| % $.matchers(), + '{{device}} on {{instance}} Writes' + ), + $.addTargetSchema( + ||| label_replace( - rate(node_disk_write_time_seconds_total[$__rate_interval]) / - rate(node_disk_writes_completed_total[$__rate_interval]), - "instance", "$1", "instance", "([^:.]*).*") and on (instance, device) + rate(node_disk_reads_completed_total[$__rate_interval]), + "instance", "$1", "instance", "([^:.]*).*" + ) and on (instance, device) label_replace( label_replace( - label_replace( - ceph_disk_occupation_human{ceph_daemon=~"$osd", %(matchers)s}, "device", "$1", "device", "/dev/(.*)" - ), "instance", "$1", "instance", "([^:.]*).*" - ) + ceph_disk_occupation_human{ceph_daemon=~"$osd", %(matchers)s}, + "device", "$1", "device", "/dev/(.*)" + ), "instance", "$1", "instance", "([^:.]*).*" ) - ||| % $.matchers(), - '{{instance}}/{{device}} Reads', - '{{instance}}/{{device}} Writes', - 0, - 11, - 6, - 9 - ) + ||| % $.matchers(), + '{{device}} on {{instance}} Reads' + ), + ]) .addSeriesOverride( { alias: '/.*Reads/', transform: 'negative-Y' } ), - OsdDeviceDetailsPanel( - 'Physical Device R/W IOPS for $osd', - '', - 'short', - 'Read (-) / Write (+)', - ||| - label_replace( - rate(node_disk_writes_completed_total[$__rate_interval]), - "instance", "$1", "instance", "([^:.]*).*" - ) and on (instance, device) label_replace( - label_replace( - ceph_disk_occupation_human{ceph_daemon=~"$osd", %(matchers)s}, - "device", "$1", "device", "/dev/(.*)" - ), "instance", "$1", "instance", "([^:.]*).*" - ) - ||| % $.matchers(), - ||| - label_replace( - rate(node_disk_reads_completed_total[$__rate_interval]), - "instance", "$1", "instance", "([^:.]*).*" - ) and on (instance, device) label_replace( - label_replace( - ceph_disk_occupation_human{ceph_daemon=~"$osd", %(matchers)s}, - "device", "$1", "device", "/dev/(.*)" - ), "instance", "$1", "instance", "([^:.]*).*" - ) - ||| % $.matchers(), - '{{device}} on {{instance}} Writes', - '{{device}} on {{instance}} Reads', - 6, - 11, - 6, - 9 + $.timeSeriesPanel( + title='Physical Device R/W Bytes for $osd', + datasource='$datasource', + gridPosition={ x: 12, y: 11, w: 6, h: 9 }, + unit='Bps', + axisLabel='Read (-) / Write (+)', + drawStyle='line', + fillOpacity=8, + tooltip={ mode: 'multi', sort: 'none' }, + colorMode='palette-classic', + spanNulls=true, ) - .addSeriesOverride( - { alias: '/.*Reads/', transform: 'negative-Y' } - ), - OsdDeviceDetailsPanel( - 'Physical Device R/W Bytes for $osd', - '', - 'Bps', - 'Read (-) / Write (+)', - ||| - label_replace( - rate(node_disk_read_bytes_total[$__rate_interval]), "instance", "$1", "instance", "([^:.]*).*" - ) and on (instance, device) label_replace( + .addTargets([ + $.addTargetSchema( + ||| label_replace( - ceph_disk_occupation_human{ceph_daemon=~"$osd", %(matchers)s}, - "device", "$1", "device", "/dev/(.*)" - ), "instance", "$1", "instance", "([^:.]*).*" - ) - ||| % $.matchers(), - ||| - label_replace( - rate(node_disk_written_bytes_total[$__rate_interval]), "instance", "$1", "instance", "([^:.]*).*" - ) and on (instance, device) label_replace( + rate(node_disk_read_bytes_total[$__rate_interval]), "instance", "$1", "instance", "([^:.]*).*" + ) and on (instance, device) label_replace( + label_replace( + ceph_disk_occupation_human{ceph_daemon=~"$osd", %(matchers)s}, + "device", "$1", "device", "/dev/(.*)" + ), "instance", "$1", "instance", "([^:.]*).*" + ) + ||| % $.matchers(), + '{{instance}} {{device}} Reads' + ), + $.addTargetSchema( + ||| label_replace( - ceph_disk_occupation_human{ceph_daemon=~"$osd", %(matchers)s}, - "device", "$1", "device", "/dev/(.*)" - ), "instance", "$1", "instance", "([^:.]*).*" - ) - ||| % $.matchers(), - '{{instance}} {{device}} Reads', - '{{instance}} {{device}} Writes', - 12, - 11, - 6, - 9 - ) + rate(node_disk_written_bytes_total[$__rate_interval]), "instance", "$1", "instance", "([^:.]*).*" + ) and on (instance, device) label_replace( + label_replace( + ceph_disk_occupation_human{ceph_daemon=~"$osd", %(matchers)s}, + "device", "$1", "device", "/dev/(.*)" + ), "instance", "$1", "instance", "([^:.]*).*" + ) + ||| % $.matchers(), + '{{instance}} {{device}} Writes' + ), + ]) .addSeriesOverride( { alias: '/.*Reads/', transform: 'negative-Y' } ), - $.graphPanelSchema( - {}, - 'Physical Device Util% for $osd', - '', - 'null', - false, - 'percentunit', - 'short', - null, - null, - null, - 1, - '$datasource' + $.timeSeriesPanel( + title='Physical Device Util% for $osd', + datasource='$datasource', + gridPosition={ x: 18, y: 11, w: 6, h: 9 }, + unit='percentunit', + axisLabel='', + drawStyle='line', + fillOpacity=8, + showPoints='never', + tooltip={ mode: 'multi', sort: 'none' }, + colorMode='palette-classic', + spanNulls=true, ) - .addTarget($.addTargetSchema( - ||| - label_replace( - rate(node_disk_io_time_seconds_total[$__rate_interval]), - "instance", "$1", "instance", "([^:.]*).*" - ) and on (instance, device) label_replace( + .addTargets([ + $.addTargetSchema( + ||| label_replace( - ceph_disk_occupation_human{ceph_daemon=~"$osd", %(matchers)s}, "device", "$1", "device", "/dev/(.*)" - ), "instance", "$1", "instance", "([^:.]*).*" - ) - ||| % $.matchers(), - '{{device}} on {{instance}}' - )) + { type: 'timeseries' } + { fieldConfig: { defaults: { unit: 'percentunit', custom: { fillOpacity: 8, showPoints: 'never' } } } } + { gridPos: { x: 18, y: 11, w: 6, h: 9 } }, + rate(node_disk_io_time_seconds_total[$__rate_interval]), + "instance", "$1", "instance", "([^:.]*).*" + ) and on (instance, device) label_replace( + label_replace( + ceph_disk_occupation_human{ceph_daemon=~"$osd", %(matchers)s}, "device", "$1", "device", "/dev/(.*)" + ), "instance", "$1", "instance", "([^:.]*).*" + ) + ||| % $.matchers(), + '{{device}} on {{instance}}' + ), + ]), ]), } diff --git a/monitoring/ceph-mixin/dashboards_out/osd-device-details.json b/monitoring/ceph-mixin/dashboards_out/osd-device-details.json index 60f1ecc5ad0c4..199465a4578be 100644 --- a/monitoring/ceph-mixin/dashboards_out/osd-device-details.json +++ b/monitoring/ceph-mixin/dashboards_out/osd-device-details.json @@ -57,23 +57,50 @@ "type": "row" }, { - "aliasColors": { }, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": "$datasource", - "description": "", "fieldConfig": { "defaults": { + "color": { + "mode": "palette-classic" + }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "Read (-) / Write (+)", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", "fillOpacity": 8, - "showPoints": "never" + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 0, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "thresholds": { + "mode": "absolute", + "steps": [ ] }, "unit": "s" - } + }, + "overrides": [ ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 9, "w": 6, @@ -81,36 +108,25 @@ "y": 1 }, "id": 3, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sideWidth": null, - "total": false, - "values": false + "options": { + "legend": { + "calcs": [ ], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - "lines": true, - "linewidth": 1, - "links": [ ], - "nullPointMode": "null as zero", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": null, + "pluginVersion": "9.1.3", "seriesOverrides": [ { "alias": "read", "transform": "negative-Y" } ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, "targets": [ { "expr": "rate(ceph_osd_op_r_latency_sum{ceph_daemon=~\"$osd\", cluster=~\"$cluster\", }[$__rate_interval]) /\n on (ceph_daemon) rate(ceph_osd_op_r_latency_count{cluster=~\"$cluster\", }[$__rate_interval])\n", @@ -127,60 +143,54 @@ "refId": "B" } ], - "thresholds": [ ], - "timeFrom": null, - "timeShift": null, "title": "$osd Latency", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [ ] - }, - "yaxes": [ - { - "format": "s", - "label": "Read (-) / Write (+)", - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] + "type": "timeseries" }, { - "aliasColors": { }, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": "$datasource", - "description": "", "fieldConfig": { "defaults": { + "color": { + "mode": "palette-classic" + }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "Read (-) / Write (+)", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", "fillOpacity": 8, - "showPoints": "never" + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 0, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "thresholds": { + "mode": "absolute", + "steps": [ ] }, "unit": "short" - } + }, + "overrides": [ ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 9, "w": 6, @@ -188,36 +198,25 @@ "y": 1 }, "id": 4, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sideWidth": null, - "total": false, - "values": false + "options": { + "legend": { + "calcs": [ ], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - "lines": true, - "linewidth": 1, - "links": [ ], - "nullPointMode": "null as zero", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": null, + "pluginVersion": "9.1.3", "seriesOverrides": [ { "alias": "Reads", "transform": "negative-Y" } ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, "targets": [ { "expr": "rate(ceph_osd_op_r{ceph_daemon=~\"$osd\", cluster=~\"$cluster\", }[$__rate_interval])", @@ -234,60 +233,54 @@ "refId": "B" } ], - "thresholds": [ ], - "timeFrom": null, - "timeShift": null, "title": "$osd R/W IOPS", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [ ] - }, - "yaxes": [ - { - "format": "short", - "label": "Read (-) / Write (+)", - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] + "type": "timeseries" }, { - "aliasColors": { }, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": "$datasource", - "description": "", "fieldConfig": { "defaults": { + "color": { + "mode": "palette-classic" + }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "Read (-) / Write (+)", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", "fillOpacity": 8, - "showPoints": "never" + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 0, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "thresholds": { + "mode": "absolute", + "steps": [ ] }, "unit": "bytes" - } + }, + "overrides": [ ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 9, "w": 6, @@ -295,36 +288,25 @@ "y": 1 }, "id": 5, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sideWidth": null, - "total": false, - "values": false + "options": { + "legend": { + "calcs": [ ], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - "lines": true, - "linewidth": 1, - "links": [ ], - "nullPointMode": "null as zero", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": null, + "pluginVersion": "9.1.3", "seriesOverrides": [ { "alias": "Read Bytes", "transform": "negative-Y" } ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, "targets": [ { "expr": "rate(ceph_osd_op_r_out_bytes{ceph_daemon=~\"$osd\", cluster=~\"$cluster\", }[$__rate_interval])", @@ -341,41 +323,8 @@ "refId": "B" } ], - "thresholds": [ ], - "timeFrom": null, - "timeShift": null, "title": "$osd R/W Bytes", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [ ] - }, - "yaxes": [ - { - "format": "bytes", - "label": "Read (-) / Write (+)", - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] + "type": "timeseries" }, { "collapse": false, @@ -397,23 +346,50 @@ "type": "row" }, { - "aliasColors": { }, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": "$datasource", - "description": "", "fieldConfig": { "defaults": { + "color": { + "mode": "palette-classic" + }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "Read (-) / Write (+)", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", "fillOpacity": 8, - "showPoints": "never" + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 0, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "thresholds": { + "mode": "absolute", + "steps": [ ] }, "unit": "s" - } + }, + "overrides": [ ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 9, "w": 6, @@ -421,36 +397,25 @@ "y": 11 }, "id": 7, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sideWidth": null, - "total": false, - "values": false + "options": { + "legend": { + "calcs": [ ], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - "lines": true, - "linewidth": 1, - "links": [ ], - "nullPointMode": "null as zero", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": null, + "pluginVersion": "9.1.3", "seriesOverrides": [ { "alias": "/.*Reads/", "transform": "negative-Y" } ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, "targets": [ { "expr": "(\n label_replace(\n rate(node_disk_read_time_seconds_total[$__rate_interval]) /\n rate(node_disk_reads_completed_total[$__rate_interval]),\n \"instance\", \"$1\", \"instance\", \"([^:.]*).*\"\n ) and on (instance, device) label_replace(\n label_replace(\n ceph_disk_occupation_human{ceph_daemon=~\"$osd\", cluster=~\"$cluster\", },\n \"device\", \"$1\", \"device\", \"/dev/(.*)\"\n ), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\"\n )\n)\n", @@ -460,67 +425,61 @@ "refId": "A" }, { - "expr": "(\n label_replace(\n rate(node_disk_write_time_seconds_total[$__rate_interval]) /\n rate(node_disk_writes_completed_total[$__rate_interval]),\n \"instance\", \"$1\", \"instance\", \"([^:.]*).*\") and on (instance, device)\n label_replace(\n label_replace(\n ceph_disk_occupation_human{ceph_daemon=~\"$osd\", cluster=~\"$cluster\", }, \"device\", \"$1\", \"device\", \"/dev/(.*)\"\n ), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\"\n )\n )\n", + "expr": "(\n label_replace(\n rate(node_disk_write_time_seconds_total[$__rate_interval]) /\n rate(node_disk_writes_completed_total[$__rate_interval]),\n \"instance\", \"$1\", \"instance\", \"([^:.]*).*\") and on (instance, device)\n label_replace(\n label_replace(\n ceph_disk_occupation_human{ceph_daemon=~\"$osd\", cluster=~\"$cluster\", }, \"device\", \"$1\", \"device\", \"/dev/(.*)\"\n ), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\"\n )\n)\n", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{instance}}/{{device}} Writes", "refId": "B" } ], - "thresholds": [ ], - "timeFrom": null, - "timeShift": null, "title": "Physical Device Latency for $osd", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [ ] - }, - "yaxes": [ - { - "format": "s", - "label": "Read (-) / Write (+)", - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] + "type": "timeseries" }, { - "aliasColors": { }, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": "$datasource", - "description": "", "fieldConfig": { "defaults": { + "color": { + "mode": "palette-classic" + }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "Read (-) / Write (+)", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", "fillOpacity": 8, - "showPoints": "never" + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 0, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "thresholds": { + "mode": "absolute", + "steps": [ ] }, "unit": "short" - } + }, + "overrides": [ ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 9, "w": 6, @@ -528,36 +487,25 @@ "y": 11 }, "id": 8, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sideWidth": null, - "total": false, - "values": false + "options": { + "legend": { + "calcs": [ ], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - "lines": true, - "linewidth": 1, - "links": [ ], - "nullPointMode": "null as zero", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": null, + "pluginVersion": "9.1.3", "seriesOverrides": [ { "alias": "/.*Reads/", "transform": "negative-Y" } ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, "targets": [ { "expr": "label_replace(\n rate(node_disk_writes_completed_total[$__rate_interval]),\n \"instance\", \"$1\", \"instance\", \"([^:.]*).*\"\n) and on (instance, device) label_replace(\n label_replace(\n ceph_disk_occupation_human{ceph_daemon=~\"$osd\", cluster=~\"$cluster\", },\n \"device\", \"$1\", \"device\", \"/dev/(.*)\"\n ), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\"\n)\n", @@ -574,60 +522,54 @@ "refId": "B" } ], - "thresholds": [ ], - "timeFrom": null, - "timeShift": null, "title": "Physical Device R/W IOPS for $osd", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [ ] - }, - "yaxes": [ - { - "format": "short", - "label": "Read (-) / Write (+)", - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] + "type": "timeseries" }, { - "aliasColors": { }, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": "$datasource", - "description": "", "fieldConfig": { "defaults": { + "color": { + "mode": "palette-classic" + }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "Read (-) / Write (+)", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", "fillOpacity": 8, - "showPoints": "never" + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 0, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "thresholds": { + "mode": "absolute", + "steps": [ ] }, "unit": "Bps" - } + }, + "overrides": [ ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 9, "w": 6, @@ -635,36 +577,25 @@ "y": 11 }, "id": 9, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sideWidth": null, - "total": false, - "values": false + "options": { + "legend": { + "calcs": [ ], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - "lines": true, - "linewidth": 1, - "links": [ ], - "nullPointMode": "null as zero", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": null, + "pluginVersion": "9.1.3", "seriesOverrides": [ { "alias": "/.*Reads/", "transform": "negative-Y" } ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, "targets": [ { "expr": "label_replace(\n rate(node_disk_read_bytes_total[$__rate_interval]), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\"\n) and on (instance, device) label_replace(\n label_replace(\n ceph_disk_occupation_human{ceph_daemon=~\"$osd\", cluster=~\"$cluster\", },\n \"device\", \"$1\", \"device\", \"/dev/(.*)\"\n ), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\"\n)\n", @@ -681,60 +612,54 @@ "refId": "B" } ], - "thresholds": [ ], - "timeFrom": null, - "timeShift": null, "title": "Physical Device R/W Bytes for $osd", - "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 - } - ] + "type": "timeseries" }, { - "aliasColors": { }, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": "$datasource", - "description": "", "fieldConfig": { "defaults": { + "color": { + "mode": "palette-classic" + }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", "fillOpacity": 8, - "showPoints": "never" + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 0, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "thresholds": { + "mode": "absolute", + "steps": [ ] }, "unit": "percentunit" - } + }, + "overrides": [ ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 9, "w": 6, @@ -742,31 +667,20 @@ "y": 11 }, "id": 10, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sideWidth": null, - "total": false, - "values": false + "options": { + "legend": { + "calcs": [ ], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - "lines": true, - "linewidth": 1, - "links": [ ], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": null, + "pluginVersion": "9.1.3", "seriesOverrides": [ ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, "targets": [ { "expr": "label_replace(\n rate(node_disk_io_time_seconds_total[$__rate_interval]),\n \"instance\", \"$1\", \"instance\", \"([^:.]*).*\"\n) and on (instance, device) label_replace(\n label_replace(\n ceph_disk_occupation_human{ceph_daemon=~\"$osd\", cluster=~\"$cluster\", }, \"device\", \"$1\", \"device\", \"/dev/(.*)\"\n ), \"instance\", \"$1\", \"instance\", \"([^:.]*).*\"\n)\n", @@ -776,41 +690,8 @@ "refId": "A" } ], - "thresholds": [ ], - "timeFrom": null, - "timeShift": null, "title": "Physical Device Util% for $osd", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [ ] - }, - "yaxes": [ - { - "format": "percentunit", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] + "type": "timeseries" } ], "refresh": "30s", diff --git a/monitoring/ceph-mixin/dashboards_out/osds-overview.json b/monitoring/ceph-mixin/dashboards_out/osds-overview.json index 948f0d721b67d..5460610de1838 100644 --- a/monitoring/ceph-mixin/dashboards_out/osds-overview.json +++ b/monitoring/ceph-mixin/dashboards_out/osds-overview.json @@ -50,25 +50,50 @@ "links": [ ], "panels": [ { - "aliasColors": { - "@95%ile": "#e0752d" - }, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": "$datasource", - "description": "", "fieldConfig": { "defaults": { + "color": { + "mode": "palette-classic" + }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", "fillOpacity": 8, - "showPoints": "never" + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 0, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "thresholds": { + "mode": "absolute", + "steps": [ ] }, "unit": "ms" - } + }, + "overrides": [ ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 8, "w": 8, @@ -76,34 +101,23 @@ "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 + "options": { + "legend": { + "calcs": [ ], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - "lines": true, - "linewidth": 1, - "links": [ ], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": null, + "pluginVersion": "9.1.3", "seriesOverrides": [ ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, "targets": [ { - "expr": "avg (\n rate(ceph_osd_op_r_latency_sum{cluster=~\"$cluster\", }[$__rate_interval]) /\n on (ceph_daemon) rate(ceph_osd_op_r_latency_count{cluster=~\"$cluster\", }[$__rate_interval]) * 1000\n)\n", + "expr": "avg(\n rate(ceph_osd_op_r_latency_sum{cluster=~\"$cluster\", }[$__rate_interval]) /\n on (ceph_daemon) rate(ceph_osd_op_r_latency_count{cluster=~\"$cluster\", }[$__rate_interval]) * 1000\n)\n", "format": "time_series", "intervalFactor": 1, "legendFormat": "AVG read", @@ -117,48 +131,15 @@ "refId": "B" }, { - "expr": "quantile(0.95,\n (\n rate(ceph_osd_op_r_latency_sum{cluster=~\"$cluster\", }[$__rate_interval]) /\n on (ceph_daemon) rate(ceph_osd_op_r_latency_count{cluster=~\"$cluster\", }[$__rate_interval])\n * 1000\n )\n)\n", + "expr": "quantile(0.95,\n (\n rate(ceph_osd_op_r_latency_sum{cluster=~\"$cluster\", }[$__rate_interval]) /\n on (ceph_daemon) rate(ceph_osd_op_r_latency_count{cluster=~\"$cluster\", }[$__rate_interval]) * 1000\n )\n)\n", "format": "time_series", "intervalFactor": 1, "legendFormat": "@95%ile", "refId": "C" } ], - "thresholds": [ ], - "timeFrom": null, - "timeShift": null, "title": "OSD Read Latencies", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [ ] - }, - "yaxes": [ - { - "format": "ms", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - } - ] + "type": "timeseries" }, { "columns": [ ], @@ -297,25 +278,50 @@ "type": "table" }, { - "aliasColors": { - "@95%ile write": "#e0752d" - }, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": "$datasource", - "description": "", "fieldConfig": { "defaults": { + "color": { + "mode": "palette-classic" + }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", "fillOpacity": 8, - "showPoints": "never" + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 0, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "thresholds": { + "mode": "absolute", + "steps": [ ] }, "unit": "ms" - } + }, + "overrides": [ ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 8, "w": 8, @@ -323,89 +329,45 @@ "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 + "options": { + "legend": { + "calcs": [ ], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - "lines": true, - "linewidth": 1, - "links": [ ], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": null, + "pluginVersion": "9.1.3", "seriesOverrides": [ ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, "targets": [ { - "expr": "avg(\n rate(ceph_osd_op_w_latency_sum{cluster=~\"$cluster\", }[$__rate_interval]) /\n on (ceph_daemon) rate(ceph_osd_op_w_latency_count{cluster=~\"$cluster\", }[$__rate_interval])\n * 1000\n)\n", + "expr": "avg(\n rate(ceph_osd_op_w_latency_sum{cluster=~\"$cluster\", }[$__rate_interval]) /\n on (ceph_daemon) rate(ceph_osd_op_w_latency_count{cluster=~\"$cluster\", }[$__rate_interval]) * 1000\n)\n", "format": "time_series", "intervalFactor": 1, "legendFormat": "AVG write", "refId": "A" }, { - "expr": "max(\n rate(ceph_osd_op_w_latency_sum{cluster=~\"$cluster\", }[$__rate_interval]) /\n on (ceph_daemon) rate(ceph_osd_op_w_latency_count{cluster=~\"$cluster\", }[$__rate_interval]) *\n 1000\n)\n", + "expr": "max(\n rate(ceph_osd_op_w_latency_sum{cluster=~\"$cluster\", }[$__rate_interval]) /\n on (ceph_daemon) rate(ceph_osd_op_w_latency_count{cluster=~\"$cluster\", }[$__rate_interval]) * 1000\n)\n", "format": "time_series", "intervalFactor": 1, "legendFormat": "MAX write", "refId": "B" }, { - "expr": "quantile(0.95, (\n rate(ceph_osd_op_w_latency_sum{cluster=~\"$cluster\", }[$__rate_interval]) /\n on (ceph_daemon) rate(ceph_osd_op_w_latency_count{cluster=~\"$cluster\", }[$__rate_interval]) *\n 1000\n))\n", + "expr": "quantile(0.95,\n (\n rate(ceph_osd_op_w_latency_sum{cluster=~\"$cluster\", }[$__rate_interval]) /\n on (ceph_daemon) rate(ceph_osd_op_w_latency_count{cluster=~\"$cluster\", }[$__rate_interval]) * 1000\n )\n)\n", "format": "time_series", "intervalFactor": 1, "legendFormat": "@95%ile write", "refId": "C" } ], - "thresholds": [ ], - "timeFrom": null, - "timeShift": null, "title": "OSD Write Latencies", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [ ] - }, - "yaxes": [ - { - "format": "ms", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - } - ] + "type": "timeseries" }, { "columns": [ ], @@ -1015,23 +977,50 @@ "type": "row" }, { - "aliasColors": { }, - "bars": false, - "dashLength": 10, - "dashes": false, "datasource": "$datasource", - "description": "Show the read/write workload profile overtime", "fieldConfig": { "defaults": { + "color": { + "mode": "palette-classic" + }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", "fillOpacity": 8, - "showPoints": "never" + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 0, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "thresholds": { + "mode": "absolute", + "steps": [ ] }, "unit": "short" - } + }, + "overrides": [ ] }, - "fill": 1, - "fillGradient": 0, "gridPos": { "h": 8, "w": 24, @@ -1039,31 +1028,20 @@ "y": 17 }, "id": 12, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sideWidth": null, - "total": false, - "values": false + "options": { + "legend": { + "calcs": [ ], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } }, - "lines": true, - "linewidth": 1, - "links": [ ], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "repeat": null, + "pluginVersion": "9.1.3", "seriesOverrides": [ ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, "targets": [ { "expr": "round(sum(rate(ceph_pool_rd{cluster=~\"$cluster\", }[$__rate_interval])))", @@ -1080,41 +1058,8 @@ "refId": "B" } ], - "thresholds": [ ], - "timeFrom": null, - "timeShift": null, "title": "Read/Write Profile", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [ ] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] + "type": "timeseries" }, { "columns": [ ],