6

我正在使用最新的 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 分钟,似乎 sensu 客户端严重卡住/缓慢,我尝试了以下方法:

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

以上都不起作用,有没有办法调试哪些检查实际上是阻塞的?或者我可以将 sensu 配置为在超出timeout定义时简单地终止检查?这样我就不会在日志“previous check command execution in progress”中看到这条消息

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

4

1 回答 1

1

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

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

我亲身经历过一些检查。

为了更深入地了解您的问题,至少需要一些日志输出和 ps 命令 [ when the issue occurred ]。

于 2017-02-18T20:39:12.970 回答