Skip to content

Commit 3c38668

Browse files
authored
Merge pull request #810 from SuperQ/faster_cpu
Speed up node rules
2 parents eb707bf + fb0d72c commit 3c38668

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

rules/node.libsonnet

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@
3030
// This rule gives the number of CPUs per node.
3131
record: 'node:node_num_cpu:sum',
3232
expr: |||
33-
count by (%(clusterLabel)s, node) (sum by (node, cpu) (
34-
node_cpu_seconds_total{%(nodeExporterSelector)s}
35-
* on (namespace, %(podLabel)s) group_left(node)
33+
count by (%(clusterLabel)s, node) (
34+
node_cpu_seconds_total{mode="idle",%(nodeExporterSelector)s}
35+
* on (namespace, %(podLabel)s) group_left(node)
3636
topk by(namespace, %(podLabel)s) (1, node_namespace_pod:kube_pod_info:)
37-
))
37+
)
3838
||| % $._config,
3939
},
4040
// Add separate rules for Available memory, so we can aggregate across clusters in dashboards.
@@ -52,12 +52,24 @@
5252
) by (%(clusterLabel)s)
5353
||| % $._config,
5454
},
55+
{
56+
// This rule gives cpu utilization per node.
57+
record: 'node:node_cpu_utilization:ratio_rate5m',
58+
expr: |||
59+
avg by (%(clusterLabel)s, node) (
60+
sum without (mode) (
61+
rate(node_cpu_seconds_total{mode!="idle",mode!="iowait",mode!="steal",%(nodeExporterSelector)s}[5m])
62+
)
63+
)
64+
||| % $._config,
65+
},
5566
{
5667
// This rule gives cpu utilization per cluster
5768
record: 'cluster:node_cpu:ratio_rate5m',
5869
expr: |||
59-
sum(rate(node_cpu_seconds_total{%(nodeExporterSelector)s,mode!="idle",mode!="iowait",mode!="steal"}[5m])) /
60-
count(sum(node_cpu_seconds_total{%(nodeExporterSelector)s}) by (%(clusterLabel)s, instance, cpu))
70+
avg by (%(clusterLabel)s) (
71+
node:node_cpu_utilization:ratio_rate5m
72+
)
6173
||| % $._config,
6274
},
6375
],

0 commit comments

Comments
 (0)