こんにちは! JQです。
前回は『OSS編~Sensuを試してみる③~』と題して、Monitoring FrameworkのSensuでメール通知を試してみました。
今回は『OSS編~Sensuを試してみる④~』と題して、Monitoring FrameworkのSensuのプラグインでメール通知を試してみたいと思います。
mailer.rbプラグイン
4. mailer.rbのインストール
スクリプトと設定ファイルを取得します。
1 2 |
$ sudo wget -O /etc/sensu/handlers/mailer.rb https://raw.github.com/sensu/sensu-community-plugins/master/handlers/notification/mailer.rb $ sudo wget -O /etc/sensu/conf.d/mailer.json https://raw.github.com/sensu/sensu-community-plugins/master/handlers/notification/mailer.json |
実行権限を付与します。
1 |
$ sudo chmod 755 /etc/sensu/handlers/mailer.rb |
Sensuと一緒にインストールされたRubyを使用するようにします。
1 2 |
$ sudo vim /etc/default/sensu EMBEDDED_RUBY=true |
※gem mailがない場合はインストールしておきます。
1 |
$ sudo /opt/sensu/embedded/bin/gem install mail -v 2.5.4 --no-ri --no-rdoc |
5.設定ファイル
以下のメールサーバの設定ファイルを修正します。
1 2 3 4 5 6 7 8 9 10 11 |
$ sudo vim /etc/sensu/conf.d/mailer.json { "mailer": { "admin_gui": "http://admin.example.com:8080/", "mail_from": "sensu@example.com", "mail_to": "monitor@example.com", "smtp_address": "smtp.example.org", "smtp_port": "25", "smtp_domain": "example.org" } } |
mailerのHandlerを作成します。
1 2 3 4 5 6 7 8 9 |
$ sudo vim /etc/sensu/conf.d/handler_mailer.json { "handlers": { "mailer": { "type": "pipe", "command": "/etc/sensu/handlers/mailer.rb" } } } |
チェックプロセスのHandlerを修正します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$ sudo vim /etc/sensu/conf.d/checks/cron_process.json { "checks": { "cron_process": { "command": "check-procs.rb -p cron -C 1", "handlers": [ "default", "mailer" ], "subscribers": [ "cron" ], "interval": 30, "notification": "Cron is not running", "occurrences": 5 } } } |
設定を反映させます。
1 2 |
$ sudo /etc/rc.d/init.d/sensu-server restart $ sudo /etc/rc.d/init.d/sensu-client restart |
6.確認
それでは確認してみましょう!
cronを停止します。
1 |
$ sudo /etc/rc.d/init.d/crond stop |
以下のように整形されたメールが届けば成功です。
1 2 3 4 5 6 7 8 9 |
CheckProcs OK: Found 1 matching processes; cmd /cron/ Admin GUI: http://ec2xx-xx-xxx-xx.compute-1.amazonaws.com:8080/ Host: ip-xx-xxx-xx-xxx.ec2.internal Timestamp: 2014-06-10 11:42:18 +0900 Address: xx.xxx.xx.xxx Check Name: cron_process Command: check-procs.rb -p cron -C 1 Status: 0 Occurrences: 5 |
いかがでしたでしょうか?
次回もお楽しみに!!!