最新のsensu-coreがインストールされていて、omnibusパッケージを使用してsensu-plugin gemをインストールしました。
Sensuは問題なく稼働していますが、ハンドラーに関する大きな問題に直面しています。コミュニティプラグインの標準のRuby mailer.rbと、pagerdutyハンドラーの両方をセットアップしました。
ログで失敗していることがわかっているチェックにハンドラーを追加すると、次のように表示されます。
{\"id\":\"a1e807d2-425f-4891-b291-ed5bda5b6105\",\"client\":{\"name\":\"mfp\",\"address\":\"25.147.26.157\",\"subscriptions\":[\"test\"],\"version\":\"0.20.0\",\"timestamp\":1437673191},\"check\":{\"command\":\"/etc/sensu/plugins/check-disk.sh -d /dev/md1 -w 80 -c 90\",\"interval\":10,\"handlers\":[\"default\",\"pagerduty\",\"mailer\"],\"occurrences\":3,\"subscribers\":[\"test\"],\"name\":\"disk\",\"issued\":1437673279,\"executed\":1437673201,\"duration\":0.01,\"output\":\"CRITICAL - /dev/md1 space used=94% | '/dev/md1 usage'=94%;80;90;\\n\",\"status\":2,\"history\":[\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\"],\"total_state_change\":0},\"occurrences\":513,\"action\":\"create\"}"]}
{"timestamp":"2015-07-23T12:41:20.873279-0500","level":"info","message":"handler output","handler":{"type":"pipe","command":"/etc/sensu/handlers/pagerduty.rb","api_key":"2e24c101ef754ff6add39aaaffa846c9","name":"pagerduty"},"output":["only handling every 180 occurrences: ws/disk\n"]}
{"timestamp":"2015-07-23T12:41:20.873561-0500","level":"info","message":"handler output","handler":{"type":"pipe","command":"/etc/sensu/handlers/pagerduty.rb","api_key":"2e24c101ef754ff6add39aaaffa846c9","name":"pagerduty"},"output":["only handling every 180 occurrences: wwv/disk\n"]}
{"timestamp":"2015-07-23T12:41:21.055407-0500","level":"info","message":"handler output","handler":{"type":"pipe","command":"/etc/sensu/handlers/pagerduty.rb","api_key":"2e24c101ef754ff6add39aaaffa846c9","name":"pagerduty"},"output":["only handling every 180 occurrences: mfp/disk\n"]}
つまり、ハンドラーは起動していますが、sensu-handler.rb gemによってフィルターされており、電子メールやpagerdutyイベントは作成されていません。
これが問題の行です
only handling every 180 occurrences
誰が問題が何であるか知っていますか?これはバグですか?何かをオーバーライドする必要がありますか?私はこの特定のチェック(check_disk)のためにsensuで大量のオカレンスを持っているので、それはpagerdutyとメーラーに発火しているはずです。
これはsensu-pluginのバグであり、必ずしもバグではなく、ドキュメントの不足です。問題はconfig.jsonにあり、APIブロックのホスト宣言を指定する必要があります。sensu-pluginはこれを必要とします。そうでない場合、これらのフィルタリングの問題が発生します。
"api": {
"Host": "localhost",
"port": 4567
}
私はスラックハンドラーを統合しようとして同じ問題に直面しました。ハンドラー構成ファイルにrefreshパラメーターを追加する必要があります。例えば :
{
"checks": {
"memory": {
"command": "/etc/sensu/plugins/check-memory.sh -w 700 -c 64",
"interval": 10,
"subscribers": [
"test"
],
"handlers": [
"slack",
"default"
],
"occurrences": 5,
"refresh": 60
}
}
}
このチュートリアルで見つかった解決策: http://www.whiteboardcoder.com/2014/11/getting-sensu-to-talk-to-hipchat.html