パッシブチェックは、常時起動していないマシンやネットワークの構成上、nagiosサーバからアクセスできないマシンの監視、イベントとして発生する事象の監視をするための仕組みです。
今回、クライアントPCのディスク容量を監視したいのでnagios3のパッシブチェックを設定することにしました。
Debian/Ubuntuでは、パッケージが準備されていますが設定変更が必要でした。
nscaのインストール
nscaパッケージをインストールします。
$ sudo apt-get install nsca
パッシブチェックの設定
nagios3パッケージは、デフォルトでパッシブチェックができるように設定されています。
関連する設定は、下記です。
$ egrep "passive|external|command_file" /etc/nagios3/nagios.cfg | grep -v "#" | grep -v 0 check_external_commands=1 command_file=/var/lib/nagios3/rw/nagios.cmd log_external_commands=1 log_passive_checks=1 accept_passive_service_checks=1 accept_passive_host_checks=1 $
ファイルパーミッションの変更
command_fileのファイルパーミッションは、デフォルトでは設定されていません。
下記のようにファイルパーミッションを設定してnagiosが/var/lib/nagios3/rw/nagios.cmdに書き込まれたデータを読み込めるようにします。
$ sudo dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
nsca.cfgの設定
nsca.cfgのcommand_fileを下記のように/etc/nagios3/nagios.cfgの設定と合わせる必要があります。
$ grep nagios.cmd /etc/nagios3/nagios.cfg command_file=/var/lib/nagios3/rw/nagios.cmd $ sudo grep nagios.cmd /etc/nsca.cfg command_file=/var/lib/nagios3/rw/nagios.cmd #command_file=/var/lib/nagios2/rw/nagios.cmd $
パッシブサービスの設定
パッシブサービスの設定をしてnagios3を再起動します。
$ cd /etc/nagios3/conf.d $ cat service_passive.cfg define service { use generic-service host_name server1 check_period never max_check_attempts 1 service_description PASSIVE check_command check_dummy!0!"This service is state OK." } $ cat dummy.cfg define command { command_name check_dummy command_line /usr/lib/nagios/plugins/check_dummy $ARG1$ $ARG2$ } $ sudo /etc/init.d/nagios3 restart
ステータスの送信テスト
これで、準備はできたのテストします。
$ printf "%s\t%s\t%s\t%s\n" "localhost" "PASSIVE" "0" "status is 0" | send_nsca -H localhost -c /etc/send_nsca.cfg 1 data packet(s) sent to host successfully. $
“1 data packet(s) sent to host successfully.”が表示されれば成功です。