ksaitoの日記

日々試したことの覚え書き

nagios3のパッシブチェックを設定する

移転しました。

自動的にリダイレクトします。

パッシブチェックは、常時起動していないマシンやネットワークの構成上、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."が表示されれば成功です。