初代查询指标 (1 – avg(rate(node_cpu_seconds_total{mode=”idle”}[5m])) by (instance))*100
上图查询返回了每个 CPU 的使用率,但是有些结果是负数,这可能是因为在一段时间内,CPU 使用率的增量变化了。CPU 使用率应该是一个介于 0 到 100 之间的百分比值。
为了修正这个问题,你可以将 irate
函数返回的每秒 CPU 使用时间转换为百分比形式,并确保它的值在 0 到 100 之间。以下是修正后的查询:
clamp_min(100 - avg by (instance)(irate(node_cpu_seconds_total{mode="idle"}[5m]) * 100), 0)
在这个修正后的查询中,我使用了 clamp_min
函数,将 CPU 使用率的百分比值限制在最小值为 0,确保不会出现负数。
No Comments