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

のようにすれば良い。

参考

Tags of current page