prometheus 监控若干问题集

时间:2024-05-22 19:16:52
  • node-exporter cpu使用率为负数

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

prometheus 监控若干问题集

 

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

解决方法:

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

 

 

  • node_exporter监控主机内存显示无数据问题

prometheus 监控若干问题集

原因:最新版的node_exporter将node_memory_MemAvailable_bytes改为node_memory_MemFree_bytes了

解决方法:

换成公式:(1 - (node_memory_MemFree_bytes{instance=~"$node"} / (node_memory_MemTotal_bytes{instance=~"$node"})))* 100