我在我的系统上运行< 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固有的调度问题吗?它应该知道如何以足够的间隔分派检查,还是应该由interval参数控制?
谢谢!
发布于 2016-05-07 06:24:08
我注意到检查在执行时间上会发生漂移。也就是说,它们不是每30秒运行一次,而是每30.001秒运行一次。我猜在不同的检查上漂移可能是不同的。因此,最终您会遇到这样的问题,即检查同步并同时运行所有检查,从而导致问题。以固定的时间间隔(30秒、60秒等)运行更多检查将使此问题更频繁地发生。如果您希望更改此问题,则必须将其报告给sensu directly。我认为他们最终可能会修复它,因为他们可能希望系统是可伸缩的。
https://stackoverflow.com/questions/37081935
复制相似问题