nrpe で nagios の監視項目を増やす
基本的には、監視対象のマシンに nagios-nrpe-server をインストールして /etc/nagios/nrpc.cfg の allowed_hosts を nagios のサーバーが動いているコンピュータの IP アドレスに変更すれば良い。
コマンドについて
nagios には、シェルで実行できるコマンド、 そのコマンドを使って定義された nagios のコマンド、 nrpe で実行するためのコマンドがある。 どうかすると、同じ名前がついていて、引数の与え方がこんがらがるので注意。
監視対象のコンピュータでの設定
インストール
apt-get install nagios-nrpe-server nagios-nrpe-plugin
nrpe サーバーの確認
単に
/usr/lib/nagios/plugins/check_nrpe -H 127.0.0.1
とやって nrpe のサーバーに接続できるかを確認する。 127.0.0.1 を指定するとローカルホストの nrpe サーバーに接続できるかを確認することができる。 ネットワーク越しにデータを取得するには、対象の IP アドレスを指定すれば良い。
コマンドのパラメータ
check_nrpe は nrpe.cfg に定義されているコマンドを実行する。 コマンドのパラメータを変更したい場合は nrpe.cfg でコマンドの定義自体を変更する。
コマンドの引数を指定可能にする
nrpe.cfg で
dont_blame_nrpe=1
としてから nrpe で使われるコマンドの定義を変える。
/etc/nagios-plugins/config/check_nrpe.cfg には 標準で check_nrpe と check_nrpe_1arg がある。
リモートホストからの接続を許す
/etc/nagios/nrpe.cfg の allowed_hosts にリモートホストの IP アドレスを記述する。 複数の IP アドレスを指定するには、コンマで区切る (http://ameblo.jp/koexuka/entry-10172503645.html)。 nrpe で使えるコマンドは nrpe.cfg で設定されているので、 コマンドの設定の部分は他の対象のコンピュータから コピーして同じものを使う。
サーバー側の設定
サーバー
Nagios サーバーの方で check_nrpe を使う。
define service{ use every15min host_name your_host_name service_description Current Load check_command check_nrpe!check_load!1.5!1.5!1.5!3!3!3 }
15分間隔で実行するように every15min を定義し、ここで使用している。
nrpe.cfg の中で
command[check_load]=/usr/lib/nagios/plugins/check_load -w $ARG1$ -c $ARG2$
として引数をとるコマンドを使っている。
コマンドの実行確認
/usr/lib/nagios/plugins/check_nrpe -H localhost -c check_load
のようにすれば良い。