现象
测试节点失联自恢的程序时发现一个异常现象,失联的节点cpu使用率超过60%,实际上测试节点什么程序都没跑,cpu使用率接近0。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200731160901897.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM1NzUzMTQw,size_16,color_FFFFFF,t_70)
原因
该节点每分钟刮取一次监控数据,5分钟取得5个数据点,计算CPU使用率使用的公式是5分钟均值:
1 - (rate(node_cpu_seconds_total{mode="idle",instance="192.168.1.1"}[5m]))
节点从失联到自恢用了3-4分钟,这样5分钟之内每分钟少一个数据,除法的分母减1,得到的商就会变大,将计算区间从5m
改成2m
误差就小了。
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020073116083836.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM1NzUzMTQw,size_16,color_FFFFFF,t_70)