Skip to content

Commit 7360753

Browse files
authored
Merge pull request #184 from wiremind/volume
Persistent Volumes Usage dashboard: Change to show used/free space/inodes, add gauges.
2 parents 6187d7d + 66b161d commit 7360753

File tree

1 file changed

+60
-12
lines changed

1 file changed

+60
-12
lines changed

dashboards/persistentvolumesusage.libsonnet

Lines changed: 60 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,51 +14,97 @@ local gauge = promgrafonnet.gauge;
1414
local sizeGraph = graphPanel.new(
1515
'Volume Space Usage',
1616
datasource='$datasource',
17-
format='percent',
18-
max=100,
17+
format='bytes',
1918
min=0,
20-
span=12,
19+
span=9,
20+
stack=true,
2121
legend_show=true,
2222
legend_values=true,
2323
legend_min=true,
2424
legend_max=true,
2525
legend_current=true,
2626
legend_total=false,
2727
legend_avg=true,
28-
legend_alignAsTable=false,
28+
legend_alignAsTable=true,
2929
legend_rightSide=false,
3030
).addTarget(prometheus.target(
3131
|||
32-
(kubelet_volume_stats_capacity_bytes{%(clusterLabel)s="$cluster", %(kubeletSelector)s, persistentvolumeclaim="$volume"} - kubelet_volume_stats_available_bytes{%(clusterLabel)s="$cluster", %(kubeletSelector)s, persistentvolumeclaim="$volume"}) / kubelet_volume_stats_capacity_bytes{%(clusterLabel)s="$cluster", %(kubeletSelector)s, persistentvolumeclaim="$volume"} * 100
32+
(
33+
sum without(instance, node) (kubelet_volume_stats_capacity_bytes{%(clusterLabel)s="$cluster", %(kubeletSelector)s, namespace="$namespace", persistentvolumeclaim="$volume"})
34+
-
35+
sum without(instance, node) (kubelet_volume_stats_available_bytes{%(clusterLabel)s="$cluster", %(kubeletSelector)s, namespace="$namespace", persistentvolumeclaim="$volume"})
36+
)
3337
||| % $._config,
34-
legendFormat='{{ Usage }}',
38+
legendFormat='Used Space',
39+
intervalFactor=1,
40+
)).addTarget(prometheus.target(
41+
|||
42+
sum without(instance, node) (kubelet_volume_stats_available_bytes{%(clusterLabel)s="$cluster", %(kubeletSelector)s, namespace="$namespace", persistentvolumeclaim="$volume"})
43+
||| % $._config,
44+
legendFormat='Free Space',
3545
intervalFactor=1,
3646
));
3747

48+
local sizeGauge = gauge.new(
49+
'Volume Space Usage',
50+
|||
51+
(
52+
kubelet_volume_stats_capacity_bytes{%(clusterLabel)s="$cluster", %(kubeletSelector)s, namespace="$namespace", persistentvolumeclaim="$volume"}
53+
-
54+
kubelet_volume_stats_available_bytes{%(clusterLabel)s="$cluster", %(kubeletSelector)s, namespace="$namespace", persistentvolumeclaim="$volume"}
55+
)
56+
/
57+
kubelet_volume_stats_capacity_bytes{%(clusterLabel)s="$cluster", %(kubeletSelector)s, namespace="$namespace", persistentvolumeclaim="$volume"}
58+
* 100
59+
||| % $._config,
60+
).withLowerBeingBetter();
61+
62+
3863
local inodesGraph = graphPanel.new(
3964
'Volume inodes Usage',
4065
datasource='$datasource',
41-
format='percent',
42-
max=100,
66+
format='none',
4367
min=0,
44-
span=12,
68+
span=9,
69+
stack=true,
4570
legend_show=true,
4671
legend_values=true,
4772
legend_min=true,
4873
legend_max=true,
4974
legend_current=true,
5075
legend_total=false,
5176
legend_avg=true,
52-
legend_alignAsTable=false,
77+
legend_alignAsTable=true,
5378
legend_rightSide=false,
5479
).addTarget(prometheus.target(
5580
|||
56-
kubelet_volume_stats_inodes_used{%(clusterLabel)s="$cluster", %(kubeletSelector)s, persistentvolumeclaim="$volume"} / kubelet_volume_stats_inodes{%(clusterLabel)s="$cluster", %(kubeletSelector)s, persistentvolumeclaim="$volume"} * 100
81+
sum without(instance, node) (kubelet_volume_stats_inodes_used{%(clusterLabel)s="$cluster", %(kubeletSelector)s, namespace="$namespace", persistentvolumeclaim="$volume"})
5782
||| % $._config,
58-
legendFormat='{{ Usage }}',
83+
legendFormat='Used inodes',
84+
intervalFactor=1,
85+
)).addTarget(prometheus.target(
86+
|||
87+
(
88+
sum without(instance, node) (kubelet_volume_stats_inodes{%(clusterLabel)s="$cluster", %(kubeletSelector)s, namespace="$namespace", persistentvolumeclaim="$volume"})
89+
-
90+
sum without(instance, node) (kubelet_volume_stats_inodes_used{%(clusterLabel)s="$cluster", %(kubeletSelector)s, namespace="$namespace", persistentvolumeclaim="$volume"})
91+
)
92+
||| % $._config,
93+
legendFormat=' Free inodes',
5994
intervalFactor=1,
6095
));
6196

97+
local inodeGauge = gauge.new(
98+
'Volume inodes Usage',
99+
|||
100+
kubelet_volume_stats_inodes_used{%(clusterLabel)s="$cluster", %(kubeletSelector)s, namespace="$namespace", persistentvolumeclaim="$volume"}
101+
/
102+
kubelet_volume_stats_inodes{%(clusterLabel)s="$cluster", %(kubeletSelector)s, namespace="$namespace", persistentvolumeclaim="$volume"}
103+
* 100
104+
||| % $._config,
105+
).withLowerBeingBetter();
106+
107+
62108
dashboard.new(
63109
'%(dashboardNamePrefix)sPersistent Volumes' % $._config.grafanaK8s,
64110
time_from='now-7d',
@@ -111,10 +157,12 @@ local gauge = promgrafonnet.gauge;
111157
.addRow(
112158
row.new()
113159
.addPanel(sizeGraph)
160+
.addPanel(sizeGauge)
114161
)
115162
.addRow(
116163
row.new()
117164
.addPanel(inodesGraph)
165+
.addPanel(inodeGauge)
118166
),
119167
},
120168
}

0 commit comments

Comments
 (0)