Skip to content

Commit

Permalink
Merge pull request kubernetes-monitoring#127 from wiremind/persistent…
Browse files Browse the repository at this point in the history
…volumeusage

Add Persistent Volumes Usage Grafana dashboard
metalmatze authored Dec 7, 2018
2 parents 7144d87 + cd77d43 commit 4c23c06
Showing 3 changed files with 111 additions and 1 deletion.
1 change: 1 addition & 0 deletions dashboards/dashboards.libsonnet
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
(import 'node.libsonnet') +
(import 'persistentvolumesusage.libsonnet') +
(import 'pods.libsonnet') +
(import 'resources.libsonnet') +
(import 'statefulset.libsonnet') +
109 changes: 109 additions & 0 deletions dashboards/persistentvolumesusage.libsonnet
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
local grafana = import 'grafonnet/grafana.libsonnet';
local dashboard = grafana.dashboard;
local row = grafana.row;
local prometheus = grafana.prometheus;
local template = grafana.template;
local graphPanel = grafana.graphPanel;
local promgrafonnet = import '../lib/promgrafonnet/promgrafonnet.libsonnet';
local numbersinglestat = promgrafonnet.numbersinglestat;
local gauge = promgrafonnet.gauge;

{
grafanaDashboards+:: {
'persistentvolumesusage.json':
local sizeGraph = graphPanel.new(
'Volume Space Usage',
datasource='$datasource',
format='percent',
max=100,
min=0,
span=12,
legend_show=true,
legend_values=true,
legend_min=true,
legend_max=true,
legend_current=true,
legend_total=false,
legend_avg=true,
legend_alignAsTable=false,
legend_rightSide=false,
).addTarget(prometheus.target(
|||
(kubelet_volume_stats_capacity_bytes{%(kubeletSelector)s, persistentvolumeclaim="$volume"} - kubelet_volume_stats_available_bytes{%(kubeletSelector)s, persistentvolumeclaim="$volume"}) / kubelet_volume_stats_capacity_bytes{%(kubeletSelector)s, persistentvolumeclaim="$volume"} * 100
||| % $._config,
legendFormat='{{ Usage }}',
intervalFactor=1,
));

local inodesGraph = graphPanel.new(
'Volume inodes Usage',
datasource='$datasource',
format='percent',
max=100,
min=0,
span=12,
legend_show=true,
legend_values=true,
legend_min=true,
legend_max=true,
legend_current=true,
legend_total=false,
legend_avg=true,
legend_alignAsTable=false,
legend_rightSide=false,
).addTarget(prometheus.target(
|||
kubelet_volume_stats_inodes_used{%(kubeletSelector)s, persistentvolumeclaim="$volume"} / kubelet_volume_stats_inodes{%(kubeletSelector)s, persistentvolumeclaim="$volume"} * 100
||| % $._config,
legendFormat='{{ Usage }}',
intervalFactor=1,
));

dashboard.new(
'Persistent Volumes',
time_from='now-7d',
uid=($._config.grafanaDashboardIDs['nodes.json']),
).addTemplate(
{
current: {
text: 'Prometheus',
value: 'Prometheus',
},
hide: 0,
label: null,
name: 'datasource',
options: [],
query: 'prometheus',
refresh: 1,
regex: '',
type: 'datasource',
},
)
.addTemplate(
template.new(
'namespace',
'$datasource',
'label_values(kubelet_volume_stats_capacity_bytes{%(kubeletSelector)s}, exported_namespace)' % $._config,
label='Namespace',
refresh='time',
)
)
.addTemplate(
template.new(
'volume',
'$datasource',
'label_values(kubelet_volume_stats_capacity_bytes{%(kubeletSelector)s, exported_namespace="$namespace"}, persistentvolumeclaim)' % $._config,
label='PersistentVolumeClaim',
refresh='time',
)
)
.addRow(
row.new()
.addPanel(sizeGraph)
)
.addRow(
row.new()
.addPanel(inodesGraph)
),
},
}
2 changes: 1 addition & 1 deletion jsonnetfile.json
Original file line number Diff line number Diff line change
@@ -21,4 +21,4 @@
"version": "master"
}
]
}
}

0 comments on commit 4c23c06

Please sign in to comment.