SyntaxHighlighter

2012/04/27

munin で監視してアラートメールとか

nagios で使っている check_munin_rrd.pl が、何故かすんごい勢いでCPUを使いまくって監視サーバのロードアベレージの値が精神衛生上あまりよくない数字になっちゃっているので、 munin でやれることは munin で nagios はプラグインは極力使わずping監視くらいにしようと思いmuninで監視設定したったメモ

エスカレーション先の定義

munin.conf へ"contact.hogehoge.command some_action" という行を追加してエスカレーション先を指定していきます。hogehoge の部分は任意です。わかり易い名前がいいんでしょうね
command の後ろに色々書くことで自作のスクリプトをキックしたりnagiosと連携させることが出来るんだけれども、だけれども今回は単純にアラートメールを送信するだけにします。
こったことやりたかったらこんなチラ裏を参考にしないで、ちゃんと公式のドキュメント読もうね♪
今回はこんな感じで書いてます。最初の行の後半なんか mail コマンドそのまんまだね
いちおう説明すると"Munin notification ${var:group}::${var:host}" が送信されるアラートメールのタイトルになります。${var:group}${var:host}は変数で munin.conf で定義しているグループ名とホスト名が入ります。
で、その後ろの"a@host.ltd"が宛先のメールアドレスですね
"contact.mail.always_send warning critical" は warning と critical の場合にアラートメールを飛ばすっていう設定ですね

監視項目の定義

munin.conf にこんな感じで監視対象のホストを定義していると思います。 で、localhost のロードアベレージの値、foo.example.com のロードアベレージの値と /dev/sdc1 の使用率を監視したいという場合はこんな感じに監視項目を定義します。 下の部分がロードアベレージが5以上でwarning、10以上でcriticalっていう定義になります。 んで、ディスク使用率の定義がこんな感じですね。
85%以上でwarning、95%以上でcritical にしてあります。 書式としては"pluginname.service_name.severity value"かな?"pluginname"は監視対象のホスト"/etc/munin/plugins"にあるプラグイン名を、"service_name"は監視対象のホストで"munin-run pluginname"を実行すると確認できます。
例えば、ディスク使用率の監視だと df プラグインの値を使用するので監視対象のホストで"munin-run df"を実行すると ってな感じで"service_name"と現在の値が表示されるので確認しましょう

0 件のコメント:

コメントを投稿