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

こんにちは! JQです。

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

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

mailer.rbプラグイン

1. mailer.rbのインストール

スクリプトと設定ファイルを取得します。

1$ sudo wget -O /etc/sensu/handlers/mailer.rb https://raw.github.com/sensu/sensu-community-plugins/master/handlers/notification/mailer.rb2$ 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$ sudo vim /etc/default/sensu2EMBEDDED_RUBY=true

※gem mailがない場合はインストールしておきます。

1$ sudo /opt/sensu/embedded/bin/gem install mail -v 2.5.4 --no-ri --no-rdoc

5.設定ファイル

以下のメールサーバの設定ファイルを修正します。

1$ sudo vim /etc/sensu/conf.d/mailer.json2{3  "mailer": {4    "admin_gui": "http://admin.example.com:8080/",5    "mail_from": "sensu@example.com",6    "mail_to": "monitor@example.com",7    "smtp_address": "smtp.example.org",8    "smtp_port": "25",9    "smtp_domain": "example.org"10  }11}

mailerのHandlerを作成します。

1$ sudo vim /etc/sensu/conf.d/handler_mailer.json2{3  "handlers": {4    "mailer": {5      "type": "pipe",6      "command": "/etc/sensu/handlers/mailer.rb"7    }8  }9}

チェックプロセスの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        "mailer"9      ],10      "subscribers": [11        "cron"12      ],13      "interval": 30,14      "notification": "Cron is not running",15      "occurrences": 516    }17  }18}

設定を反映させます。

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

6.確認

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

cronを停止します。

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

以下のように整形されたメールが届けば成功です。

1CheckProcs OK: Found 1 matching processes; cmd /cron/2Admin GUI: http://ec2xx-xx-xxx-xx.compute-1.amazonaws.com:8080/3Host: ip-xx-xxx-xx-xxx.ec2.internal4Timestamp: 2014-06-10 11:42:18 +09005Address:  xx.xxx.xx.xxx6Check Name:  cron_process7Command:  check-procs.rb -p cron -C 18Status:  09Occurrences:  5

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

次回もお楽しみに!!!

この記事を書いた人

aws-recipe-user