1

我的客户端 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. 这真的意味着我们正在等待相同的检查运行吗?如果是这样,我们如何清除它?
4

2 回答 2

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

尝试在该检查一段时间后使 sensu 超时。您还可以在检查中添加内部逻辑以使其不会挂起。

于 2014-11-16T19:44:54.727 回答
0

就我而言,我不小心将两个 sensu-client 实例配置为具有相同的名称。我认为这导致他们中的一个人总是认为它的检查已经在运行,而实际上它们并没有运行。给他们唯一的名字解决了我的问题。

于 2017-01-30T15:34:55.060 回答