@@ -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