さて、皆様ご存じのとおり、”Munin“では、Plugin毎に「Critical」「Warning」の閾値や、取得できなかった場合の「Unknown」の状態を決められており、以上のあるグラフ(サーバ)を特定することができるようになってます。
とても便利な機能ではありますが、標準の状態ではアラートの発砲機能は動いていませんし、ログにも出力されません [I]厳密には、syslogへは出力されない 。
それでは何かと不便ですので、閾値を超えた場合、状態が取得できなかった場合などに、メールを送付する、syslog へ出力する方法についてご説明します。
しますって程、仰々しいものではなくて、公式に載ってるわけですが。
目次
muninでアラートメールを出す方法
公式の”HowToContact – Munin“に書かれているように、munin.confをちょっと修正すれば簡単にできます。
munin.conf から、次の場所を探してください。your@email.address.here を送りたい相手のアドレスにするだけです。簡単ですね。
1 | contact.email.command mail -s "Munin-notification for ${var:group} :: ${var:host}" your@email.address.here |
muninで、もう一人にアラートメールを出す方法
一人だけだと不安ですよね。もう一人くらいメールを送りたくありませんか?
多分、次の行に似たような行があります。こちらもyour@email.address.here を送りたい相手のアドレスにするだけです。
1 | contact.anotheruser.command mail -s "Munin notification" your@email.address.here |
ご覧頂けるとわかると思いますが、ただ、mailコマンドを実行しているだけなので、メールのタイトルは好きに変更できますね。
変数も ${var:graph_title} や ${var:graph_category} なども利用できそうです。
張り切って書いてますが、どう考えても”棚からパルチャギ“に詳しく書いてあるので、こちらも参考にしていただくほうが楽しいと思います(;´Д`)
syslogへ出力する方法
要するに、”contact.<識別名>.command” 以降に、コマンドを記述すると、そのコマンドを実行してくれるわけなので、同じ方法で syslog へ出力する方法をとることができるわけですね。
コマンド自体は、次のものを Active にするだけで良さそうです。
1 | contact.syslog.command logger -p user.crit -t "Munin-Alert" |
コマンドをいろいろと組み合わせることによって、閾値超えの場合に自動的に何かをさせることができるようになるわけです。面白くないですか?( ・ิω・ิ)
References
↑I | 厳密には、syslogへは出力されない |
---|