$.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}',
)
),
- $.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',
$.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}',
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',
$.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(
"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}}'
+ ),
+ ]),
]),
}
"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,
"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",
"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,
"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])",
"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,
"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])",
"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,
"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,
"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",
"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,
"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",
"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,
"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",
"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,
"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",
"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",
"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,
"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",
"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": [ ],
"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,
"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": [ ],
"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,
"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])))",
"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": [ ],