【发布时间】:2021-02-12 10:05:12
【问题描述】:
理想情况下,我必须找出每个节点上 pod 的 CPU 使用率百分比。但我试图找出每个节点的 CPU 使用率。我已经编写了查询,但它给了我超过 100%(它可以是 150% - 200%),即使包含多个 cpu 的情况(我取平均值)。能否请您帮助我了解以下查询中的问题。
(1 - avg(irate(node_cpu_seconds_total{mode="idle"}[1m])) by (instance)) * 100 / scalar(sum(machine_cpu_cores))
通过阅读多本书和解决方案,我还发现仅适用于多个节点的查询(container_spec_cpu_quota 不适用于 AWS ECS 上的某些实例)
avg(rate(container_cpu_usage_seconds_total{name!~".*prometheus.*", image!="", instance=""}[1m])) by (pod) / scalar(sum(container_spec_cpu_quota{name!~".*prometheus.*", image!="", instance=""} / container_spec_cpu_period{name!~".*prometheus.*", image!="", instance=""}))
【问题讨论】:
-
“scalar(sum(machine_cpu_cores))”的值是多少? “machine_cpu_cores”是如何计算的?
标签: cpu prometheus percentage promql