Nagios Plugin作成

インストール時にPluginsも入れるので大抵の事はできると思います。

がしかし、こんなことさせたいんだよなぁ・・・って思うこともあったりする。

まずは、こちら(Nagios Exchange)で探せばいいのですが無かった場合は

自分でつくりませうъ(`ー゜)

どの様には書けば良いかはこちらを参考に。

ちょこっと作ってみましたが非常に簡単でした。

オプションつけたりヘルプつけたりとか個人で使うだけなら

そもそも必要ないしね。

大事なことは、

実行結果に対し、正しくステータスコードを返せば良いだけです(`・ω・´)

Nagiosでの各ステータスコードの扱い

exit 0 ---> OK

exit 1 ---> WARNING

exit 2 ---> CRITICAL

exit 3 ---> UNKNOWN

別に全部書く必要も無く OK or CRITICALだけ欲しいなら

0と2だけを結果に対し返してやればいい。

例えばログ監視で特定文字(hoge)を監視する場合、

grepでhogeを見つけ出し、ヒットすればexit 2

そうでなければexit 0のShell(perlとか何でもいい)を書いて

/usr/local/nagios/libexecにおいてあげる(権限に注意)

後は、

define commandにコマンドを定義して

define serviceにサービス定義してやればOK。

■はまった事

初歩的なミスと言えばミスですが

hddtempでHDD温度をとって閾値を決めて監視しようと思ったのですが

このコマンド自身rootからしか実行できない事に後で気づいた・・・

思い通りの結果が返ってこないわけだ!

rootで作成・実行してたので気づかなかった・・・

て事で作成した後には、root以外のユーザで実行できるか

確認が必要です!

解決策として、sudoって手もあったがsudoはあまり好きでないので

rootのCronを使って温度データを別途ファイルに書き出し

それをnagios側で比較する方法にした。

言うまでも無く、普通にShellでチェックプログラム作って

Cronで回した方が楽なのはナイショ(´_ゝ`)<Nagiosと連携してみたかったのさ