【问题标题】:How To Get the Aggregated Usage of CPU in GRAFANA when hyperthreading is enabled启用超线程时如何在 GRAFANA 中获取 CPU 的聚合使用情况
【发布时间】:2021-12-30 21:02:26
【问题描述】:

我们正在运行 GRAFANA/PROMETHEUS 来监控我们的 CPU 指标并查找所有 CPU 的汇总 CPU 使用情况。问题是我们启用了超线程,当我们对 CPU 施加压力时,百分比超过了 100%。我的问题是如何限制 CPU 使用率,使其仅显示 100% 的使用率,即使 CPU 利用率很高。

P.S 我已经尝试在 grafana 中设置最大和最小限制,但图形峰值仍然超过该限制。

请给我这个问题的正确查询。

我尝试过的查询如下。

sum(irate(node_cpu_seconds_total{instance="localhost",job="node", mode!="idle"}[5m]))*100


100 - avg(irate(node_cpu_seconds_total{instance="localhost",job="node", mode!="idle"}[5m]))*100

以及我们尝试过的其他类似查询。

【问题讨论】:

    标签: performance-testing prometheus monitoring grafana promql


    【解决方案1】:

    这可能是最有用的查询。

    (1 - avg(irate(node_cpu_seconds_total{instance="$instance",job="$job",mode!="idle"}[5m])))*100
    

    替换您的实例 IP 和您的节点导出器作业名称。

    【讨论】:

      【解决方案2】:

      如果您只想将变量或表达式结果“上限”为最大值(即 100),您可以简单地使用 Prometheus 函数 clamp_max

      因此,您可以这样做:

      clamp_max(<expr>, 100)
      

      【讨论】:

      • 我不知道如何使用钳位显示启用超线程的所有 CPU 使用情况?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-03
      相关资源
      最近更新 更多