Skip to content

Commit 0980725

Browse files
mgr/dashboard: Changing SimpleGraphPanel to TimeSeries Panel in pool.libsonnet
Fixes:- https://tracker.ceph.com/issues/70229 Signed-off-by: Piyush Agarwal <[email protected]>
1 parent c3721f7 commit 0980725

File tree

3 files changed

+513
-628
lines changed

3 files changed

+513
-628
lines changed

monitoring/ceph-mixin/dashboards/pool.libsonnet

Lines changed: 163 additions & 147 deletions
Original file line numberDiff line numberDiff line change
@@ -513,74 +513,85 @@ local g = import 'grafonnet/grafana.libsonnet';
513513
]
514514
),
515515

516-
$.simpleGraphPanel(
517-
{},
518-
'Top $topk Client IOPS by Pool',
519-
'This chart shows the sum of read and write IOPS from all clients by pool',
520-
'short',
521-
'IOPS',
522-
0,
523-
|||
524-
topk($topk,
525-
round(
526-
(
527-
rate(ceph_pool_rd{%(matchers)s}[$__rate_interval]) +
528-
rate(ceph_pool_wr{%(matchers)s}[$__rate_interval])
529-
), 1
530-
) * on(pool_id) group_left(instance,name) ceph_pool_metadata{%(matchers)s})
531-
||| % $.matchers(),
532-
'{{name}} ',
533-
0,
534-
9,
535-
12,
536-
8
516+
$.timeSeriesPanel(
517+
title='Top $topk Client IOPS by Pool',
518+
datasource='$datasource',
519+
gridPosition={ x: 0, y: 9, w: 12, h: 8 },
520+
unit='short',
521+
axisLabel='IOPS',
522+
drawStyle='line',
523+
fillOpacity=8,
524+
tooltip={ mode: 'multi', sort: 'none' },
525+
colorMode='palette-classic',
526+
spanNulls=true,
537527
)
538-
.addTarget(
528+
.addTargets([
529+
$.addTargetSchema(
530+
|||
531+
topk($topk,
532+
round(
533+
(
534+
rate(ceph_pool_rd{%(matchers)s}[$__rate_interval]) +
535+
rate(ceph_pool_wr{%(matchers)s}[$__rate_interval])
536+
), 1
537+
) * on(pool_id) group_left(instance,name) ceph_pool_metadata{%(matchers)s}
538+
)
539+
||| % $.matchers(),
540+
'{{name}}'
541+
),
539542
$.addTargetSchema(
540543
|||
541544
topk($topk,
542545
rate(ceph_pool_wr{%(matchers)s}[$__rate_interval]) +
543-
on(pool_id) group_left(instance,name) ceph_pool_metadata{%(matchers)s}
546+
on(pool_id) group_left(instance,name) ceph_pool_metadata{%(matchers)s}
544547
)
545548
||| % $.matchers(),
546549
'{{name}} - write'
547-
)
548-
),
549-
$.simpleGraphPanel(
550-
{},
551-
'Top $topk Client Bandwidth by Pool',
552-
'The chart shows the sum of read and write bytes from all clients, by pool',
553-
'Bps',
554-
'Throughput',
555-
0,
556-
|||
557-
topk($topk,
558-
(
559-
rate(ceph_pool_rd_bytes{%(matchers)s}[$__rate_interval]) +
550+
),
551+
]),
552+
$.timeSeriesPanel(
553+
title='Top $topk Client Bandwidth by Pool',
554+
datasource='$datasource',
555+
gridPosition={ x: 12, y: 9, w: 12, h: 8 },
556+
unit='Bps',
557+
axisLabel='Throughput',
558+
drawStyle='line',
559+
fillOpacity=8,
560+
tooltip={ mode: 'multi', sort: 'none' },
561+
colorMode='palette-classic',
562+
spanNulls=true,
563+
)
564+
.addTargets([
565+
$.addTargetSchema(
566+
|||
567+
topk($topk,
568+
(
569+
rate(ceph_pool_rd_bytes{%(matchers)s}[$__rate_interval]) +
560570
rate(ceph_pool_wr_bytes{%(matchers)s}[$__rate_interval])
561-
) * on(pool_id) group_left(instance, name) ceph_pool_metadata{%(matchers)s}
562-
)
563-
||| % $.matchers(),
564-
'{{name}}',
565-
12,
566-
9,
567-
12,
568-
8
569-
),
570-
$.simpleGraphPanel(
571-
{},
572-
'Pool Capacity Usage (RAW)',
573-
'Historical view of capacity usage, to help identify growth and trends in pool consumption',
574-
'bytes',
575-
'Capacity Used',
576-
0,
577-
'ceph_pool_bytes_used{%(matchers)s} * on(pool_id) group_right ceph_pool_metadata{%(matchers)s}' % $.matchers(),
578-
'{{name}}',
579-
0,
580-
17,
581-
24,
582-
7
583-
),
571+
) * on(pool_id) group_left(instance, name) ceph_pool_metadata{%(matchers)s}
572+
)
573+
||| % $.matchers(),
574+
'{{name}}'
575+
),
576+
]),
577+
$.timeSeriesPanel(
578+
title='Pool Capacity Usage (RAW)',
579+
datasource='$datasource',
580+
gridPosition={ x: 0, y: 17, w: 24, h: 7 },
581+
unit='bytes',
582+
axisLabel='Capacity Used',
583+
drawStyle='line',
584+
fillOpacity=8,
585+
tooltip={ mode: 'multi', sort: 'none' },
586+
colorMode='palette-classic',
587+
spanNulls=true,
588+
)
589+
.addTargets([
590+
$.addTargetSchema(
591+
'ceph_pool_bytes_used{%(matchers)s} * on(pool_id) group_right ceph_pool_metadata{%(matchers)s}' % $.matchers(),
592+
'{{name}}'
593+
),
594+
]),
584595
]),
585596
'pool-detail.json':
586597
$.dashboardSchema(
@@ -670,106 +681,111 @@ local g = import 'grafonnet/grafana.libsonnet';
670681
5,
671682
7
672683
),
673-
$.simpleGraphPanel(
674-
{
675-
read_op_per_sec:
676-
'#3F6833',
677-
write_op_per_sec: '#E5AC0E',
678-
},
679-
'$pool_name Object Ingress/Egress',
680-
'',
681-
'ops',
682-
'Objects out(-) / in(+) ',
683-
null,
684-
|||
685-
deriv(ceph_pool_objects{%(matchers)s}[1m]) *
686-
on(pool_id) group_left(instance, name) ceph_pool_metadata{name=~"$pool_name", %(matchers)s}
687-
||| % $.matchers(),
688-
'Objects per second',
689-
12,
690-
0,
691-
12,
692-
7
693-
),
694-
$.simpleGraphPanel(
695-
{
696-
read_op_per_sec: '#3F6833',
697-
write_op_per_sec: '#E5AC0E',
698-
},
699-
'$pool_name Client IOPS',
700-
'',
701-
'iops',
702-
'Read (-) / Write (+)',
703-
null,
704-
|||
705-
rate(ceph_pool_rd{%(matchers)s}[$__rate_interval]) *
706-
on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~"$pool_name", %(matchers)s}
707-
||| % $.matchers(),
708-
'reads',
709-
0,
710-
7,
711-
12,
712-
7
684+
$.timeSeriesPanel(
685+
title='$pool_name Object Ingress/Egress',
686+
datasource='$datasource',
687+
gridPosition={ x: 12, y: 0, w: 12, h: 7 },
688+
unit='ops',
689+
axisLabel='Objects out(-) / in(+)',
690+
drawStyle='line',
691+
fillOpacity=8,
692+
tooltip={ mode: 'multi', sort: 'none' },
693+
colorMode='palette-classic',
694+
spanNulls=true,
695+
)
696+
.addTargets([
697+
$.addTargetSchema(
698+
|||
699+
deriv(ceph_pool_objects{%(matchers)s}[1m]) *
700+
on(pool_id) group_left(instance, name) ceph_pool_metadata{name=~"$pool_name", %(matchers)s}
701+
||| % $.matchers(),
702+
'Objects per second'
703+
),
704+
]),
705+
$.timeSeriesPanel(
706+
title='$pool_name Client IOPS',
707+
datasource='$datasource',
708+
gridPosition={ x: 0, y: 7, w: 12, h: 7 },
709+
unit='iops',
710+
axisLabel='Read (-) / Write (+)',
711+
drawStyle='line',
712+
fillOpacity=8,
713+
tooltip={ mode: 'multi', sort: 'none' },
714+
colorMode='palette-classic',
715+
spanNulls=true,
713716
)
714-
.addSeriesOverride({ alias: 'reads', transform: 'negative-Y' })
715-
.addTarget(
717+
.addTargets([
718+
$.addTargetSchema(
719+
|||
720+
rate(ceph_pool_rd{%(matchers)s}[$__rate_interval]) *
721+
on(pool_id) group_left(instance, name) ceph_pool_metadata{name=~"$pool_name", %(matchers)s}
722+
||| % $.matchers(),
723+
'reads'
724+
),
716725
$.addTargetSchema(
717726
|||
718727
rate(ceph_pool_wr{%(matchers)s}[$__rate_interval]) *
719728
on(pool_id) group_left(instance, name) ceph_pool_metadata{name=~"$pool_name", %(matchers)s}
720729
||| % $.matchers(),
721730
'writes'
722-
)
723-
),
724-
$.simpleGraphPanel(
725-
{
726-
read_op_per_sec: '#3F6833',
727-
write_op_per_sec: '#E5AC0E',
728-
},
729-
'$pool_name Client Throughput',
730-
'',
731-
'Bps',
732-
'Read (-) / Write (+)',
733-
null,
734-
|||
735-
rate(ceph_pool_rd_bytes{%(matchers)s}[$__rate_interval]) +
736-
on(pool_id) group_left(instance, name) ceph_pool_metadata{name=~"$pool_name", %(matchers)s}
737-
||| % $.matchers(),
738-
'reads',
739-
12,
740-
7,
741-
12,
742-
7
731+
),
732+
])
733+
.addSeriesOverride({
734+
alias: 'reads',
735+
transform: 'negative-Y',
736+
}),
737+
$.timeSeriesPanel(
738+
title='$pool_name Client Throughput',
739+
datasource='$datasource',
740+
gridPosition={ x: 12, y: 7, w: 12, h: 7 },
741+
unit='Bps',
742+
axisLabel='Read (-) / Write (+)',
743+
drawStyle='line',
744+
fillOpacity=8,
745+
tooltip={ mode: 'multi', sort: 'none' },
746+
colorMode='palette-classic',
747+
spanNulls=true,
743748
)
744-
.addSeriesOverride({ alias: 'reads', transform: 'negative-Y' })
745-
.addTarget(
749+
.addTargets([
750+
$.addTargetSchema(
751+
|||
752+
rate(ceph_pool_rd_bytes{%(matchers)s}[$__rate_interval]) +
753+
on(pool_id) group_left(instance, name) ceph_pool_metadata{name=~"$pool_name", %(matchers)s}
754+
||| % $.matchers(),
755+
'reads'
756+
),
746757
$.addTargetSchema(
747758
|||
748759
rate(ceph_pool_wr_bytes{%(matchers)s}[$__rate_interval]) +
749-
on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~"$pool_name", %(matchers)s}
760+
on(pool_id) group_left(instance, name) ceph_pool_metadata{name=~"$pool_name", %(matchers)s}
750761
||| % $.matchers(),
751762
'writes'
752-
)
753-
),
754-
$.simpleGraphPanel(
755-
{
756-
read_op_per_sec: '#3F6833',
757-
write_op_per_sec: '#E5AC0E',
758-
},
759-
'$pool_name Objects',
760-
'',
761-
'short',
762-
'Objects',
763-
null,
764-
|||
765-
ceph_pool_objects{%(matchers)s} *
766-
on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~"$pool_name", %(matchers)s}
767-
||| % $.matchers(),
768-
'Number of Objects',
769-
0,
770-
14,
771-
12,
772-
7
773-
),
763+
),
764+
])
765+
.addSeriesOverride({
766+
alias: 'reads',
767+
transform: 'negative-Y',
768+
}),
769+
$.timeSeriesPanel(
770+
title='$pool_name Objects',
771+
datasource='$datasource',
772+
gridPosition={ x: 0, y: 14, w: 12, h: 7 },
773+
unit='short',
774+
axisLabel='Objects',
775+
drawStyle='line',
776+
fillOpacity=8,
777+
tooltip={ mode: 'multi', sort: 'none' },
778+
colorMode='palette-classic',
779+
spanNulls=true,
780+
)
781+
.addTargets([
782+
$.addTargetSchema(
783+
|||
784+
ceph_pool_objects{%(matchers)s} *
785+
on(pool_id) group_left(instance, name) ceph_pool_metadata{name=~"$pool_name", %(matchers)s}
786+
||| % $.matchers(),
787+
'Number of Objects'
788+
),
789+
]),
774790
]),
775791
}

0 commit comments

Comments
 (0)