我跑< 24检查我的系统。服务器不会经常负载很重。在正常操作期间,负载平均值保持在1以下。
我注意到一个重新出现的问题,check-cpu检查会在没有高负载的有机原因的系统上开始触发高负载平均值。进一步调查显示高负载报告实际上是由于check-cpu脚本与其他检查并行运行。在执行检查之外,cpu load很好。
我从sensu 0.20升级到0.23并继续观察同样的问题。
我们发现,重新启动sensu-server和sensu-client服务可以在一段时间(大约24小时)内解决问题然后它会返回。
我们在这一点上进行了理论化,在主机上发送/执行检查时必定存在某种时间延迟,导致最终发生这种重叠。
所有检查都设置为以30或60的间隔运行。
我决定将check-cpu check的间隔设置为83,并且此后没有发生此问题。大概是因为check-cpu检查与其他任何一个检查不一致,因此在这个短时间内没有看到高CPU负载。
这与sensu有某种固有的调度问题吗?是否应该知道如何以足够的间距发送支票,或者这应该由间隔参数控制?
谢谢!
答案 0 :(得分:2)
我注意到检查在执行时间上有所不同。也就是说,它们并不是每30秒运行一次,而是每30.001秒或类似的运行。我想在不同的检查中漂移可能会有所不同。因此,最终您将遇到检查同步并且所有运行同时运行的问题,从而导致问题。定期(30秒,60秒等)运行更多检查将更频繁地发生此问题。如果您想要更改此问题,则必须将其报告给sensu directly。我认为他们最终可能会修复它,因为他们可能希望系统可扩展。