nagiosubuntu

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.”が表示されれば成功です。

タイトルとURLをコピーしました