Deletions are marked like this. | Additions are marked like this. |
Line 39: | Line 39: |
=== nagios.cfg === nagios.cfgが設定ファイルの総元締めとなっている。このファイルで、以下のような記述を行って他の設定ファイルをインクルードしている。 {{{ # You can specify individual object config files as shown below: cfg_file=/etc/nagios/objects/commands.cfg cfg_file=/etc/nagios/objects/contacts.cfg cfg_file=/etc/nagios/objects/timeperiods.cfg cfg_file=/etc/nagios/objects/templates.cfg # Definitions for monitoring the local (Linux) host cfg_file=/etc/nagios/objects/localhost.cfg # Definitions for monitoring a Windows machine #cfg_file=/etc/nagios/objects/windows.cfg }}} この例の最後の行は#でコメントアウトされているが、つまりobjectsにあらかじめ用意されているファイルであっても、使用されていないものがあることに注意。 |
nagios
概要
http://www.atmarkit.co.jp/flinux/prodreview/tool_nagios/nagios01.html
http://www.atmarkit.co.jp/flinux/prodreview/tool_nagios/nagios02.html
要するに、以下ということ?
- nagiosデーモンがシステムを監視する(監視対象としてはプラグインで広げることができる)。
- 何か異常があれば、管理者にメールで通知。
- 現在の状況はnagiosのウェブサービスにて確認できる。
インストール
CentOS 6.2にrpmでインストール。
- epelレポジトリを追加。
- yum install nagiosでインストール
構築済の環境にもよると思うが、nagios, nagios-common, gdがインストールされる。
プラグインの種類は以下で確認
yum list | grep nagios
※上記でインストールしたnagiosのデフォルトの設定ファイルには、プラグインのインストールを前提としたものがあるらしい。 したがって、この状態でnagiosを動作させると、監視対象が「CRITICAL」「(Return code of 127 is out of bounds - plugin may be missing) 」というステータスになる。
設定
/etc/nagios
nagiosの各種設定ファイルがある。
nagios.cfg
nagios.cfgが設定ファイルの総元締めとなっている。このファイルで、以下のような記述を行って他の設定ファイルをインクルードしている。
# You can specify individual object config files as shown below: cfg_file=/etc/nagios/objects/commands.cfg cfg_file=/etc/nagios/objects/contacts.cfg cfg_file=/etc/nagios/objects/timeperiods.cfg cfg_file=/etc/nagios/objects/templates.cfg # Definitions for monitoring the local (Linux) host cfg_file=/etc/nagios/objects/localhost.cfg # Definitions for monitoring a Windows machine #cfg_file=/etc/nagios/objects/windows.cfg
この例の最後の行は#でコメントアウトされているが、つまりobjectsにあらかじめ用意されているファイルであっても、使用されていないものがあることに注意。
管理者メールアドレス
/etc/nagios/objects/contact.cfgに、管理者メールアドレスを記述する(デフォルトはnagios@localhostになっている)。
ウェブアプリの認証
後述するように/usr/share/nagios/htmlにnagiosのウェブアプリがある。
これは(デフォルトでは?)BASIC認証で、パスワードファイルは/etc/nagios/passwdになっており、nagiosadmin/nagiosadminであるので、パスワードを変更しておく。
cd /etc/nagios rm passwd htpasswd -c passwd nagiosadmin New password: Re-type new password:
ローカルホストの監視設定
ここではローカルホストのみを監視することにする。これは「/etc/nagios/objects/localhost.cfg」に設定することになるが、後述する。
/usr/share/nagios/html
nagiosの管理画面ウェブサイトは/usr/share/nagios/htmlに格納されている。 インストール時に、/etc/httpd/conf.d/nagios.confが既に作成されているので、気に入らない場合は削除するか、名前を変更する。
ともあれ、これを表示できるようにhttpdを設定する。 先述したように、BASIC認証ファイルの/etc/nagios/passwdを変更すること。
設定ファイルのチェックと起動
nagios -v /etc/nagios/nagios.cfg
で設定ファイルをチェックする。
chkconfig nagios on service nagios start
で起動する。
この状態でnagiosの管理者画面を見ると、Hostsメニューにはlocalhostのみが登録されており、StatusがDOWNになっている。 また、管理者側にAlertがメールされる。
これは、nagiosのデフォルト設定が各種プラグインのインストールを前提としているにも関わらず、プラグインがインストールされていないため。
ローカルホストの監視設定
「/etc/nagios/objects/localhost.cfg」を見ると「define service」が8つ定義されている。一方nagiosの管理画面のServicesを見ると、localhostについて、これらのサービスのStatusがCRITICAL(Return code of 127 is out of bounds - plugin may be missing)になっていることがわかる。
つまり、localhostについてこれらのサービスを監視する設定になっているにも関わらず、監視用のプラグインがインストールされていない。
不要なサービスを除去するか、あるいは監視用のプラグインをインストールし、nagiosを再起動する必要がある。
サービスの無効化
localhost.cfgに記述したまま管理画面からdisabledにする方法もあるようだが、ここではlocalhost.cfgから除去することにする。
とりあえず、PING,Curernt Load,HTTP以外はコメントアウトし、プラグインをインストールする。
※PINGはいらないと思うが、これが無いとHostがDOWN状態のままで表示される。調べるのも面倒なので入れておく。
yum install nagios-plugins-load nagios-plugins-http nagios-plugins-ping
設定をチェックして再起動
nagios -v /etc/nagios/nagios/cfg service nagios restart
管理画面を見てみると、すぐにはOKにはならない。しばらく待つ必要がある。
check_local_loadの設定
localhost.cfgの「Current Load」の設定を見ると「check_local_load!5.0,4.0.3.0!10.0,6.0,4.0」という値になっているが、これでは大きすぎるので、値を小さくする。