【问题标题】:CPU usage for each node in prometheusprometheus中每个节点的CPU使用率
【发布时间】: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


【解决方案1】:

以下查询应返回每个instance 的 CPU 使用百分比:

100 * avg by (instance) (rate(node_cpu_seconds_total{mode!="idle"}[1m]))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-01
    • 2020-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    • 1970-01-01
    相关资源
    最近更新 更多