tools team/tools/Nagios

ports を使うのが一番簡単。なので以下その方法でとりあえず監視できるところまで持って行く手順について説明します。

nagios と nagios-plugins のインストール

# cd /usr/ports/net-mgmt/nagios
# make install
cd /usr/ports/net-mgmt/nagios && make config;
... ざっくり省略 ...
===>   Returning to build of nagios-3.0.6_3
pw: unknown group `nagios'
You need a "nagios" group.
Would you like me to create it [YES]? yes
Done.
pw: no such user `nagios'
You need a "nagios" user.
Would you like me to create it [YES]? yes
===>   Generating temporary packing list
===>  Checking if net-mgmt/nagios already installed
cd ./base && make install
... ざっくり省略 ...

nagios-plugins は依存関係から nagios をインストールすると自動的にインストールされます。

インストールが終わったらサンプルの設定ファイルをコピーしておく。

# find /usr/local/etc/nagios -name "*-sample" | perl -p -e 'chomp; s/-sample//; system("cp $_-sample $_");'

/etc/rc.conf に

nagios_enable="YES"

を追加。

apache のインストール

# cd /usr/ports/www/apache22
# make install
cd /usr/ports/www/apache22 && make config;
... ざっくり省略 ...

以下の内容の /usr/local/etc/apache22/Includes/nagios.conf を作成する。

ScriptAlias /nagios/cgi-bin "/usr/local/www/nagios/cgi-bin"
<Directory "/usr/local/www/nagios/cgi-bin">
   Options ExecCGI
   AllowOverride None
   Order allow,deny
   Allow from all
   AuthName "Nagios Access"
   AuthType Basic
   AuthUserFile /usr/local/etc/nagios/htpasswd.users
   Require valid-user
</Directory>
Alias /nagios "/usr/local/www/nagios"
<Directory "/usr/local/www/nagios">
   Options None
   AllowOverride None
   Order allow,deny
   Allow from all
   AuthName "Nagios Access"
   AuthType Basic
   AuthUserFile /usr/local/etc/nagios/htpasswd.users
   Require valid-user
</Directory>

認証ファイルを作成。ひょっとしたら rehash しないと htpasswd が見つからないとか言われるかも。

# htpasswd -c /usr/local/etc/nagios/htpasswd.users nagiosadmin
New password: 
Re-type new password: 
Adding password for user nagiosadmin

/etc/rc.conf に

apache22_enable="YES"

を追加。

sh /usr/local/etc/rc.d/apache22 start

で apache を起動。

ひょっとしたら httpd.conf で unique_id_module の LoadModule をコメントアウトしないと起動しないかも。

通知先アドレスの変更

# diff -u /usr/local/etc/nagios/objects/contacts.cfg-sample /usr/local/etc/nagios/objects/contacts.cfg
--- /etc/nagios/objects/contacts.cfg.orig	2010-06-03 17:59:56.000000000 +0900
+++ /etc/nagios/objects/contacts.cfg	2010-06-24 01:31:31.000000000 +0900
@@ -32,7 +32,7 @@
	use	generic-contact		; Inherit default values from generic-contact template (defined above)
	alias	Nagios Admin		; Full name of user
 
-	email	nagios@localhost	; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
+	email	nagios@example.jp	; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
	}

/usr/local/etc/nagios/objects/contacts.cfg の 35 行目近辺にある contact_name が nagiosadmin になっているコンタクト情報の email を適当に変える。あるいは /etc/aliases に "nagios: xxx@example.jp" のような行を追加し newaliases しても良い。

nagios デーモンの起動

まずは設定にエラーがないか確認してみましょう。

# /usr/local/bin/nagios -v /usr/local/etc/nagios/nagios.cfg

Nagios 3.0.6
Copyright (c) 1999-2008 Ethan Galstad (http://www.nagios.org)
Last Modified: 12-01-2008
License: GPL

Reading configuration data...

Running pre-flight check on configuration data...

Checking services...
        Checked 8 services.
Checking hosts...
        Checked 1 hosts.
Checking host groups...
        Checked 1 host groups.
Checking service groups...
        Checked 0 service groups.
Checking contacts...
        Checked 1 contacts.
Checking contact groups...
        Checked 1 contact groups.
Checking service escalations...
        Checked 0 service escalations.
Checking service dependencies...
        Checked 0 service dependencies.
Checking host escalations...
        Checked 0 host escalations.
Checking host dependencies...
        Checked 0 host dependencies.
Checking commands...
        Checked 24 commands.
Checking time periods...
        Checked 5 time periods.
Checking for circular paths between hosts...
Checking for circular host and service dependencies...
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...

Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

Total Errors: が 0 なら大丈夫。 0 じゃなかったらなおす。

大丈夫そうなら nagios デーモンを起動しよう。

# sh /usr/local/etc/rc.d/nagios start
Performing sanity check of nagios configuration: OK
Starting nagios.

確認

てきとうなブラウザから http://(サーバーのアドレス)/nagios/ にアクセスして、ユーザー名: nagiosadmin パスワード: (設定したやつ) でアクセスできるか確認してみる。

左メニューにある "Service Detail" をクリックすると localhost というホストの Current Load, Current Users, ... の状態が表示されるはず。なんだけど、この localhost の情報、いる?自分はいらないと思うんだけど、もしいらなければ /usr/local/etc/nagios/nagios.cfg の 36 行目付近の cfg_file=/usr/local/etc/nagios/objects/localhost.cfg をコメントアウトすると表示されなくなります。ただしなにも監視対象が無くなるとエラーになるので、消すのは次の 簡単な設定 で監視対象を設定してからでも遅くはない。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-06-23 (水) 23:44:57 (2730d)