我的客户端感知指标是报告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
}
}
我的问题:
答案 0 :(得分:2)
此错误表示sensu是(或认为是,实际上当前正在执行此检查 https://github.com/sensu/sensu/blob/4c36d2684f2e89a9ce811ca53de10cc2eb98f82b/lib/sensu/client.rb#L115
这可能是由堆叠检查引起的,这些检查花费的时间超过了运行时间间隔。 (在这种情况下为60秒)
您可以尝试设置"超时"检查定义中的选项: https://github.com/sensu/sensu/blob/4c36d2684f2e89a9ce811ca53de10cc2eb98f82b/lib/sensu/client.rb#L101
尝试在检查一段时间后使感知时间过去。您还可以为检查添加内部逻辑,使其不挂起。
答案 1 :(得分:0)
在我的情况下,我不小心配置了两个sensu-client实例以具有相同的名称。我认为这导致他们中的一个总是认为它的检查已经在运行,而实际上它们不是。给他们独特的名字解决了我的问题。