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

时间:2016-08-30 17:44:29

标签: sensu

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

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

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

  1. 删除多个长时间运行的检查并重新启动sensu server / client
  2. timeout定义添加到我的支票中,将超时限制为10,然后导致许多支票“执行超时”
  3. 我试过只运行1次,10次,50次检查,似乎一切正常,但是,一旦检查计数达到一定数量,可能是200-300,就会出现问题。
  4. 上述两种方法都没有,有没有办法调试哪些检查实际上是阻塞的?或者我可以配置sensu以在超过timeout定义时简单地终止检查吗?因此,我不会在日志“先前检查命令正在执行”

    中看到此消息

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

1 个答案:

答案 0 :(得分:1)

要调试这个,您显然可以检查sensu-client.log。 您可以在sensu

的默认文件中设置日志级别

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

我亲身经历过一些检查。

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