diff --git a/docs/node-mixin/config.libsonnet b/docs/node-mixin/config.libsonnet index 5406bdbc..de84b9ee 100644 --- a/docs/node-mixin/config.libsonnet +++ b/docs/node-mixin/config.libsonnet @@ -1,11 +1,16 @@ { _config+:: { // Selectors are inserted between {} in Prometheus queries. + + // Select the metrics coming from the node exporter. nodeExporterSelector: 'job="node-exporter"', - // Mainly extracted because they are repetitive, but also useful to customize. + // Select the fstype for filesystem-related queries. fsSelector: 'fstype=~"ext.|xfs",mountpoint!="/var/lib/docker/aufs"', + // Select the device for disk-related queries. + diskDeviceSelector: 'device=~"(sd|xvd).+"', + grafana_prefix: '', }, } diff --git a/docs/node-mixin/dashboards/use.libsonnet b/docs/node-mixin/dashboards/use.libsonnet index 96bf0f59..115e893c 100644 --- a/docs/node-mixin/dashboards/use.libsonnet +++ b/docs/node-mixin/dashboards/use.libsonnet @@ -104,17 +104,17 @@ local g = import 'grafana-builder/grafana.libsonnet'; ( sum without (device) ( max without (fstype, mountpoint) ( - node_filesystem_size_bytes{fstype=~"ext[24]"} - node_filesystem_avail_bytes{fstype=~"ext[24]"} + node_filesystem_size_bytes{%(nodeExporterSelector)s, %(fsSelector)s} - node_filesystem_avail_bytes{%(nodeExporterSelector)s, %(fsSelector)s} ) ) / ignoring (instance) group_left sum without (instance, device) ( max without (fstype, mountpoint) ( - node_filesystem_size_bytes{fstype=~"ext[24]"} + node_filesystem_size_bytes{%(nodeExporterSelector)s, %(fsSelector)s} ) ) ) - |||, '{{instance}}', legendLink) + + ||| % $._config, '{{instance}}', legendLink) + g.stack + { yaxes: g.yaxes({ format: 'percentunit', max: 1 }) }, ), @@ -182,11 +182,11 @@ local g = import 'grafana-builder/grafana.libsonnet'; g.queryPanel(||| 1 - ( - sum(max without (mountpoint, fstype) (node_filesystem_avail_bytes{fstype=~"ext[24]"})) + sum(max without (mountpoint, fstype) (node_filesystem_avail_bytes{%(nodeExporterSelector)s, %(fsSelector)s})) / - sum(max without (mountpoint, fstype) (node_filesystem_size_bytes{fstype=~"ext[24]"})) + sum(max without (mountpoint, fstype) (node_filesystem_size_bytes{%(nodeExporterSelector)s, %(fsSelector)s})) ) - |||, 'Disk') + + ||| % $._config, 'Disk') + { yaxes: g.yaxes('percentunit') }, ), ), diff --git a/docs/node-mixin/rules/rules.libsonnet b/docs/node-mixin/rules/rules.libsonnet index 6bd39a5f..c4bc31a8 100644 --- a/docs/node-mixin/rules/rules.libsonnet +++ b/docs/node-mixin/rules/rules.libsonnet @@ -62,7 +62,7 @@ record: 'instance:node_disk_utilisation:sum_irate', expr: ||| sum without (device) ( - irate(node_disk_io_time_seconds_total{%(nodeExporterSelector)s,device=~"(sd|xvd).+"}[1m]) + irate(node_disk_io_time_seconds_total{%(nodeExporterSelector)s, %(diskDeviceSelector)s}[1m]) ) ||| % $._config, }, @@ -71,7 +71,7 @@ record: 'instance:node_disk_saturation:sum_irate', expr: ||| sum without (device) ( - irate(node_disk_io_time_weighted_seconds_total{%(nodeExporterSelector)s,device=~"(sd|xvd).+"}[1m]) + irate(node_disk_io_time_weighted_seconds_total{%(nodeExporterSelector)s, %(diskDeviceSelector)s}[1m]) ) ||| % $._config, },