監視ツールNagiosを使って、リモートホストのリソース監視(CPU使用率やメモリ使用率、ディスク容量使用率など)を実施する為の設定を行います。
実現する為にNRPE(Nagios Remote Plugin Executor)を導入する事にします。
NRPEは、Nagiosで広く使われているリモートホスト監視用のプラグインです。
監視マネージャ側へのインストール
既にNagiosが稼働している監視マネージャ環境にNRPEをインストールします。バージョンは 2.13 となります。
NRPEのインストールには、SSL Librariesが必要になるので、openssl-develを事前にインストールしておきます。
# yum install openssl-devel
次に、NRPEをダウンロードし、インストールします。
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz # tar zxvf nrpe-2.13.tar.gz # cd nrpe-2.13 # ./configure # make all # make install
NRPEはデフォルトで以下のオプションでインストールされます。
General Options: ------------------------- NRPE port: 5666 NRPE user: nagios NRPE group: nagios Nagios user: nagios Nagios group: nagios
以上で、NRPEが監視マネージャにインストールされました。
監視対象側へのインストール
まずは、OSアカウントを作成します。
# useradd -d /usr/local/nagios/ -M nagios # mkdir /usr/local/nagios # chown nagios:nagios /usr/local/nagios
※ 監視対象側のNRPEは、daemonで起動する設定としたいので、xinetdはインストールしません。
監視マネージャ側と同様に、openssl-develが入っていなかったら事前にインストールしておきます。
次に、NRPEをダウンロードし、インストールします。
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz # tar zxvf nrpe-2.13.tar.gz # cd nrpe-2.13 # ./configure # make nrpe # make install-daemon # make install-daemon-config
次に、Nagios-Pluginsをインストールします。
# wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz # tar zxvf nagios-plugins-1.4.16.tar.gz # cd nagios-plugins-1.4.16 # ./configure --with-nagios-user=nagios --with-nagios-group=nagios # make # make install
以上で、Nagios-Pluginsのインストールは完了です。
監視対象側の設定と起動
/usr/local/nagios/etc/nrpe.cfg が、監視対象側のNRPE設定ファイルになります。
allowed_hosts にはデフォルトで 127.0.0.1 だけが指定されているので、Nagiosサーバのアドレスを追加します。(コンマ区切り)
次に、nrpe の起動スクリプトを準備します。
# cp /usr/local/src/nrpe-2.13/init-script /etc/rc.d/init.d/nrpe # chmod 755 /etc/rc.d/init.d/nrpe # /etc/init.d/nrpe Usage: nrpe {start|stop|restart|status} # /etc/init.d/nrpe status nrpe is stopped # /etc/init.d/nrpe start Starting nrpe: [ OK ] # /etc/init.d/nrpe status nrpe (pid 8273) is running... #
ディスク使用率を監視する為に、監視対象のディスク情報を確認します。
# df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 8.0G 2.6G 5.4G 32% / tmpfs 298M 0 298M 0% /dev/shm #
以下の設定を監視対象サーバの nrpe.cfg に設定します。
command[check_xvda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/xvda1
監視対象サーバのNagios設定は以上です。
別途、環境によっては、監視マネージャから監視対象サーバに対するアクセス許可をFireWallで設定する必要があります。監視対象サーバの NRPE は、デーモンとして TCPポート5666 で起動していますので、許可設定を施します。(設定は nrpe.cfg にて「server_port=5666」で設定されています。)
監視マネージャ側の設定
まず、/usr/local/nagios/etc/objects/commands.cfg ファイルに nrpe 設定を追加します。追加内容は以下となります。
define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }
次に、監視対象サーバ用の設定ファイルに、以下の設定を追加します。
define service{ use local-service ; Name of service template to use host_name aws-ec2 service_description Disk check xvda1 check_command check_nrpe!check_xvda1 notifications_enabled 0 }
設定は以上となります。Nagiosの設定ファイルの検証を行います。
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
問題なければ、Nagiosを再起動します。
以上で、Nagios画面でリモートホストのディスク使用率が確認できました。
CPU使用率やメモリ使用率についても、同じ手法で監視できると思います。