【问题标题】:Wrong value on cpu usage from Node Exporter来自 Node Exporter 的 cpu 使用值错误
【发布时间】:2022-01-01 16:54:07
【问题描述】:

我想用 prometheus、node exporter 和 grafana 设置监控。我正在使用 Node Exporter 来监控服务器上的 CPU/内存。 我在 Grafana 上使用了如下表达式。

100 - (avg by (instance) (rate(node_cpu_seconds_total{job="node",mode="idle"}[1m])) * 100)

但是,这个 cpu 值总是比预期值低。 通过 linux 中的“top”命令测量,甚至 cpu 也达到了 95-98%。该值仅显示 40-50%。 你能给我一些建议吗?如何修复这个错误的值?还是错误的表达方式?

【问题讨论】:

  • top 屏幕截图中 98.7% 的 CPU 使用率意味着使用了 98.7% 的 单核。很明显,那台机器上有多个内核,并且由于您使用的是avg by(instance),它显示了节点上所有内核的平均(平均)负载。因此,如果一半的机器核心在 100% 负载下,而另一个在 0% 下,那么 50% 就是平均值。
  • @anemyte 谢谢。

标签: prometheus grafana prometheus-node-exporter


【解决方案1】:

“top”命令显示的“%CPU”是进程正在使用的 CPU 百分比。默认情况下,top 将其显示为单个 CPU 的百分比。在多核系统上,您可以拥有大于 100% 的百分比。例如,如果 3 个核心的使用率为 60%,“top”将显示 CPU 使用率为 180%。浏览此处获取更多信息。您可以在“top”运行时按 Shift+i 来切换此行为,以显示正在使用的可用 CPU 的总体百分比。

查看更多信息here

【讨论】:

  • 这意味着值应该是正确的。是否可以从 top 命令找到平均 cpu 使用率?或者我应该用作参考的其他东西,显示 linux 中的平均 cpu 使用率。
  • A 修复了答案(“shift+i”切换中缺少“i”)。您可以尝试使用“htop”命令而不是“top”。它具有 CPU 平均值选项。
猜你喜欢
  • 2022-06-13
  • 1970-01-01
  • 2022-12-22
  • 2019-07-21
  • 2020-12-13
  • 1970-01-01
  • 1970-01-01
  • 2022-10-05
  • 2021-05-02
相关资源
最近更新 更多