感知客户端错误"以前的检查命令正在执行"

Way*_* Ye 6 sensu

我正在使用最新的sensu核心版本0.26.1,在一台CentOS机器上设置sensu服务器,在另一台机器上设置一个sensu客户端.

在一个sensu客户端中有大约500个检查,我一直"previous check command execution in progress"在sensu-client.log中看到,但每个检查实际上都非常快(大多数小于0.1秒,间隔为60秒),我可以通过运行它来确认sensu用户sudo su sensu -c "{run my check}".

然而,实际情况是,在uchiwa仪表板中,它显示我的许多支票运行超过1分钟,似乎感觉客户端严重卡住/慢,我尝试了以下方法:

  1. 删除几个长时间运行的检查并重启sensu服务器/客户端
  2. 超时定义添加到我的检查中,将超时限制为10,然后导致许多检查"执行超时".
  3. 我试过只运行1次,10次,50次检查,似乎一切正常,但是,一旦检查计数达到一定数量可能是200-300,问题就出现了.

以上工作都没有,有没有办法调试哪些检查实际上是阻塞的?或者我可以将sensu配置为在超出timeout定义时简单地终止检查吗?所以我不会在日志中看到此消息"以前的检查命令正在执行"

我被这个阻止了,需要帮助:)

小智 1

要调试它,您显然可以检查 sensu-client.log。您可以在sensu的默认文件中设置日志级别

除此之外:ps aux | grep sensu将向您展示每项检查都将显示为单独的进程,您可以轻松地手动确认是否挂起以及哪些检查可能挂起。这里常见的问题是检查中存在缺陷导致它们挂起,而不是感性客户端本身挂起。

我自己通过一些检查就经历过这一点。

要更深入地了解您的问题,至少需要一些日志输出和 ps 命令 [当问题发生时]。