12.20.2011

[Linux]Nagios+DBサーバ連携

NagiosサーバとDBサーバの連携設定をしてたが、
結構はまってしまったので、メモメモ

nagios-3.3.1とndoutils-1.4b9の連携がうまくいかず、
nagiosのバージョンを3.2系に落としたら、すんなり連携したし。。。Orz
まぁ、そんなもんか。。。ちゃんと見てなかった俺が悪いのか(涙


OS: CentOS5.7

■Nagiosサーバ
インストールしたrpm
PHP
php.x86_64
php-cli.x86_64
php-common.x86_64
php-ldap.x86_64
php-snmp.x86_64

SNMP
net-snmp.x86_64
net-snmp-devel.i386
net-snmp-devel.x86_64
net-snmp-libs.x86_64
net-snmp-libs.i386
net-snmp-perl.x86_64
net-snmp-utils.x86_64

GD
gd.x86_64
gd.i386
gd-devel.i386
gd-devel.x86_64

MySQL
mysql.x86_64
mysql-devel.x86_64
perl-DBI.x86_64
perl-DBD-MySQL.x86_64

---------------------------------



Nagios用ユーザ、グループ作成
useradd -c "Nagios Admin" -m nagios
groupadd nagios



ApacheグループにNagiosを入れる
usermod -G nagios apache


ソースファイルの入手、解凍

サイト:http://www.nagios.org/
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz

tar zxvf nagios-3.2.3.tar.gz
cd nagios-3.2.3/


日本語化パッチ入手
ももーいさんとこからDLさせて頂きました^^。
日本語かにする必要なければスキップ

中身を少し修正する必要あり
サイト:http://www.momo-i.org/chapter5/nagios/3.x.html
wget http://ftp.momo-i.org/pub/other/nagios-jp-3.2.3.patch.gz

日本語化パッチ当て


gzip -dc nagios-jp-3.2.3.patch.gz | patch -p1


コンパイル
オプションは環境によって変更ヨロ

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-command-user=apache --with-command-group=apache --with-httpd-conf=/etc/httpd/conf
make all
make install
make install-init
make install-commandmode
make install-config
make install-webconf

rwディレクトリの所有者をnagiosに変更

ls -l /usr/local/nagios/var/
drwxrwsr-x 2 apache apache 4096 12月 20 18:05 rw


chown nagios /usr/local/nagios/var/rw

Nagiosプラグインインストール

サイト: http://www.nagios.org/download/plugins
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz

解凍

tar zxvf nagios-plugins-1.4.15.tar.gz
cd nagios-plugins-1.4.15

コンパイル


./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-command-user=apache --with-command-group=apache --with-httpd-conf=/etc/httpd/conf
make
make install


NDOUtilsインストール
サイト: http://www.nagios.org/download/addons
wget http://sourceforge.net/projects/nagios/files/ndoutils-1.x/ndoutils-1.4b9/ndoutils-1.4b9.tar.gz


解凍

tar zxvf ndoutils-1.4b9.tar.gz
cd ndoutils-1.4b9/

コンパイル
./configure --prefix=/usr/local/nagios
make

ファイルのコピー


cp -p src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o
cp -p config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg
cp -p src/ndo2db-3x /usr/local/nagios/bin/ndo2db
cp -p config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg

ファイルの所有者変更
chown nagios.nagios /usr/local/nagios/bin/ndomod.o /usr/local/nagios/etc/ndomod.cfg /usr/local/nagios/bin/ndo2db /usr/local/nagios/etc/ndo2db.cfg

-------------------------------
Nagiosと接続するDBサーバの設定を行う

DB: MySQL5.5

MySQLにログインする
mysql -u root -p

Nagios用DB作成
CREATE DATABASE nagiosdb;

Nagios用アカウント作成
「ndouser」を「nagiosdb」の権限全てを与える
GRANT ALL PRIVILEGES ON nagiosdb.* TO ndouser@localhost IDENTIFIED BY 'パスワード';
GRANT ALL PRIVILEGES ON nagiosdb.* TO ndouser@"%" IDENTIFIED BY 'パスワード';
FLUSH PRIVILEGES;
-------------------------------
Nagiosサーバに戻り
dbディレクトリに移動
cd /usr/local/src/ndoutils-1.4b9/db/

Nagiosのベース情報をDBに入れ込む
./installdb -u ndouser -p "パスワード" -h DBサーバのIP -d nagiosdb

ちゃんと入れば、下記内容が表示される
DBD::mysql::db do failed: Table 'nagiosdb.nagios_dbversion' doesn't exist at ./installdb line 51.
** Creating tables for version 1.4b9
     Using mysql.sql for installation...
** Updating table nagios_dbversion
Done!

---------------------  ここから各種設定  ---------------------------


ndo2db.cfgの編集

vi /usr/local/nagios/etc/ndo2db.cfg
33 #socket_type=unix
34 socket_type=tcp
85 db_host=ホスト名、IPアドレス
102 db_name=nagiosdb
120 db_user=ndouser
121 db_pass=パスワード
任意でデバッグレベルを変更
163 debug_level=1

Nagios.cfgの編集
vi /usr/local/nagios/etc/nagios.cfg
246 #broker_module=/somewhere/module2.o arg1 arg2=3 debug=0
247 broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg

下記になっているか確認
219 event_broker_options=-1

上記設定後、Nagiosを起動させると、下記の状態になるはず。
ndomodが怒られてるはず。
Nagios 3.2.3 starting... (PID=19466)
Local time is Tue Dec 20 11:38:24 JST 2011
LOG VERSION: 2.0
ndomod: NDOMOD 1.4b9 (10-27-2009) Copyright (c) 2009 Nagios Core Development Team and Community Contributors
ndomod: Could not open data sink!  I'll keep trying, but some output may get lost...
Event broker module '/usr/local/nagios/bin/ndomod.o' initialized successfully.
Finished daemonizing... (New PID=19467)


ndomod.cfgの編集

vi /usr/local/nagios/etc/ndomod.cfg
25 output_type=tcpsocket
26 #output_type=unixsocket

39 output=127.0.0.1
40 #output=/usr/local/nagios/var/ndo.sock




任意で変更
135 #reconnect_warning_interval=15
136 reconnect_warning_interval=900
164 config_output_options=3

ndo2dbの起動
/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg
-----------------------------
ndo2dbの起動スクリプトの作成
cp /usr/local/src/ndoutils-1.4b9/daemon-init /etc/init.d/ndo2db
chmod 755 /etc/init.d/ndo2db

/etc/init.d/ndo2db start

/etc/init.d/ndo2db stop

ファイルの中身は環境に合わせて変更っと。
-----------------------------


起動確認

[root@*** etc]# /etc/init.d/ndo2db start
Starting ndo2db: done.
[root@*** etc]# ps aux |grep ndo2db
nagios   19516  0.0  0.0  54904   700 ?        Ss   11:51   0:00 /usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg
root     19520  0.0  0.0  65408   840 pts/0    R+   11:51   0:00 grep ndo2db


Nagios起動
/etc/init.d/nagios start

ログ確認
tail -30 /usr/local/nagios/var/nagios.log


Event broker module '/usr/local/nagios/bin/ndomod.o' deinitialized successfully.
Nagios 3.2.3 starting... (PID=19560)
Local time is Tue Dec 20 11:53:17 JST 2011
LOG VERSION: 2.0
ndomod: NDOMOD 1.4b9 (10-27-2009) Copyright (c) 2009 Nagios Core Development Team and Community Contributors
ndomod: Successfully connected to data sink.  378 queued items to flush.
ndomod: Successfully flushed 378 queued items to data sink.
Event broker module '/usr/local/nagios/bin/ndomod.o' initialized successfully.
Finished daemonizing... (New PID=19563)


HTTPの設定
Nagiosコンフィグを移動
mv /etc/httpd/conf/nagios.conf /etc/httpd/conf.d/nagios.conf


Nagios用ログインアカウント作成(ベーシック認証)
最初だけ「-c」オプションを指定

htpasswd -c /usr/local/nagios/etc/htpasswd.users アカウント名
パスワードを聞かれるのでなんかいれる
パスワードを聞かれるのでなんかいれる

2個目からは「-c」をはずす
htpasswd /usr/local/nagios/etc/htpasswd.users アカウント名

パスワードを聞かれるのでなんかいれる
パスワードを聞かれるのでなんかいれる

所有者の変更
chown nagios:apache /usr/local/nagios/etc/htpasswd.users


各アカウントのNagiosへのアクセス権限付加
vi /usr/local/nagios/etc/cgi.cfg
119 authorized_for_system_information=アカウント名,アカウント名

131 authorized_for_configuration_information=アカウント名,アカウント名
144 authorized_for_system_commands=アカウント名,アカウント名
157 authorized_for_all_services=アカウント名,アカウント名
158 authorized_for_all_hosts=アカウント名,アカウント名
171 authorized_for_all_service_commands=アカウント名,アカウント名
172 authorized_for_all_host_commands=アカウント名,アカウント名

HTTPプロセスの起動
/etc/init.d/httpd start

Nagiosプロセスの再起動
/etc/init.d/nagios restart

chkconfigに追加

chkconfig --add nagios
chkconfig --add ndo2db


確認

chkconfig --list nagios
nagios          0:off   1:off   2:off   3:on    4:on    5:on    6:off

chkconfig --list ndo2db
ndo2db          0:off   1:off   2:on    3:on    4:on    5:on    6:off


更に運用用詳細設定
vi objects/contacts.cfg
アラートメールの転送先変更
35 email  nagios@localhost        ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******


とりあえず、こんなとこか。。。
時間できたときにでも修正しよう。。。。

0 件のコメント:

コメントを投稿