我在我的系统上运行 < 24 次检查。服务器不会经常负载过重。在正常操作期间,平均负载保持在 1 以下。
我注意到一个反复出现的问题,即 check-cpu 检查将开始在没有自然原因导致高负载的系统上触发高负载平均值。进一步调查显示,高负载报告实际上是由于 check-cpu 脚本与其他检查并行运行。在执行检查之外,cpu 负载很好。
我从 sensu 0.20 升级到 0.23 并继续观察同样的问题。
我们发现重新启动 sensu-server 和 sensu-client 服务会在一段时间(大约 24 小时)内解决问题,然后它会返回。
我们在这一点上进行了推理,在主机上的检查的调度/执行中必须存在某种时间延迟,这会导致这种重叠最终发生。
所有检查都设置为以 30 或 60 的间隔运行。
我决定将 check-cpu 检查的间隔设置为 83,此后问题未发生。大概是因为 check-cpu 检查与任何其他检查不重合,因此在那短时间内看不到高 cpu 负载。
这是sensu的某种固有调度问题吗?它应该知道如何以足够的间距发送检查,还是应该由间隔参数控制?
谢谢!