tools team/tools/Nagios

RPMforge からバイナリもらってくるのが一番簡単。なので以下その方法でとりあえず監視できるところまで持って行く手順について説明します。

へんなリポジトリいれて CentOS の Base とぶつかったりしちゃたまらん、というひとは最後にリポジトリ外そう。RPMforge は CentOS の Base のように「バージョンそのままでバグだけ潰す」ポリシーではなく「とりあえずバージョンもかまわず上げる」ポリシーなので yum update 時に急にバージョンがあがってびっくりする、という場合があるので注意。

RPMforge リポジトリの設定

[root@localhost ~]# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm
--2010-06-24 00:44:45--  http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm
packages.sw.be をDNSに問いあわせています... 85.13.226.40
packages.sw.be|85.13.226.40|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Found
場所: http://rpmforge.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm [続く]
--2010-06-24 00:44:46--  http://rpmforge.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/
rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm
rpmforge.sw.be をDNSに問いあわせています... 85.13.226.40
rpmforge.sw.be|85.13.226.40|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 16575 (16K) [application/x-rpm]
`rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm' に保存中

100%[======================================>] 16,575      31.6K/s 時間 0.5s    

2010-06-24 00:44:47 (31.6 KB/s) - `rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm' へ保存完了 [16575/16575]

[root@localhost ~]# rpm -Uvh rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm 
警告: rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 6b8d79e6
準備中...                ########################################### [100%]
   1:rpmforge-release       ########################################### [100%]

i386 の場合は x86_64 を適当に i386 に置き換えてね。

あと rpmforge-release は最新のパッケージが出ている可能性があるのでできれば RPMforge/Using - RPMRepo Wiki をチェック。

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

[root@localhost ~]# yum install nagios nagios-plugins
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: www.ftp.ne.jp
 * base: www.ftp.ne.jp
 * extras: www.ftp.ne.jp
 * rpmforge: fr2.rpmfind.net
 * updates: www.ftp.ne.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package nagios.x86_64 0:3.2.1-4.el5.rf set to be updated
... 省略 ...
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package               Arch        Version                  Repository     Size
================================================================================
Installing:
 nagios                x86_64      3.2.1-4.el5.rf           rpmforge      3.7 M
 nagios-plugins        x86_64      1.4.14-1.el5.rf          rpmforge      1.4 M
Installing for dependencies:
 apr                   x86_64      1.2.7-11.el5_3.1         base          118 k
... 省略 ...
 postgresql-libs       x86_64      8.1.21-1.el5_5.1         updates       196 k

Transaction Summary
================================================================================
Install      20 Package(s)
Upgrade       0 Package(s)

Total size: 12 M
Is this ok [y/N]: y
Downloading Packages:
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897
base/gpgkey                                              | 1.5 kB     00:00     
Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) <centos-5-key@centos.org>" 
from /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : perl-Digest-SHA1                                        1/20 
  Installing     : php-common                                              2/20 
... 省略 ...
  Installing     : nagios-plugins                                         20/20 

Installed:
  nagios.x86_64 0:3.2.1-4.el5.rf     nagios-plugins.x86_64 0:1.4.14-1.el5.rf    

Dependency Installed:
  apr.x86_64 0:1.2.7-11.el5_3.1                                                 
  apr-util.x86_64 0:1.2.7-11.el5                                                
... 省略 ...
  postgresql-libs.x86_64 0:8.1.21-1.el5_5.1                                     

Complete!

RPMforge の削除(必要に応じて)

[root@localhost nagios]# rpm -e rpmforge-release

通知先アドレスの変更

[root@localhost ~]# diff -u /etc/nagios/objects/contacts.cfg.orig /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 ******
	}

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

nagios デーモンの起動

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

[root@localhost ~]# /usr/bin/nagios -v /etc/nagios/nagios.cfg

Nagios Core 3.2.1
Copyright (c) 2009-2010 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 03-09-2010
License: GPL

Website: http://www.nagios.org
Reading configuration data...
   Read main config file okay...
Processing object config file '/etc/nagios/objects/commands.cfg'...
Processing object config file '/etc/nagios/objects/contacts.cfg'...
Processing object config file '/etc/nagios/objects/timeperiods.cfg'...
Processing object config file '/etc/nagios/objects/templates.cfg'...
Processing object config file '/etc/nagios/objects/localhost.cfg'...
   Read object config files okay...

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 デーモンを起動しよう。

[root@localhost ~]# service nagios start
nagios は停止しています
nagios を起動中:                                           [  OK  ]

あと、再起動したときでも自動的に nagios デーモンが起動するよう init の設定を変えよう。

[root@localhost ~]# chkconfig nagios on

apache の準備

/etc/httpd/conf.d/nagios.conf ができているはず。このなかに認証の設定があるので認証ファイルを作る。

[root@localhost ~]# htpasswd -c /etc/nagios/htpasswd.users nagiosadmin
New password: 
Re-type new password: 
Adding password for user nagiosadmin

念のため Apache の起動と init の設定もしておく。

[root@localhost ~]# service httpd start
httpd を起動中:                                            [  OK  ]
[root@localhost ~]# chkconfig httpd on

iptables も開けとく。

 [root@localhost ~]# diff -u /etc/sysconfig/iptables.orig /etc/sysconfig/iptables
---  /etc/sysconfig/iptables.orig	2010-06-24 00:33:37.000000000 +0900
+++ /etc/sysconfig/iptables	2010-06-24 01:50:39.000000000 +0900
@@ -16,5 +16,6 @@
 -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
 -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
+-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
 -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
 COMMIT
[root@localhost ~]# /etc/init.d/iptables restart
ファイアウォールルールを適用中:                            [  OK  ]
チェインポリシーを ACCEPT に設定中filter                   [  OK  ]
iptables モジュールを取り外し中                            [  OK  ]
iptables ファイアウォールルールを適用中:                   [  OK  ]
iptables モジュールを読み込み中ip_conntrack_netbios_ns     [  OK  ]

そうだ SELinux も殺しておこう。なんか説明めんどくさくなってきた。

[root@localhost ~]# diff -u /etc/sysconfig/selinux.orig /etc/sysconfig/selinux
--- /etc/sysconfig/selinux.orig	2010-06-24 01:53:22.000000000 +0900
+++ /etc/sysconfig/selinux	2010-06-24 00:36:42.000000000 +0900
@@ -3,7 +3,7 @@
 #	enforcing - SELinux security policy is enforced.
 #	permissive - SELinux prints warnings instead of enforcing.
 #	disabled - SELinux is fully disabled.
-SELINUX=enforcing
+SELINUX=disabled
 # SELINUXTYPE= type of policy in use. Possible values are:
 #	targeted - Only targeted network daemons are protected.
 #	strict - Full SELinux protection.

確認

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

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


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