サーバ監視ツール Nagios 設定 -リモートサーバのリソースを監視する-
UIEJ においても、サーバを監視するためにフリーでかつ実績のあるサーバ・ネットワーク監視ツール Nagiosを導入することにしました。
Nagios を運用する場合、標準ではNagios をインストールしているサーバのリソースと、リモートサーバのポート監視のみが可能で、リモートサーバのリソースを監視することはできません。リモートサーバのリソースを監視する際にはnrpe (Nagios Remote Plugin Executor) と呼ばれるagent をリモートサーバにおき、そのエージェントを通してホストが情報を得ることになります。
具体的には、check_nrpeというプラグインを監視ホスト側に導入し、nrpeエージェントをリモートサーバに配置します。ホストからエージェントへnagios プラグインの実行要求が送られ、それに応じてエージェントがリモートサーバ上でプラグインを実行、情報をホストに返すという流れになります。
簡単にですが、ここにその設定手順をまとめておきます。ホストのnagios はすでに設定されているものとします。今回はホスト、リモートサーバともにOSとしてDebianを利用しました。
-監視サーバ(ホスト)に nrpe プラグインを導入
#apt-get install nagios-nrpe-plugin
->/usr/lib/nagios/plugins/ に check_nrpe が追加
-監視されるサーバ(リモート)にnrpe エージェントを導入
#apt-get install nagios-nrpe-server
->less /etc/nagios/nrpe.cfg が設定ファイル
->本体は/sbin/nrpe
-リモートにNagios のプラグインを導入(Nagios本体は必要なし)
#apt-get install nagios-plugins
-> /etc/nagios-plugins/ 以下に導入される・初期設定を聞かれた場合は適切な情報を入力
-標準設定の場合には、ホスト、クライアントともにポート5666 をあける
-リモートサーバのnrpe.cfg を編集
--IPによるアクセス制限
allowed_hosts=127.0.0.1,ホストのIP
--デフォルトではセキュリティを考慮して引数付きのリクエストは受け付けないようになっている
設定を変更する場合には dont_blame_nrpe=0 の部分を変更。今回はデフォルトのままとしました。
--リモートで実行するコマンド(プラグイン)は、nrpe.cfg 内で定義する
-リモート側は、
#/etc/init.d/nagios-nrpe-server restart
で再起動/設定変更反映。
-ホスト側 /etc/nagios2/checkcommands.cfg でリモートサーバでプラグインを実行するためのコマンドを定義
一例
define command{
command_name check_remote_load
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_load
}
以上のような形でコマンドを登録/運用することで、リモートサーバのディスク容量、プロセス数などもNagiosを用いて監視することが可能になります。