Fix Collection Service Helm charts package
[demo.git] / vnfs / DAaaS / prometheus-operator / templates / alertmanager / rules / node.rules.yaml
1 # Generated from 'node.rules' group from https://raw.githubusercontent.com/coreos/prometheus-operator/master/contrib/kube-prometheus/manifests/prometheus-rules.yaml
2 {{- if and .Values.defaultRules.create .Values.nodeExporter.enabled }}
3 apiVersion: {{ printf "%s/v1" (.Values.prometheusOperator.crdApiGroup | default "monitoring.coreos.com") }}
4 kind: PrometheusRule
5 metadata:
6   name: {{ printf "%s-%s" (include "prometheus-operator.fullname" .) "node.rules" | trunc 63 | trimSuffix "-" }}
7   labels:
8     app: {{ template "prometheus-operator.name" . }}
9 {{ include "prometheus-operator.labels" . | indent 4 }}
10 {{- if .Values.defaultRules.labels }}
11 {{ toYaml .Values.defaultRules.labels | indent 4 }}
12 {{- end }}
13 {{- if .Values.defaultRules.annotations }}
14   annotations:
15 {{ toYaml .Values.defaultRules.annotations | indent 4 }}
16 {{- end }}
17 spec:
18   groups:
19   - name: node.rules
20     rules:
21     - expr: sum(min(kube_pod_info) by (node))
22       record: ':kube_pod_info_node_count:'
23     - expr: max(label_replace(kube_pod_info{job="kube-state-metrics"}, "pod", "$1", "pod", "(.*)")) by (node, namespace, pod)
24       record: 'node_namespace_pod:kube_pod_info:'
25     - expr: |-
26         count by (node) (sum by (node, cpu) (
27           node_cpu_seconds_total{job="node-exporter"}
28         * on (namespace, pod) group_left(node)
29           node_namespace_pod:kube_pod_info:
30         ))
31       record: node:node_num_cpu:sum
32     - expr: 1 - avg(rate(node_cpu_seconds_total{job="node-exporter",mode="idle"}[1m]))
33       record: :node_cpu_utilisation:avg1m
34     - expr: |-
35         1 - avg by (node) (
36           rate(node_cpu_seconds_total{job="node-exporter",mode="idle"}[1m])
37         * on (namespace, pod) group_left(node)
38           node_namespace_pod:kube_pod_info:)
39       record: node:node_cpu_utilisation:avg1m
40     - expr: |-
41         sum(node_load1{job="node-exporter"})
42         /
43         sum(node:node_num_cpu:sum)
44       record: ':node_cpu_saturation_load1:'
45     - expr: |-
46         sum by (node) (
47           node_load1{job="node-exporter"}
48         * on (namespace, pod) group_left(node)
49           node_namespace_pod:kube_pod_info:
50         )
51         /
52         node:node_num_cpu:sum
53       record: 'node:node_cpu_saturation_load1:'
54     - expr: |-
55         1 -
56         sum(node_memory_MemFree_bytes{job="node-exporter"} + node_memory_Cached_bytes{job="node-exporter"} + node_memory_Buffers_bytes{job="node-exporter"})
57         /
58         sum(node_memory_MemTotal_bytes{job="node-exporter"})
59       record: ':node_memory_utilisation:'
60     - expr: sum(node_memory_MemFree_bytes{job="node-exporter"} + node_memory_Cached_bytes{job="node-exporter"} + node_memory_Buffers_bytes{job="node-exporter"})
61       record: :node_memory_MemFreeCachedBuffers_bytes:sum
62     - expr: sum(node_memory_MemTotal_bytes{job="node-exporter"})
63       record: :node_memory_MemTotal_bytes:sum
64     - expr: |-
65         sum by (node) (
66           (node_memory_MemFree_bytes{job="node-exporter"} + node_memory_Cached_bytes{job="node-exporter"} + node_memory_Buffers_bytes{job="node-exporter"})
67           * on (namespace, pod) group_left(node)
68             node_namespace_pod:kube_pod_info:
69         )
70       record: node:node_memory_bytes_available:sum
71     - expr: |-
72         sum by (node) (
73           node_memory_MemTotal_bytes{job="node-exporter"}
74           * on (namespace, pod) group_left(node)
75             node_namespace_pod:kube_pod_info:
76         )
77       record: node:node_memory_bytes_total:sum
78     - expr: |-
79         (node:node_memory_bytes_total:sum - node:node_memory_bytes_available:sum)
80         /
81         scalar(sum(node:node_memory_bytes_total:sum))
82       record: node:node_memory_utilisation:ratio
83     - expr: |-
84         1e3 * sum(
85           (rate(node_vmstat_pgpgin{job="node-exporter"}[1m])
86          + rate(node_vmstat_pgpgout{job="node-exporter"}[1m]))
87         )
88       record: :node_memory_swap_io_bytes:sum_rate
89     - expr: |-
90         1 -
91         sum by (node) (
92           (node_memory_MemFree_bytes{job="node-exporter"} + node_memory_Cached_bytes{job="node-exporter"} + node_memory_Buffers_bytes{job="node-exporter"})
93         * on (namespace, pod) group_left(node)
94           node_namespace_pod:kube_pod_info:
95         )
96         /
97         sum by (node) (
98           node_memory_MemTotal_bytes{job="node-exporter"}
99         * on (namespace, pod) group_left(node)
100           node_namespace_pod:kube_pod_info:
101         )
102       record: 'node:node_memory_utilisation:'
103     - expr: 1 - (node:node_memory_bytes_available:sum / node:node_memory_bytes_total:sum)
104       record: 'node:node_memory_utilisation_2:'
105     - expr: |-
106         1e3 * sum by (node) (
107           (rate(node_vmstat_pgpgin{job="node-exporter"}[1m])
108          + rate(node_vmstat_pgpgout{job="node-exporter"}[1m]))
109          * on (namespace, pod) group_left(node)
110            node_namespace_pod:kube_pod_info:
111         )
112       record: node:node_memory_swap_io_bytes:sum_rate
113     - expr: avg(irate(node_disk_io_time_seconds_total{job="node-exporter",device=~"nvme.+|rbd.+|sd.+|vd.+|xvd.+"}[1m]))
114       record: :node_disk_utilisation:avg_irate
115     - expr: |-
116         avg by (node) (
117           irate(node_disk_io_time_seconds_total{job="node-exporter",device=~"nvme.+|rbd.+|sd.+|vd.+|xvd.+"}[1m])
118         * on (namespace, pod) group_left(node)
119           node_namespace_pod:kube_pod_info:
120         )
121       record: node:node_disk_utilisation:avg_irate
122     - expr: avg(irate(node_disk_io_time_weighted_seconds_total{job="node-exporter",device=~"nvme.+|rbd.+|sd.+|vd.+|xvd.+"}[1m]) / 1e3)
123       record: :node_disk_saturation:avg_irate
124     - expr: |-
125         avg by (node) (
126           irate(node_disk_io_time_weighted_seconds_total{job="node-exporter",device=~"nvme.+|rbd.+|sd.+|vd.+|xvd.+"}[1m]) / 1e3
127         * on (namespace, pod) group_left(node)
128           node_namespace_pod:kube_pod_info:
129         )
130       record: node:node_disk_saturation:avg_irate
131     - expr: |-
132         max by (namespace, pod, device) ((node_filesystem_size_bytes{fstype=~"ext[234]|btrfs|xfs|zfs"}
133         - node_filesystem_avail_bytes{fstype=~"ext[234]|btrfs|xfs|zfs"})
134         / node_filesystem_size_bytes{fstype=~"ext[234]|btrfs|xfs|zfs"})
135       record: 'node:node_filesystem_usage:'
136     - expr: max by (namespace, pod, device) (node_filesystem_avail_bytes{fstype=~"ext[234]|btrfs|xfs|zfs"} / node_filesystem_size_bytes{fstype=~"ext[234]|btrfs|xfs|zfs"})
137       record: 'node:node_filesystem_avail:'
138     - expr: |-
139         sum(irate(node_network_receive_bytes_total{job="node-exporter",device="eth0"}[1m])) +
140         sum(irate(node_network_transmit_bytes_total{job="node-exporter",device="eth0"}[1m]))
141       record: :node_net_utilisation:sum_irate
142     - expr: |-
143         sum by (node) (
144           (irate(node_network_receive_bytes_total{job="node-exporter",device="eth0"}[1m]) +
145           irate(node_network_transmit_bytes_total{job="node-exporter",device="eth0"}[1m]))
146         * on (namespace, pod) group_left(node)
147           node_namespace_pod:kube_pod_info:
148         )
149       record: node:node_net_utilisation:sum_irate
150     - expr: |-
151         sum(irate(node_network_receive_drop_total{job="node-exporter",device="eth0"}[1m])) +
152         sum(irate(node_network_transmit_drop_total{job="node-exporter",device="eth0"}[1m]))
153       record: :node_net_saturation:sum_irate
154     - expr: |-
155         sum by (node) (
156           (irate(node_network_receive_drop_total{job="node-exporter",device="eth0"}[1m]) +
157           irate(node_network_transmit_drop_total{job="node-exporter",device="eth0"}[1m]))
158         * on (namespace, pod) group_left(node)
159           node_namespace_pod:kube_pod_info:
160         )
161       record: node:node_net_saturation:sum_irate
162     - expr: |-
163         max(
164           max(
165             kube_pod_info{job="kube-state-metrics", host_ip!=""}
166           ) by (node, host_ip)
167           * on (host_ip) group_right (node)
168           label_replace(
169             (max(node_filesystem_files{job="node-exporter", mountpoint="/"}) by (instance)), "host_ip", "$1", "instance", "(.*):.*"
170           )
171         ) by (node)
172       record: 'node:node_inodes_total:'
173     - expr: |-
174         max(
175           max(
176             kube_pod_info{job="kube-state-metrics", host_ip!=""}
177           ) by (node, host_ip)
178           * on (host_ip) group_right (node)
179           label_replace(
180             (max(node_filesystem_files_free{job="node-exporter", mountpoint="/"}) by (instance)), "host_ip", "$1", "instance", "(.*):.*"
181           )
182         ) by (node)
183       record: 'node:node_inodes_free:'
184 {{- end }}