OSS編~Sensuを試してみる③~

こんにちは! JQです。

前回は『 OSS編~Sensuを試してみる②~ 』と題して、Monitoring FrameworkのSensuで監視設定を試してみました。

今回は『OSS編~Sensuを試してみる③~』と題して、Monitoring FrameworkのSensuでメール通知を試してみたいと思います。

handler設定

1.準備

先ずはメールコマンドを利用して通知をしてみたいと思います。

メールコマンドをインストールをしておきます。

1$ sudo yum -y install mailx

2.メール通知の設定

次にメール通知をするHandlerを設定します。

1$ sudo vim /etc/sensu/conf.d/handler_email.json2{3  "handlers": {4    "email": {5      "type": "pipe",6      "command": "mail -s 'sensu alert' -r from@address to@address"7    }8  }9}

3.チェックプロセスにメールのHandlerを設定します。

1$ sudo vim /etc/sensu/conf.d/checks/cron_process.json2{3  "checks": {4    "cron_process": {5      "command": "check-procs.rb -p cron -C 1",6      "handlers": [7        "default",8        "email"9      ],10      "subscribers": [11        "cron"12      ],13      "interval": 30,14      "notification": "Cron is not running",15      "occurrences": 516    }17  }18}

sensu-serverとsensu-clientを再起動します。

1$ sudo /etc/rc.d/init.d/sensu-server restart2$ sudo /etc/rc.d/init.d/sensu-client restart

3.確認

それでは確認してみましょう!

cronを停止してみます。

1$ sudo /etc/rc.d/init.d/crond stop

次のようなメールが来れば成功です。

1{"client":{"name":"ip-xx-xxx-xx-xxx.ec2.internal","address":"xx-xxx-xx-xxx","subscriptions":["cron","all"],"timestamp":1402290132},"check":{"command":"check-procs.rb -p cron -C 1","handlers":["default","email"],"subscribers":["cron"],"interval":30,"notification":"Cron is not running","occurrences":5,"name":"cron_process","issued":1402290132,"executed":1402290132,"output":"CheckProcs CRITICAL: Found 0 matching processes; cmd /cron/\n","status":2,"duration":0.22,"history":["2","2","0","2","2","2","2","2","2","2","0","2","0","2","2","2","2","2","0","0","2"]},"occurrences":1,"action":"create"}23{"client":{"name":"ip-xx-xxx-xx-xxx.ec2.internal","address":"xx-xxx-xx-xxx","subscriptions":["cron","all"],"timestamp":1402290132},"check":{"command":"check-procs.rb -p cron -C 1","handlers":["default","email"],"subscribers":["cron"],"interval":30,"notification":"Cron is not running","occurrences":5,"name":"cron_process","issued":1402290132,"executed":1402290132,"output":"CheckProcs CRITICAL: Found 0 matching processes; cmd /cron/\n","status":2,"duration":0.22,"history":["2","2","0","2","2","2","2","2","2","2","0","2","0","2","2","2","2","2","0","0","2"]},"occurrences":1,"action":"create"}

cronを起動してみます。

1$ sudo /etc/rc.d/init.d/crond stop

次のようなメールが来れば成功です。

1{"client":{"name":"ip-xx-xxx-xx-xxx.ec2.internal","address":"xx-xxx-xx-xxx","subscriptions":["cron","all"],"timestamp":1402290152},"check":{"command":"check-procs.rb -p cron -C 1","handlers":["default","email"],"subscribers":["cron"],"interval":30,"notification":"Cron is not running","occurrences":5,"name":"cron_process","issued":1402290162,"executed":1402290162,"output":"CheckProcs CRITICAL: Found 0 matching processes; cmd /cron/\n","status":2,"duration":0.222,"history":["2","0","2","2","2","2","2","2","2","0","2","0","2","2","2","2","2","0","0","2","2"]},"occurrences":2,"action":"create"}23{"client":{"name":"ip-xx-xxx-xx-xxx.ec2.internal","address":"xx.xxx.xx.xxx","subscriptions":["cron","all"],"timestamp":1402290192},"check":{"command":"check-procs.rb -p cron -C 1","handlers":["default","email"],"subscribers":["cron"],"interval":30,"notification":"Cron is not running","occurrences":5,"name":"cron_process","issued":1402290192,"executed":1402290192,"output":"CheckProcs OK: Found 1 matching processes; cmd /cron/\n","status":0,"duration":0.22,"history":["0","2","2","2","2","2","2","2","0","2","0","2","2","2","2","2","0","0","2","2","0"]},"occurrences":2,"action":"resolve"}

いかがでしたでしょうか?

次回もお楽しみに!!!

この記事を書いた人

aws-recipe-user