diff options
author | beorn7 <beorn@grafana.com> | 2019-07-10 20:07:20 +0200 |
---|---|---|
committer | beorn7 <beorn@grafana.com> | 2019-07-10 20:07:20 +0200 |
commit | dec5b5b05324315f3bb68a811ebde1ccd9553aee (patch) | |
tree | 4b55a929d0fc10010b83a42d2e2b67d28a43d4da /docs | |
parent | 9d7045e4830d5c177d79a1cdee6012e855bcefaa (diff) | |
download | prometheus_node_collector-dec5b5b05324315f3bb68a811ebde1ccd9553aee.tar.bz2 prometheus_node_collector-dec5b5b05324315f3bb68a811ebde1ccd9553aee.tar.xz prometheus_node_collector-dec5b5b05324315f3bb68a811ebde1ccd9553aee.zip |
Fix indentation
Signed-off-by: beorn7 <beorn@grafana.com>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/node-mixin/alerts/alerts.libsonnet | 56 | ||||
-rw-r--r-- | docs/node-mixin/dashboards/node.libsonnet | 33 | ||||
-rw-r--r-- | docs/node-mixin/dashboards/use.libsonnet | 4 | ||||
-rw-r--r-- | docs/node-mixin/rules/rules.libsonnet | 27 |
4 files changed, 74 insertions, 46 deletions
diff --git a/docs/node-mixin/alerts/alerts.libsonnet b/docs/node-mixin/alerts/alerts.libsonnet index 8ea70cc..70060ba 100644 --- a/docs/node-mixin/alerts/alerts.libsonnet +++ b/docs/node-mixin/alerts/alerts.libsonnet | |||
@@ -7,11 +7,13 @@ | |||
7 | { | 7 | { |
8 | alert: 'NodeFilesystemSpaceFillingUp', | 8 | alert: 'NodeFilesystemSpaceFillingUp', |
9 | expr: ||| | 9 | expr: ||| |
10 | predict_linear(node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelectors)s}[6h], 24*60*60) < 0 | 10 | ( |
11 | predict_linear(node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelectors)s}[6h], 24*60*60) < 0 | ||
11 | and | 12 | and |
12 | node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_size_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} < 0.4 | 13 | node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_size_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} < 0.4 |
13 | and | 14 | and |
14 | node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0 | 15 | node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0 |
16 | ) | ||
15 | ||| % $._config, | 17 | ||| % $._config, |
16 | 'for': '1h', | 18 | 'for': '1h', |
17 | labels: { | 19 | labels: { |
@@ -24,11 +26,13 @@ | |||
24 | { | 26 | { |
25 | alert: 'NodeFilesystemSpaceFillingUp', | 27 | alert: 'NodeFilesystemSpaceFillingUp', |
26 | expr: ||| | 28 | expr: ||| |
27 | predict_linear(node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelectors)s}[6h], 4*60*60) < 0 | 29 | ( |
30 | predict_linear(node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelectors)s}[6h], 4*60*60) < 0 | ||
28 | and | 31 | and |
29 | node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_size_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} < 0.2 | 32 | node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_size_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} < 0.2 |
30 | and | 33 | and |
31 | node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0 | 34 | node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0 |
35 | ) | ||
32 | ||| % $._config, | 36 | ||| % $._config, |
33 | 'for': '1h', | 37 | 'for': '1h', |
34 | labels: { | 38 | labels: { |
@@ -41,9 +45,11 @@ | |||
41 | { | 45 | { |
42 | alert: 'NodeFilesystemOutOfSpace', | 46 | alert: 'NodeFilesystemOutOfSpace', |
43 | expr: ||| | 47 | expr: ||| |
44 | node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_size_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} * 100 < 5 | 48 | ( |
49 | node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_size_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} * 100 < 5 | ||
45 | and | 50 | and |
46 | node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0 | 51 | node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0 |
52 | ) | ||
47 | ||| % $._config, | 53 | ||| % $._config, |
48 | 'for': '1h', | 54 | 'for': '1h', |
49 | labels: { | 55 | labels: { |
@@ -56,9 +62,11 @@ | |||
56 | { | 62 | { |
57 | alert: 'NodeFilesystemOutOfSpace', | 63 | alert: 'NodeFilesystemOutOfSpace', |
58 | expr: ||| | 64 | expr: ||| |
59 | node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_size_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} * 100 < 3 | 65 | ( |
66 | node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_size_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} * 100 < 3 | ||
60 | and | 67 | and |
61 | node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0 | 68 | node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0 |
69 | ) | ||
62 | ||| % $._config, | 70 | ||| % $._config, |
63 | 'for': '1h', | 71 | 'for': '1h', |
64 | labels: { | 72 | labels: { |
@@ -71,11 +79,13 @@ | |||
71 | { | 79 | { |
72 | alert: 'NodeFilesystemFilesFillingUp', | 80 | alert: 'NodeFilesystemFilesFillingUp', |
73 | expr: ||| | 81 | expr: ||| |
74 | predict_linear(node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelectors)s}[6h], 24*60*60) < 0 | 82 | ( |
83 | predict_linear(node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelectors)s}[6h], 24*60*60) < 0 | ||
75 | and | 84 | and |
76 | node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_files{%(nodeExporterSelector)s,%(fsSelectors)s} < 0.4 | 85 | node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_files{%(nodeExporterSelector)s,%(fsSelectors)s} < 0.4 |
77 | and | 86 | and |
78 | node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0 | 87 | node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0 |
88 | ) | ||
79 | ||| % $._config, | 89 | ||| % $._config, |
80 | 'for': '1h', | 90 | 'for': '1h', |
81 | labels: { | 91 | labels: { |
@@ -88,11 +98,13 @@ | |||
88 | { | 98 | { |
89 | alert: 'NodeFilesystemFilesFillingUp', | 99 | alert: 'NodeFilesystemFilesFillingUp', |
90 | expr: ||| | 100 | expr: ||| |
91 | predict_linear(node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelectors)s}[6h], 4*60*60) < 0 | 101 | ( |
102 | predict_linear(node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelectors)s}[6h], 4*60*60) < 0 | ||
92 | and | 103 | and |
93 | node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_files{%(nodeExporterSelector)s,%(fsSelectors)s} < 0.2 | 104 | node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_files{%(nodeExporterSelector)s,%(fsSelectors)s} < 0.2 |
94 | and | 105 | and |
95 | node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0 | 106 | node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0 |
107 | ) | ||
96 | ||| % $._config, | 108 | ||| % $._config, |
97 | 'for': '1h', | 109 | 'for': '1h', |
98 | labels: { | 110 | labels: { |
@@ -105,9 +117,11 @@ | |||
105 | { | 117 | { |
106 | alert: 'NodeFilesystemOutOfFiles', | 118 | alert: 'NodeFilesystemOutOfFiles', |
107 | expr: ||| | 119 | expr: ||| |
108 | node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_files{%(nodeExporterSelector)s,%(fsSelectors)s} * 100 < 5 | 120 | ( |
121 | node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_files{%(nodeExporterSelector)s,%(fsSelectors)s} * 100 < 5 | ||
109 | and | 122 | and |
110 | node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0 | 123 | node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0 |
124 | ) | ||
111 | ||| % $._config, | 125 | ||| % $._config, |
112 | 'for': '1h', | 126 | 'for': '1h', |
113 | labels: { | 127 | labels: { |
@@ -120,9 +134,11 @@ | |||
120 | { | 134 | { |
121 | alert: 'NodeFilesystemOutOfSpace', | 135 | alert: 'NodeFilesystemOutOfSpace', |
122 | expr: ||| | 136 | expr: ||| |
123 | node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_files{%(nodeExporterSelector)s,%(fsSelectors)s} * 100 < 3 | 137 | ( |
138 | node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_files{%(nodeExporterSelector)s,%(fsSelectors)s} * 100 < 3 | ||
124 | and | 139 | and |
125 | node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0 | 140 | node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0 |
141 | ) | ||
126 | ||| % $._config, | 142 | ||| % $._config, |
127 | 'for': '1h', | 143 | 'for': '1h', |
128 | labels: { | 144 | labels: { |
diff --git a/docs/node-mixin/dashboards/node.libsonnet b/docs/node-mixin/dashboards/node.libsonnet index dd82b30..115d98c 100644 --- a/docs/node-mixin/dashboards/node.libsonnet +++ b/docs/node-mixin/dashboards/node.libsonnet | |||
@@ -47,10 +47,15 @@ local gauge = promgrafonnet.gauge; | |||
47 | ) | 47 | ) |
48 | .addTarget(prometheus.target( | 48 | .addTarget(prometheus.target( |
49 | ||| | 49 | ||| |
50 | node_memory_MemTotal{%(nodeExporterSelector)s, instance="$instance"} | 50 | ( |
51 | - node_memory_MemFree{%(nodeExporterSelector)s, instance="$instance"} | 51 | node_memory_MemTotal{%(nodeExporterSelector)s, instance="$instance"} |
52 | - node_memory_Buffers{%(nodeExporterSelector)s, instance="$instance"} | 52 | - |
53 | - node_memory_Cached{%(nodeExporterSelector)s, instance="$instance"} | 53 | node_memory_MemFree{%(nodeExporterSelector)s, instance="$instance"} |
54 | - | ||
55 | node_memory_Buffers{%(nodeExporterSelector)s, instance="$instance"} | ||
56 | - | ||
57 | node_memory_Cached{%(nodeExporterSelector)s, instance="$instance"} | ||
58 | ) | ||
54 | ||| % $._config, legendFormat='memory used' | 59 | ||| % $._config, legendFormat='memory used' |
55 | )) | 60 | )) |
56 | .addTarget(prometheus.target('node_memory_Buffers{%(nodeExporterSelector)s, instance="$instance"}' % $._config, legendFormat='memory buffers')) | 61 | .addTarget(prometheus.target('node_memory_Buffers{%(nodeExporterSelector)s, instance="$instance"}' % $._config, legendFormat='memory buffers')) |
@@ -60,10 +65,12 @@ local gauge = promgrafonnet.gauge; | |||
60 | local memoryGauge = gauge.new( | 65 | local memoryGauge = gauge.new( |
61 | 'Memory Usage', | 66 | 'Memory Usage', |
62 | ||| | 67 | ||| |
63 | node_memory_MemAvailable{%(nodeExporterSelector)s, instance="$instance"} | 68 | ( |
69 | node_memory_MemAvailable{%(nodeExporterSelector)s, instance="$instance"} | ||
64 | / | 70 | / |
65 | node_memory_MemTotal{%(nodeExporterSelector)s, instance="$instance"} | 71 | node_memory_MemTotal{%(nodeExporterSelector)s, instance="$instance"} |
66 | * 100 | 72 | ) |
73 | * 100 | ||
67 | ||| % $._config, | 74 | ||| % $._config, |
68 | ).withLowerBeingBetter(); | 75 | ).withLowerBeingBetter(); |
69 | 76 | ||
@@ -96,11 +103,13 @@ local gauge = promgrafonnet.gauge; | |||
96 | local diskSpaceUsage = gauge.new( | 103 | local diskSpaceUsage = gauge.new( |
97 | 'Disk Space Usage', | 104 | 'Disk Space Usage', |
98 | ||| | 105 | ||| |
99 | 100 - ( | 106 | 100 - |
100 | sum(node_filesystem_free{%(nodeExporterSelector)s, device!="rootfs", instance="$instance"} | 107 | ( |
101 | / | 108 | sum(node_filesystem_free{%(nodeExporterSelector)s, device!="rootfs", instance="$instance"} |
102 | sum(node_filesystem_size{%(nodeExporterSelector)s, device!="rootfs", instance="$instance"} | 109 | / |
103 | ) * 100 | 110 | sum(node_filesystem_size{%(nodeExporterSelector)s, device!="rootfs", instance="$instance"} |
111 | * 100 | ||
112 | ) | ||
104 | ||| % $._config, | 113 | ||| % $._config, |
105 | ).withLowerBeingBetter(); | 114 | ).withLowerBeingBetter(); |
106 | 115 | ||
diff --git a/docs/node-mixin/dashboards/use.libsonnet b/docs/node-mixin/dashboards/use.libsonnet index 3e368c8..9bba604 100644 --- a/docs/node-mixin/dashboards/use.libsonnet +++ b/docs/node-mixin/dashboards/use.libsonnet | |||
@@ -44,9 +44,7 @@ local g = import 'grafana-builder/grafana.libsonnet'; | |||
44 | g.panel('Disk IO Utilisation') + | 44 | g.panel('Disk IO Utilisation') + |
45 | // Full utilisation would be all disks on each node spending an average of | 45 | // Full utilisation would be all disks on each node spending an average of |
46 | // 1 sec per second doing I/O, normalize by node count for stacked charts | 46 | // 1 sec per second doing I/O, normalize by node count for stacked charts |
47 | g.queryPanel(||| | 47 | g.queryPanel('instance:node_disk_utilisation:sum_irate / scalar(sum(up{%(nodeExporterSelector)s}))' % $._config, '{{instance}}', legendLink) + |
48 | instance:node_disk_utilisation:sum_irate / scalar(sum(up{%(nodeExporterSelector)s})) | ||
49 | ||| % $._config, '{{instance}}', legendLink) + | ||
50 | g.stack + | 48 | g.stack + |
51 | { yaxes: g.yaxes({ format: 'percentunit', max: 1 }) }, | 49 | { yaxes: g.yaxes({ format: 'percentunit', max: 1 }) }, |
52 | ) | 50 | ) |
diff --git a/docs/node-mixin/rules/rules.libsonnet b/docs/node-mixin/rules/rules.libsonnet index f836d0d..27636aa 100644 --- a/docs/node-mixin/rules/rules.libsonnet +++ b/docs/node-mixin/rules/rules.libsonnet | |||
@@ -29,9 +29,11 @@ | |||
29 | // Can go over 100%. >100% is bad. | 29 | // Can go over 100%. >100% is bad. |
30 | record: 'instance:node_cpu_saturation_load1:', | 30 | record: 'instance:node_cpu_saturation_load1:', |
31 | expr: ||| | 31 | expr: ||| |
32 | sum by (instance) (node_load1{%(nodeExporterSelector)s}) | 32 | ( |
33 | sum by (instance) (node_load1{%(nodeExporterSelector)s}) | ||
33 | / | 34 | / |
34 | instance:node_num_cpu:sum | 35 | instance:node_num_cpu:sum |
36 | ) | ||
35 | ||| % $._config, | 37 | ||| % $._config, |
36 | }, | 38 | }, |
37 | { | 39 | { |
@@ -48,9 +50,9 @@ | |||
48 | record: 'instance:node_memory_utilisation:ratio', | 50 | record: 'instance:node_memory_utilisation:ratio', |
49 | expr: ||| | 51 | expr: ||| |
50 | 1 - ( | 52 | 1 - ( |
51 | node_memory_MemAvailable_bytes{%(nodeExporterSelector)s} | 53 | node_memory_MemAvailable_bytes{%(nodeExporterSelector)s} |
52 | / | 54 | / |
53 | node_memory_MemTotal_bytes{%(nodeExporterSelector)s} | 55 | node_memory_MemTotal_bytes{%(nodeExporterSelector)s} |
54 | ) | 56 | ) |
55 | ||| % $._config, | 57 | ||| % $._config, |
56 | }, | 58 | }, |
@@ -58,8 +60,9 @@ | |||
58 | record: 'instance:node_memory_swap_io_bytes:sum_rate', | 60 | record: 'instance:node_memory_swap_io_bytes:sum_rate', |
59 | expr: ||| | 61 | expr: ||| |
60 | 1e3 * sum by (instance) ( | 62 | 1e3 * sum by (instance) ( |
61 | (rate(node_vmstat_pgpgin{%(nodeExporterSelector)s}[1m]) | 63 | rate(node_vmstat_pgpgin{%(nodeExporterSelector)s}[1m]) |
62 | + rate(node_vmstat_pgpgout{%(nodeExporterSelector)s}[1m])) | 64 | + |
65 | rate(node_vmstat_pgpgout{%(nodeExporterSelector)s}[1m]) | ||
63 | ) | 66 | ) |
64 | ||| % $._config, | 67 | ||| % $._config, |
65 | }, | 68 | }, |
@@ -85,8 +88,9 @@ | |||
85 | record: 'instance:node_net_utilisation:sum_irate', | 88 | record: 'instance:node_net_utilisation:sum_irate', |
86 | expr: ||| | 89 | expr: ||| |
87 | sum by (instance) ( | 90 | sum by (instance) ( |
88 | (irate(node_network_receive_bytes_total{%(nodeExporterSelector)s,device=~"eth[0-9]+"}[1m]) + | 91 | irate(node_network_receive_bytes_total{%(nodeExporterSelector)s,device=~"eth[0-9]+"}[1m]) |
89 | irate(node_network_transmit_bytes_total{%(nodeExporterSelector)s,device=~"eth[0-9]+"}[1m])) | 92 | + |
93 | irate(node_network_transmit_bytes_total{%(nodeExporterSelector)s,device=~"eth[0-9]+"}[1m]) | ||
90 | ) | 94 | ) |
91 | ||| % $._config, | 95 | ||| % $._config, |
92 | }, | 96 | }, |
@@ -94,8 +98,9 @@ | |||
94 | record: 'instance:node_net_saturation:sum_irate', | 98 | record: 'instance:node_net_saturation:sum_irate', |
95 | expr: ||| | 99 | expr: ||| |
96 | sum by (instance) ( | 100 | sum by (instance) ( |
97 | (irate(node_network_receive_drop_total{%(nodeExporterSelector)s,device=~"eth[0-9]+"}[1m]) + | 101 | irate(node_network_receive_drop_total{%(nodeExporterSelector)s,device=~"eth[0-9]+"}[1m]) |
98 | irate(node_network_transmit_drop_total{%(nodeExporterSelector)s,device=~"eth[0-9]+"}[1m])) | 102 | + |
103 | irate(node_network_transmit_drop_total{%(nodeExporterSelector)s,device=~"eth[0-9]+"}[1m]) | ||
99 | ) | 104 | ) |
100 | ||| % $._config, | 105 | ||| % $._config, |
101 | }, | 106 | }, |