sensu:“以前的检查命令正在执行”

时间:2014-09-12 00:23:29

标签: opentsdb sensu

我的客户端感知指标是报告WARN并且数据没有到达我的OpenTSDB。 它似乎被卡住了,但我不明白这条消息告诉我的是什么。有人可以翻译吗?

该命令是一个ruby脚本。

在/var/log/sensu/sensu-client.log中:

{"timestamp":"2014-09-11T16:06:51.928219-0400",
   "level":"warn",
   "message":"previous check command execution in progress",
   "check":{"handler":"metric_store","type":"metric",
            "standalone":true,"command":"...",
            "output_type":"json","auto_tag_host":"yes",
            "interval":60,"description":"description here",
            "subscribers"["system"],
            "name":"foo_metric","issued":1410466011,"executed":1410465882
   }
 }

我的问题:

  1. 这条消息是什么意思?
  2. 是什么原因引起的?
  3. 这是否真的意味着我们正在等待同一张支票运行?如果是这样,我们如何清除它?

2 个答案:

答案 0 :(得分:2)

  1. 此错误表示sensu是(或认为是,实际上当前正在执行此检查 https://github.com/sensu/sensu/blob/4c36d2684f2e89a9ce811ca53de10cc2eb98f82b/lib/sensu/client.rb#L115

  2. 这可能是由堆叠检查引起的,这些检查花费的时间超过了运行时间间隔。 (在这种情况下为60秒)

  3. 您可以尝试设置"超时"检查定义中的选项: https://github.com/sensu/sensu/blob/4c36d2684f2e89a9ce811ca53de10cc2eb98f82b/lib/sensu/client.rb#L101

  4. 尝试在检查一段时间后使感知时间过去。您还可以为检查添加内部逻辑,使其不挂起。

答案 1 :(得分:0)

在我的情况下,我不小心配置了两个sensu-client实例以具有相同的名称。我认为这导致他们中的一个总是认为它的检查已经在运行,而实际上它们不是。给他们独特的名字解决了我的问题。