nagios3でのパッシブチェックについて

nagios3でのパッシブチェックは外部コマンドファイル(External Commands)に書き込むことで実現するチェックした結果を名前付パイプ(/var/lib/nagios3/rw/nagios.cmd)に書き込むことでnagios3が拾う

  1. 以下のようなスクリプトを用意する
  2. #!/bin/sh
    echocmd="/bin/echo"
    CommandFile="/var/lib/nagios3/rw/nagios.cmd"
    datetime=`date +%s`
    cmdline="[$datetime] PROCESS_SERVICE_CHECK_RESULT;$1;$2;$3;$4"
    `$echocmd $cmdline >> $CommandFile`
  3. cronか何かで以下のようにスクリプトを叩く
  4. 引数は4つで最初からホスト名、サービス名、ステータス、メッセージの順でサービス名はservice_descriptionで指定したもの
    ./result.sh localhost HTTP 2 "DOWN MESSAGE"

HOSTのパッシブチェックは以下のようなコマンドで
#!/bin/sh
echocmd="/bin/echo"
CommandFile="/var/lib/nagios3/rw/nagios.cmd"
datetime=`date +%s`
cmdline="[$datetime] PROCESS_HOST_CHECK_RESULT;$1;$2;$3"
`$echocmd $cmdline >> $CommandFile`
こう叩く
./host.sh localhost 0 "OK"


参考リンク
Nagios 3翻訳プロジェクトExternal Commands
Passive Checks