監視ツール「Nagios」のインストールと設定について記載します。
※ Nagios Core Fedora Quickstart を参考にさせていただきました。
1.必要となるモジュールの事前インストール
Nagiosをインストールする上で、apache(httpd)やphp、gdライブラリなどが必要になります。私の環境では、gdライブラリだけが未インストールでしたので、yumでインストールを行いました。
# yum install gd gd-devel
gdのインストールだけでも必要となるパッケージが多いので、yumを使うとインストールが非常に楽です。
2.Nagios用のアカウント関連を準備
Nagiosをインストールする前に、必要となるOSアカウントとグループを設定します。
# useradd -m nagios # passwd nagios # groupadd nagcmd # usermod -a -G nagcmd nagios # usermod -a -G nagcmd daemon
上記載の「daemon」は、apacheデーモン用のアカウントです。環境によって「apache」や別のアカウントになるケースもありますので、ご自身の環境に合わせて設定します。
3.Nagiosダウンロードと解凍
インストールはNagiosサイトからダウンロードしたソースコードから行います。
Nagiosで監視を行う為には、モニタリングエンジンのコア部分とWebインターフェースが含まれる「Nagios Core」と、実際に監視を行うモジュールが含まれる「Nagios Plugins」が必要になります。
今回のソースコードのバージョンは、「Nagios Core」は、バージョン3.4.1、「Nagios Plugins」はバージョン1.4.16となります。
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.1.tar.gz # wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz # tar zxvf nagios-3.4.1.tar.gz # tar zxvf nagios-plugins-1.4.16.tar.gz
ここでは、一旦まとめて解凍まで行っていますが、CoreとPluginは別作業で構いません。
4.Nagios Coreのインストール
解凍したNagios Coreをインストールします。
# cd nagios # ./configure --with-command-group=nagcmd # make all # make install # make install-init # make install-config # make install-commandmode # make install-webconf
上記載のとおり、一緒に初期スクリプトなどもインストールします。
5.Nagios Core 作業途中の簡易設定
Pluginsのインストール前に以下の設定を行います。
まず、「/usr/local/nagios/etc/objects/contacts.cfg」ファイルをviで開き、emailセクションに自身のメールアドレスを設定します。
次に、Webインターフェースにアクセスする際の、Basic認証用アカウントを作成します。
# /usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
ちなみに、Nagiosのapache設定サンプルファイルが「/etc/httpd/conf.d/nagios.conf」に配置されています。apacheの設定はまた後ほど行います。
6.Nagios Plugins のインストール
Nagios Pluginsのインストールを行います。
# cd nagios-plugins-1.4.16 # ./configure --with-nagios-user=nagios --with-nagios-group=nagios # make # make install
以上で、インストール作業は終了です。
7.Nagios起動設定
Nagiosの監視モジュールの起動設定を行います。
まず、OS初期起動時にNagiosが起動するように、以下の設定を行います。
# chkconfig nagios on
次に、Nagiosの設定ファイルの検証を行います。
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
configファイルがチェックされ、コンソール上に、「Total Warnings: 0」、「Total Errors: 0」、「Things look okay – No serious problems were detected during the pre-flight check」が表示されれば問題ありません。
8.Nagios起動
Nagiosの監視デーモンを起動します。
# service nagios start Starting nagios: done. # ps -awef|grep -v grep | grep nagios nagios 15544 1 0 13:51 ? 00:00:00 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg nagios 15547 15544 0 13:51 ? 00:00:00 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg nagios 15548 15547 0 13:51 ? 00:00:00 /usr/local/nagios/libexec/check_ping -H 127.0.0.1 -w 3000.0,80% -c 5000.0,100% -p 5 nagios 15549 15548 0 13:51 ? 00:00:00 /bin/ping -n -U -w 30 -c 5 127.0.0.1 #
無事、Nagiosの監視デーモンが起動できました。
9.Nagios Web画面用の設定
NagiosのWeb画面にアクセスする為に、apacheの設定を行います。
Nagios用のapache設定サンプルファイルは、「/etc/httpd/conf.d/nagios.conf」にありますので、このファイルを利用してapache設定を行います。
なお、Nagiosではcgiを使う為、apacheのインストール時にconfigureオプションで「–enable-cgi」を有効にしておく必要があります。また、httpd.conf にて、以下の設定を適切に設定する必要があります。
LoadModule cgi_module modules/mod_cgi.so AddHandler cgi-script .cgi
また、NagiosのWeb画面ではフレームが使われている為、httpd.conf に別途設定していた以下の設定を変更しました。
変更前:Header always append X-FRAME-OPTIONS “DENY”
変更後:Header always append X-FRAME-OPTIONS “SAMEORIGIN”
変更を反映する為に、apacheを再起動します。
その後、NagiosのWeb画面にアクセスできるようになります。
備考
今回の環境では、phpのバージョンの関係上、Web画面を表示する際に問題があり、以下のファイルを少し修正しました。
- /usr/local/nagios/share/index.php(53行目)
- /usr/local/nagios/share/main.php(123行目)
修正した内容は、以下の設定を追加しました。
date_default_timezone_set('Asia/Tokyo');
関連する投稿