summaryrefslogtreecommitdiffstats
path: root/monitoring/ceph-mixin/dashboards/rbd.libsonnet
diff options
context:
space:
mode:
Diffstat (limited to 'monitoring/ceph-mixin/dashboards/rbd.libsonnet')
-rw-r--r--monitoring/ceph-mixin/dashboards/rbd.libsonnet228
1 files changed, 186 insertions, 42 deletions
diff --git a/monitoring/ceph-mixin/dashboards/rbd.libsonnet b/monitoring/ceph-mixin/dashboards/rbd.libsonnet
index 0eca5a877..36cd3ff1b 100644
--- a/monitoring/ceph-mixin/dashboards/rbd.libsonnet
+++ b/monitoring/ceph-mixin/dashboards/rbd.libsonnet
@@ -22,7 +22,7 @@ local u = import 'utils.libsonnet';
'{{pool}} Write'),
$.addTargetSchema(expr2, '{{pool}} Read'),
]
- ) + { gridPos: { x: x, y: y, w: w, h: h } };
+ ) + { type: 'timeseries' } + { fieldConfig: { defaults: { unit: formatY1, custom: { fillOpacity: 8, showPoints: 'never' } } } } + { gridPos: { x: x, y: y, w: w, h: h } };
$.dashboardSchema(
'RBD Details',
@@ -133,7 +133,7 @@ local u = import 'utils.libsonnet';
$.graphPanelSchema({},
title,
'',
- 'null',
+ 'null as zero',
false,
formatY1,
'short',
@@ -149,7 +149,7 @@ local u = import 'utils.libsonnet';
$.addTargetSchema(expr2,
legendFormat2),
]
- ) + { gridPos: { x: x, y: y, w: w, h: h } };
+ ) + { type: 'timeseries' } + { fieldConfig: { defaults: { unit: formatY1, custom: { fillOpacity: 8, showPoints: 'never' } } } } + { gridPos: { x: x, y: y, w: w, h: h } };
$.dashboardSchema(
'RBD Overview',
@@ -240,20 +240,68 @@ local u = import 'utils.libsonnet';
8,
7
),
- $.addTableSchema(
- '$datasource',
- '',
- { col: 3, desc: true },
- [
- $.overviewStyle('Pool', 'pool', 'string', 'short'),
- $.overviewStyle('Image', 'image', 'string', 'short'),
- $.overviewStyle('IOPS', 'Value', 'number', 'iops'),
- $.overviewStyle('', '/.*/', 'hidden', 'short'),
+
+ $.addTableExtended(
+ datasource='${datasource}',
+ title='Highest IOPS',
+ description='RBD per-image IO statistics are disabled by default.\n\nPlease refer to https://docs.ceph.com/en/latest/mgr/prometheus/#rbd-io-statistics for information about how to enable those optionally.',
+ gridPosition={ h: 7, w: 8, x: 0, y: 7 },
+ options={
+ footer: {
+ fields: '',
+ reducer: ['sum'],
+ countRows: false,
+ enablePagination: false,
+ show: false,
+ },
+ frameIndex: 1,
+ showHeader: true,
+ },
+ custom={ align: 'null', cellOptions: { type: 'auto' }, filterable: true, inspect: false },
+ thresholds={
+ mode: 'absolute',
+ steps: [
+ { color: 'green', value: null },
+ { color: 'red', value: 80 },
+ ],
+ },
+ overrides=[
+ {
+ matcher: { id: 'byName', options: 'pool' },
+ properties: [
+ { id: 'displayName', value: 'Pool' },
+ { id: 'unit', value: 'short' },
+ { id: 'decimals', value: 2 },
+ { id: 'custom.align', value: null },
+ ],
+ },
+ {
+ matcher: { id: 'byName', options: 'image' },
+ properties: [
+ { id: 'displayName', value: 'Image' },
+ { id: 'unit', value: 'short' },
+ { id: 'decimals', value: 2 },
+ { id: 'custom.align', value: null },
+ ],
+ },
+ {
+ matcher: { id: 'byName', options: 'Value' },
+ properties: [
+ { id: 'displayName', value: 'IOPS' },
+ { id: 'unit', value: 'iops' },
+ { id: 'decimals', value: 2 },
+ { id: 'custom.align', value: null },
+ ],
+ },
],
- 'Highest IOPS',
- 'table'
+ pluginVersion='10.4.0'
)
- .addTarget(
+ .addTransformations([
+ {
+ id: 'merge',
+ options: { reducers: [] },
+ },
+ ]).addTarget(
$.addTargetSchema(
|||
topk(10,
@@ -270,21 +318,69 @@ local u = import 'utils.libsonnet';
1,
true
)
- ) + { gridPos: { x: 0, y: 7, w: 8, h: 7 } },
- $.addTableSchema(
- '$datasource',
- '',
- { col: 3, desc: true },
- [
- $.overviewStyle('Pool', 'pool', 'string', 'short'),
- $.overviewStyle('Image', 'image', 'string', 'short'),
- $.overviewStyle('Throughput', 'Value', 'number', 'Bps'),
- $.overviewStyle('', '/.*/', 'hidden', 'short'),
+ ),
+
+ $.addTableExtended(
+ datasource='${datasource}',
+ title='Highest Throughput',
+ description='RBD per-image IO statistics are disabled by default.\n\nPlease refer to https://docs.ceph.com/en/latest/mgr/prometheus/#rbd-io-statistics for information about how to enable those optionally.',
+ gridPosition={ h: 7, w: 8, x: 8, y: 7 },
+ options={
+ footer: {
+ fields: '',
+ reducer: ['sum'],
+ countRows: false,
+ enablePagination: false,
+ show: false,
+ },
+ frameIndex: 1,
+ showHeader: true,
+ },
+ custom={ align: 'null', cellOptions: { type: 'auto' }, filterable: true, inspect: false },
+ thresholds={
+ mode: 'absolute',
+ steps: [
+ { color: 'green', value: null },
+ { color: 'red', value: 80 },
+ ],
+ },
+ overrides=[
+ {
+ matcher: { id: 'byName', options: 'pool' },
+ properties: [
+ { id: 'displayName', value: 'Pool' },
+ { id: 'unit', value: 'short' },
+ { id: 'decimals', value: 2 },
+ { id: 'custom.align', value: null },
+ ],
+ },
+ {
+ matcher: { id: 'byName', options: 'image' },
+ properties: [
+ { id: 'displayName', value: 'Image' },
+ { id: 'unit', value: 'short' },
+ { id: 'decimals', value: 2 },
+ { id: 'custom.align', value: null },
+ ],
+ },
+ {
+ matcher: { id: 'byName', options: 'Value' },
+ properties: [
+ { id: 'displayName', value: 'Throughput' },
+ { id: 'unit', value: 'Bps' },
+ { id: 'decimals', value: 2 },
+ { id: 'custom.align', value: null },
+ ],
+ },
],
- 'Highest Throughput',
- 'table'
+ pluginVersion='10.4.0'
)
- .addTarget(
+ .addTransformations([
+ {
+ id: 'merge',
+ options: { reducers: [] },
+ },
+ ]).addTarget(
$.addTargetSchema(
|||
topk(10,
@@ -301,21 +397,69 @@ local u = import 'utils.libsonnet';
1,
true
)
- ) + { gridPos: { x: 8, y: 7, w: 8, h: 7 } },
- $.addTableSchema(
- '$datasource',
- '',
- { col: 3, desc: true },
- [
- $.overviewStyle('Pool', 'pool', 'string', 'short'),
- $.overviewStyle('Image', 'image', 'string', 'short'),
- $.overviewStyle('Latency', 'Value', 'number', 'ns'),
- $.overviewStyle('', '/.*/', 'hidden', 'short'),
+ ),
+
+ $.addTableExtended(
+ datasource='${datasource}',
+ title='Highest Latency',
+ description='RBD per-image IO statistics are disabled by default.\n\nPlease refer to https://docs.ceph.com/en/latest/mgr/prometheus/#rbd-io-statistics for information about how to enable those optionally.',
+ gridPosition={ h: 7, w: 8, x: 16, y: 7 },
+ options={
+ footer: {
+ fields: '',
+ reducer: ['sum'],
+ countRows: false,
+ enablePagination: false,
+ show: false,
+ },
+ frameIndex: 1,
+ showHeader: true,
+ },
+ custom={ align: 'null', cellOptions: { type: 'auto' }, filterable: true, inspect: false },
+ thresholds={
+ mode: 'absolute',
+ steps: [
+ { color: 'green', value: null },
+ { color: 'red', value: 80 },
+ ],
+ },
+ overrides=[
+ {
+ matcher: { id: 'byName', options: 'pool' },
+ properties: [
+ { id: 'displayName', value: 'Pool' },
+ { id: 'unit', value: 'short' },
+ { id: 'decimals', value: 2 },
+ { id: 'custom.align', value: null },
+ ],
+ },
+ {
+ matcher: { id: 'byName', options: 'image' },
+ properties: [
+ { id: 'displayName', value: 'Image' },
+ { id: 'unit', value: 'short' },
+ { id: 'decimals', value: 2 },
+ { id: 'custom.align', value: null },
+ ],
+ },
+ {
+ matcher: { id: 'byName', options: 'Value' },
+ properties: [
+ { id: 'displayName', value: 'Latency' },
+ { id: 'unit', value: 'ns' },
+ { id: 'decimals', value: 2 },
+ { id: 'custom.align', value: null },
+ ],
+ },
],
- 'Highest Latency',
- 'table'
+ pluginVersion='10.4.0'
)
- .addTarget(
+ .addTransformations([
+ {
+ id: 'merge',
+ options: { reducers: [] },
+ },
+ ]).addTarget(
$.addTargetSchema(
|||
topk(10,
@@ -332,6 +476,6 @@ local u = import 'utils.libsonnet';
1,
true
)
- ) + { gridPos: { x: 16, y: 7, w: 8, h: 7 } },
+ ),
]),
}