node-exporter cpu使用率为负数

在prometheus利用公式:100 - (avg by (instance) (irate(node_cpu{instance="xxx", mode="idle"}[5m])) * 100) 计算cpu使用率,若是cpu低负载,且多核(个人是32核)的状况下,会出现负数。node

 

 

缘由:cpu的使用数据都是测算值来的(CPU处于空闲状态时间比例。通常而言,idel + user + nice 约等于100%)。当cpu处于多核、低负载的状况下,值的差别会被放大,从而致使出现负数的状况。ide

解决方法:spa

换成公式:avg by (ip)(irate(node_cpu_seconds_total{mode=~"sytem|user|iowait|irq|softirq|nice|steal|guest"}[5m])) * 100code

相关文章
相关标签/搜索