Skip to content

Commit 1be26db

Browse files
authored
Merge pull request grafana/cortex-jsonnet#331 from grafana/darrenjaneczek/resources-dashboards-container-functions
Dashboards: defined container functions for common resources panels
2 parents 6aba412 + 4399d9b commit 1be26db

File tree

5 files changed

+83
-72
lines changed

5 files changed

+83
-72
lines changed

jsonnet/mimir-mixin/dashboards/alertmanager-resources.libsonnet

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -52,30 +52,16 @@ local utils = import 'mixin-utils/utils.libsonnet';
5252
.addRow(
5353
$.row('Disk')
5454
.addPanel(
55-
$.panel('Writes') +
56-
$.queryPanel(
57-
'sum by(%s, %s, device) (rate(node_disk_written_bytes_total[$__rate_interval])) + %s' % [$._config.per_node_label, $._config.per_instance_label, $.filterNodeDiskContainer('alertmanager')],
58-
'{{%s}} - {{device}}' % $._config.per_instance_label
59-
) +
60-
$.stack +
61-
{ yaxes: $.yaxes('Bps') },
55+
$.containerDiskWritesPanel('Writes', 'alertmanager'),
6256
)
6357
.addPanel(
64-
$.panel('Reads') +
65-
$.queryPanel(
66-
'sum by(%s, %s, device) (rate(node_disk_read_bytes_total[$__rate_interval])) + %s' % [$._config.per_node_label, $._config.per_instance_label, $.filterNodeDiskContainer('alertmanager')],
67-
'{{%s}} - {{device}}' % $._config.per_instance_label
68-
) +
69-
$.stack +
70-
{ yaxes: $.yaxes('Bps') },
58+
$.containerDiskReadsPanel('Reads', 'alertmanager'),
7159
)
7260
)
7361
.addRow(
7462
$.row('')
7563
.addPanel(
76-
$.panel('Disk Space Utilization') +
77-
$.queryPanel('max by(persistentvolumeclaim) (kubelet_volume_stats_used_bytes{%s} / kubelet_volume_stats_capacity_bytes{%s}) and count by(persistentvolumeclaim) (kube_persistentvolumeclaim_labels{%s,label_name="alertmanager"})' % [$.namespaceMatcher(), $.namespaceMatcher(), $.namespaceMatcher()], '{{persistentvolumeclaim}}') +
78-
{ yaxes: $.yaxes('percentunit') },
64+
$.containerDiskSpaceUtilization('Disk Space Utilization', 'alertmanager'),
7965
)
8066
),
8167
}

jsonnet/mimir-mixin/dashboards/compactor-resources.libsonnet

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -28,27 +28,13 @@ local utils = import 'mixin-utils/utils.libsonnet';
2828
.addRow(
2929
$.row('Disk')
3030
.addPanel(
31-
$.panel('Disk Writes') +
32-
$.queryPanel(
33-
'sum by(%s, %s, device) (rate(node_disk_written_bytes_total[$__rate_interval])) + %s' % [$._config.per_node_label, $._config.per_instance_label, $.filterNodeDiskContainer('compactor')],
34-
'{{%s}} - {{device}}' % $._config.per_instance_label
35-
) +
36-
$.stack +
37-
{ yaxes: $.yaxes('Bps') },
38-
)
39-
.addPanel(
40-
$.panel('Disk Reads') +
41-
$.queryPanel(
42-
'sum by(%s, %s, device) (rate(node_disk_read_bytes_total[$__rate_interval])) + %s' % [$._config.per_node_label, $._config.per_instance_label, $.filterNodeDiskContainer('compactor')],
43-
'{{%s}} - {{device}}' % $._config.per_instance_label
44-
) +
45-
$.stack +
46-
{ yaxes: $.yaxes('Bps') },
47-
)
48-
.addPanel(
49-
$.panel('Disk Space Utilization') +
50-
$.queryPanel('max by(persistentvolumeclaim) (kubelet_volume_stats_used_bytes{%s} / kubelet_volume_stats_capacity_bytes{%s}) and count by(persistentvolumeclaim) (kube_persistentvolumeclaim_labels{%s,label_name="compactor"})' % [$.namespaceMatcher(), $.namespaceMatcher(), $.namespaceMatcher()], '{{persistentvolumeclaim}}') +
51-
{ yaxes: $.yaxes('percentunit') },
31+
$.containerDiskWritesPanel('Disk Writes', 'compactor'),
32+
)
33+
.addPanel(
34+
$.containerDiskReadsPanel('Disk Reads', 'compactor'),
35+
)
36+
.addPanel(
37+
$.containerDiskSpaceUtilization('Disk Space Utilization', 'compactor'),
5238
)
5339
) + {
5440
templating+: {

jsonnet/mimir-mixin/dashboards/dashboard-utils.libsonnet

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,73 @@ local utils = import 'mixin-utils/utils.libsonnet';
198198
containerNetworkTransmitBytesPanel(instanceName)::
199199
$.containerNetworkPanel('Transmit Bandwidth', 'container_network_transmit_bytes_total', instanceName),
200200

201+
containerDiskWritesPanel(title, containerName)::
202+
$.panel(title) +
203+
$.queryPanel(
204+
|||
205+
sum by(%s, %s, device) (
206+
rate(
207+
node_disk_written_bytes_total[$__rate_interval]
208+
)
209+
)
210+
+
211+
%s
212+
||| % [
213+
$._config.per_node_label,
214+
$._config.per_instance_label,
215+
$.filterNodeDiskContainer(containerName),
216+
],
217+
'{{%s}} - {{device}}' % $._config.per_instance_label
218+
) +
219+
$.stack +
220+
{ yaxes: $.yaxes('Bps') },
221+
222+
containerDiskReadsPanel(title, containerName)::
223+
$.panel(title) +
224+
$.queryPanel(
225+
|||
226+
sum by(%s, %s, device) (
227+
rate(
228+
node_disk_read_bytes_total[$__rate_interval]
229+
)
230+
) + %s
231+
||| % [
232+
$._config.per_node_label,
233+
$._config.per_instance_label,
234+
$.filterNodeDiskContainer(containerName),
235+
],
236+
'{{%s}} - {{device}}' % $._config.per_instance_label
237+
) +
238+
$.stack +
239+
{ yaxes: $.yaxes('Bps') },
240+
241+
containerDiskSpaceUtilization(title, containerName)::
242+
$.panel(title) +
243+
$.queryPanel(
244+
|||
245+
max by(persistentvolumeclaim) (
246+
kubelet_volume_stats_used_bytes{%(namespace)s} /
247+
kubelet_volume_stats_capacity_bytes{%(namespace)s}
248+
)
249+
and
250+
count by(persistentvolumeclaim) (
251+
kube_persistentvolumeclaim_labels{
252+
%(namespace)s,
253+
%(label)s
254+
}
255+
)
256+
||| % {
257+
namespace: $.namespaceMatcher(),
258+
label: $.containerLabelMatcher(containerName),
259+
}, '{{persistentvolumeclaim}}'
260+
) +
261+
{ yaxes: $.yaxes('percentunit') },
262+
263+
containerLabelMatcher(containerName)::
264+
if containerName == 'ingester'
265+
then 'label_name=~"ingester.*"'
266+
else 'label_name="%s"' % containerName,
267+
201268
goHeapInUsePanel(title, jobName)::
202269
$.panel(title) +
203270
$.queryPanel(

jsonnet/mimir-mixin/dashboards/reads-resources.libsonnet

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -103,27 +103,13 @@ local utils = import 'mixin-utils/utils.libsonnet';
103103
std.member($._config.storage_engine, 'blocks'),
104104
$.row('')
105105
.addPanel(
106-
$.panel('Disk Writes') +
107-
$.queryPanel(
108-
'sum by(%s, %s, device) (rate(node_disk_written_bytes_total[$__rate_interval])) + %s' % [$._config.per_node_label, $._config.per_instance_label, $.filterNodeDiskContainer('store-gateway')],
109-
'{{%s}} - {{device}}' % $._config.per_instance_label
110-
) +
111-
$.stack +
112-
{ yaxes: $.yaxes('Bps') },
106+
$.containerDiskWritesPanel('Disk Writes', 'store-gateway'),
113107
)
114108
.addPanel(
115-
$.panel('Disk Reads') +
116-
$.queryPanel(
117-
'sum by(%s, %s, device) (rate(node_disk_read_bytes_total[$__rate_interval])) + %s' % [$._config.per_node_label, $._config.per_instance_label, $.filterNodeDiskContainer('store-gateway')],
118-
'{{%s}} - {{device}}' % $._config.per_instance_label
119-
) +
120-
$.stack +
121-
{ yaxes: $.yaxes('Bps') },
109+
$.containerDiskReadsPanel('Disk Reads', 'store-gateway'),
122110
)
123111
.addPanel(
124-
$.panel('Disk Space Utilization') +
125-
$.queryPanel('max by(persistentvolumeclaim) (kubelet_volume_stats_used_bytes{%s} / kubelet_volume_stats_capacity_bytes{%s}) and count by(persistentvolumeclaim) (kube_persistentvolumeclaim_labels{%s,label_name="store-gateway"})' % [$.namespaceMatcher(), $.namespaceMatcher(), $.namespaceMatcher()], '{{persistentvolumeclaim}}') +
126-
{ yaxes: $.yaxes('percentunit') },
112+
$.containerDiskSpaceUtilization('Disk Space Utilization', 'store-gateway'),
127113
)
128114
) + {
129115
templating+: {

jsonnet/mimir-mixin/dashboards/writes-resources.libsonnet

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -56,27 +56,13 @@ local utils = import 'mixin-utils/utils.libsonnet';
5656
.addRow(
5757
$.row('')
5858
.addPanel(
59-
$.panel('Disk Writes') +
60-
$.queryPanel(
61-
'sum by(%s, %s, device) (rate(node_disk_written_bytes_total[$__rate_interval])) + %s' % [$._config.per_node_label, $._config.per_instance_label, $.filterNodeDiskContainer('ingester')],
62-
'{{%s}} - {{device}}' % $._config.per_instance_label
63-
) +
64-
$.stack +
65-
{ yaxes: $.yaxes('Bps') },
59+
$.containerDiskWritesPanel('Disk Writes', 'ingester')
6660
)
6761
.addPanel(
68-
$.panel('Disk Reads') +
69-
$.queryPanel(
70-
'sum by(%s, %s, device) (rate(node_disk_read_bytes_total[$__rate_interval])) + %s' % [$._config.per_node_label, $._config.per_instance_label, $.filterNodeDiskContainer('ingester')],
71-
'{{%s}} - {{device}}' % $._config.per_instance_label
72-
) +
73-
$.stack +
74-
{ yaxes: $.yaxes('Bps') },
62+
$.containerDiskReadsPanel('Disk Reads', 'ingester')
7563
)
7664
.addPanel(
77-
$.panel('Disk Space Utilization') +
78-
$.queryPanel('max by(persistentvolumeclaim) (kubelet_volume_stats_used_bytes{%s} / kubelet_volume_stats_capacity_bytes{%s}) and count by(persistentvolumeclaim) (kube_persistentvolumeclaim_labels{%s,label_name=~"ingester.*"})' % [$.namespaceMatcher(), $.namespaceMatcher(), $.namespaceMatcher()], '{{persistentvolumeclaim}}') +
79-
{ yaxes: $.yaxes('percentunit') },
65+
$.containerDiskSpaceUtilization('Disk Space Utilization', 'ingester'),
8066
)
8167
)
8268
+ {

0 commit comments

Comments
 (0)