diff options
author | beorn7 <beorn@grafana.com> | 2019-07-18 15:59:35 +0200 |
---|---|---|
committer | beorn7 <beorn@grafana.com> | 2019-07-18 15:59:35 +0200 |
commit | e01d9f9e78536dbabf76836e355b4202535d690a (patch) | |
tree | 3feef92df914ccef7e40e665a46bef8c391f7b1e /docs | |
parent | b8c4b0cb298bf63ca701073e921c65e5fc99a0d7 (diff) | |
download | prometheus_node_collector-e01d9f9e78536dbabf76836e355b4202535d690a.tar.bz2 prometheus_node_collector-e01d9f9e78536dbabf76836e355b4202535d690a.tar.xz prometheus_node_collector-e01d9f9e78536dbabf76836e355b4202535d690a.zip |
Break out device in disk IO rules/dashboard
Signed-off-by: beorn7 <beorn@grafana.com>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/node-mixin/dashboards/use.libsonnet | 20 | ||||
-rw-r--r-- | docs/node-mixin/rules/rules.libsonnet | 16 |
2 files changed, 14 insertions, 22 deletions
diff --git a/docs/node-mixin/dashboards/use.libsonnet b/docs/node-mixin/dashboards/use.libsonnet index 23cd2ea..160cfd8 100644 --- a/docs/node-mixin/dashboards/use.libsonnet +++ b/docs/node-mixin/dashboards/use.libsonnet | |||
@@ -60,11 +60,11 @@ local g = import 'grafana-builder/grafana.libsonnet'; | |||
60 | // 1 second per second doing I/O, normalize by metric cardinality for stacked charts. | 60 | // 1 second per second doing I/O, normalize by metric cardinality for stacked charts. |
61 | g.queryPanel(||| | 61 | g.queryPanel(||| |
62 | ( | 62 | ( |
63 | instance:node_disk_io_time_seconds:rate1m{%(nodeExporterSelector)s} | 63 | instance_device:node_disk_io_time_seconds:rate1m{%(nodeExporterSelector)s} |
64 | / ignoring (instance) group_left | 64 | / ignoring (instance, device) group_left |
65 | count without (instance) (instance:node_disk_io_time_seconds:rate1m{%(nodeExporterSelector)s}) | 65 | count without (instance, device) (instance_device:node_disk_io_time_seconds:rate1m{%(nodeExporterSelector)s}) |
66 | ) | 66 | ) |
67 | ||| % $._config, '{{instance}}', legendLink) + | 67 | ||| % $._config, '{{instance}} {{device}}', legendLink) + |
68 | g.stack + | 68 | g.stack + |
69 | { yaxes: g.yaxes({ format: 'percentunit', max: 1 }) }, | 69 | { yaxes: g.yaxes({ format: 'percentunit', max: 1 }) }, |
70 | ) | 70 | ) |
@@ -72,11 +72,11 @@ local g = import 'grafana-builder/grafana.libsonnet'; | |||
72 | g.panel('Disk IO Saturation') + | 72 | g.panel('Disk IO Saturation') + |
73 | g.queryPanel(||| | 73 | g.queryPanel(||| |
74 | ( | 74 | ( |
75 | instance:node_disk_io_time_weighted_seconds:rate1m{%(nodeExporterSelector)s} | 75 | instance_device:node_disk_io_time_weighted_seconds:rate1m{%(nodeExporterSelector)s} |
76 | / ignoring (instance) group_left | 76 | / ignoring (instance, device) group_left |
77 | count without (instance) (instance:node_disk_io_time_weighted_seconds:rate1m{%(nodeExporterSelector)s}) | 77 | count without (instance, device) (instance_device:node_disk_io_time_weighted_seconds:rate1m{%(nodeExporterSelector)s}) |
78 | ) | 78 | ) |
79 | ||| % $._config, '{{instance}}', legendLink) + | 79 | ||| % $._config, '{{instance}} {{device}}', legendLink) + |
80 | g.stack + | 80 | g.stack + |
81 | { yaxes: g.yaxes({ format: 'percentunit', max: 1 }) }, | 81 | { yaxes: g.yaxes({ format: 'percentunit', max: 1 }) }, |
82 | ) | 82 | ) |
@@ -167,12 +167,12 @@ local g = import 'grafana-builder/grafana.libsonnet'; | |||
167 | g.row('Disk') | 167 | g.row('Disk') |
168 | .addPanel( | 168 | .addPanel( |
169 | g.panel('Disk IO Utilisation') + | 169 | g.panel('Disk IO Utilisation') + |
170 | g.queryPanel('instance:node_disk_io_time_seconds:rate1m{%(nodeExporterSelector)s, instance="$instance"}' % $._config, 'Utilisation') + | 170 | g.queryPanel('instance_device:node_disk_io_time_seconds:rate1m{%(nodeExporterSelector)s, instance="$instance"}' % $._config, 'Utilisation {{device}}') + |
171 | { yaxes: g.yaxes('percentunit') }, | 171 | { yaxes: g.yaxes('percentunit') }, |
172 | ) | 172 | ) |
173 | .addPanel( | 173 | .addPanel( |
174 | g.panel('Disk IO Saturation') + | 174 | g.panel('Disk IO Saturation') + |
175 | g.queryPanel('instance:node_disk_io_time_weighted_seconds:rate1m{%(nodeExporterSelector)s, instance="$instance"}' % $._config, 'Saturation') + | 175 | g.queryPanel('instance_device:node_disk_io_time_weighted_seconds:rate1m{%(nodeExporterSelector)s, instance="$instance"}' % $._config, 'Saturation {{device}}') + |
176 | { yaxes: g.yaxes('percentunit') }, | 176 | { yaxes: g.yaxes('percentunit') }, |
177 | ) | 177 | ) |
178 | ) | 178 | ) |
diff --git a/docs/node-mixin/rules/rules.libsonnet b/docs/node-mixin/rules/rules.libsonnet index ad1b717..b5efc6a 100644 --- a/docs/node-mixin/rules/rules.libsonnet +++ b/docs/node-mixin/rules/rules.libsonnet | |||
@@ -61,24 +61,16 @@ | |||
61 | }, | 61 | }, |
62 | { | 62 | { |
63 | // Disk utilisation (seconds spent, 1 second rate) | 63 | // Disk utilisation (seconds spent, 1 second rate) |
64 | // TODO: This should probably not aggregate over all devices but | 64 | record: 'instance_device:node_disk_io_time_seconds:rate1m', |
65 | // keep them separate. | ||
66 | record: 'instance:node_disk_io_time_seconds:rate1m', | ||
67 | expr: ||| | 65 | expr: ||| |
68 | sum without (device) ( | 66 | rate(node_disk_io_time_seconds_total{%(nodeExporterSelector)s, %(diskDeviceSelector)s}[1m]) |
69 | rate(node_disk_io_time_seconds_total{%(nodeExporterSelector)s, %(diskDeviceSelector)s}[1m]) | ||
70 | ) | ||
71 | ||| % $._config, | 67 | ||| % $._config, |
72 | }, | 68 | }, |
73 | { | 69 | { |
74 | // Disk saturation (weighted seconds spent, 1 second rate) | 70 | // Disk saturation (weighted seconds spent, 1 second rate) |
75 | // TODO: This should probably not aggregate over all devices but | 71 | record: 'instance_device:node_disk_io_time_weighted_seconds:rate1m', |
76 | // keep them separate. | ||
77 | record: 'instance:node_disk_io_time_weighted_seconds:rate1m', | ||
78 | expr: ||| | 72 | expr: ||| |
79 | sum without (device) ( | 73 | rate(node_disk_io_time_weighted_seconds_total{%(nodeExporterSelector)s, %(diskDeviceSelector)s}[1m]) |
80 | rate(node_disk_io_time_weighted_seconds_total{%(nodeExporterSelector)s, %(diskDeviceSelector)s}[1m]) | ||
81 | ) | ||
82 | ||| % $._config, | 74 | ||| % $._config, |
83 | }, | 75 | }, |
84 | // TODO: For the following rules, consider configurable filtering to exclude more network | 76 | // TODO: For the following rules, consider configurable filtering to exclude more network |