monit で個別の監視項目ごとにメールで通知する方法

結論

個別の監視定義ファイルに alert foo@bar.com などと書きましょう。

補足

monitrc の中で通知するメールアドレスを設定できますが、これは全ての監視項目が対象になります。特定の監視項目に特定のメールアドレス宛に通知を行いたい場合はそのような設定を記述しなければなりません。

方法は「結論」のとおりなのですが、具体例を以下に示します。

具体例(ダメな場合)

下記のように set alert と指定するとそのアドレスは全ての監視項目を対象にしてしまいます

check host your_host with address example.com
  if failed url https://example.com/path/to
    then
      exec "touch /tmp/foobarhogefuga"

set alert foo@bar.com

具体例(OKな場合)

下記のように alert と書いて続けてメールアドレスを記載すれば OK です。複数のメールアドレスを定義したい場合は一行一行に書いていきましょう

check host your_host with address example.com
  if failed url https://example.com/path/to
    then
      exec "touch /tmp/foobarhogefuga"
  alert foo@bar.com
  alert hoge@fuga.com

公式ドキュメント

公式ドキュメントが整備されているので、そちらを読めば monit の書き方がらみは全て解決するでしょう。

Monit Manual

Powered by はてなブログ