■玄箱‎ > ‎

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と連携してみたかったのさ