こんにちは! JQです。
前回は『 OSS編~Sensuを試してみる②~ 』と題して、Monitoring FrameworkのSensuで監視設定を試してみました。
今回は『OSS編~Sensuを試してみる③~』と題して、Monitoring FrameworkのSensuでメール通知を試してみたいと思います。
handler設定
1.準備
先ずはメールコマンドを利用して通知をしてみたいと思います。
メールコマンドをインストールをしておきます。
1$ sudo yum -y install mailx2.メール通知の設定
次にメール通知をする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 restart3.確認
それでは確認してみましょう!
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"}いかがでしたでしょうか?
次回もお楽しみに!!!