nagiosインストール備忘録 - 3
参考サイト
NDoutilsの構成
データベースを別にすることもできますけど、ここでは面倒なのでnagiosサーバと同一のサーバで構成します。
NDoutilsのコンパイル
まず、必要なアプリケーションをインストール。MySQLを使用します。
$ sudo yum install mysql-devel mysql-server mysql-client
mysqlは起動しておきます。
$ sudo chkconfig --level 345 mysqld on $ sudo /etc/init.d/mysqld start
mysqlを指定してconfigure; make
$ ./configure --with-mysql-lib=/usr/lib/mysql --prefix=/home/nagios $ make
コンパイルしたNDoutilsのモジュールをコピー
$ cp -p src/ndomod-3x.o /home/nagios/bin/ndomod.o $ cp -p config/ndomod.cfg /home/nagios/etc/ $ cp -p src/ndo2db-3x /home/nagios/bin/ndo2db $ cp -p config/ndo2db.cfg /home/nagios/etc/ $ sudo chown nagios.nagios /home/nagios/bin/ndomod.o /home/nagios/etc/ndomod.cfg /home/nagios/bin/ndo2db /home/nagios/etc/ndo2db.cfg
データベースを作成
データベース名は ndoutils、ユーザは nagios、パスワードはとりあえずなし。
./installdbでfailedが出るが、table作る前にsqlを実行している箇所がエラーになっているだけなので特に問題ない。
$ mysql -uroot mysql> create database ndoutils; mysql> GRANT ALL PRIVILEGES ON ndoutils.* TO nagios@localhost IDENTIFIED BY '' WITH GRANT OPTION; mysql> FLUSH PRIVILEGES; $ cd db/ $ ./installdb -u nagios -p "" -h localhost -d ndoutils DBD::mysql::db do failed: Table 'ndoutils.nagios_dbversion' doesn't exist at ./installdb line 51. ** Creating tables for version 1.4b7 Using mysql.sql for installation... ** Updating table nagios_dbversion Done!
NDoutilsの定義ファイルを変更
データベースを更新するndo2dbデーモンに接続するブローカーモジュール(ndomod.o)の設定をします。
$ vim /home/nagios/etc/ndomod.cfg output_type=tcpsocket #output_type=unixsocket output=127.0.0.1 #output=/usr/local/nagios/var/ndo.dat
nagios.cfgにブローカーモジュールの場所を。
$ vim /home/nagios/etc/nagios.cfg broker_module=/home/nagios/bin/ndomod.o config_file=/home/nagios/etc/ndomod.cfg
ndo2dbデーモンの設定をします。
$ vim /home/nagios/etc/ndo2db.cfg db_name=ndoutils db_user=nagios db_pass=
init-scriptを設定します。ndouitlsのソースの中に、suse用のinit-scriptがあるので、パスなどを修正して/etc/init.dに配置します。
ndoutilsという名前で/etc/init.dにコピーしてください。
#!/bin/sh # Startup script for NDO2DB # Activate with: insserv /etc/init.d/ndo2db # Use: /etc/init.d/ndo2db stop | start # Contributed by Bruno Quintais start() { su - nagios -c "/home/nagios/bin/ndo2db -c /home/nagios/etc/ndo2db.cfg" } stop() { su - nagios -c "killall -9 ndo2db" } case $1 in start) start ;; stop) stop ;; restart) stop; start ;; *) exit 1;; esac exit 0
ログを確認。dbも中身をみて確認。
$ cat /home/nagios/var/nagios.log 707 [1221771348] Event broker module '/home/nagios/bin/ndomod.o' deinitialized successfully. 708 [1221771348] Nagios 3.0.3 starting... (PID=25755) 709 [1221771348] Local time is Fri Sep 19 05:55:48 JST 2008 710 [1221771348] LOG VERSION: 2.0 711 [1221771348] ndomod: NDOMOD 1.4b7 (10-31-2007) Copyright (c) 2005-2007 Ethan Galstad (nagios@nagios. org) 712 [1221771348] ndomod: Successfully connected to data sink. 0 queued items to flush. 713 [1221771348] Event broker module '/home/nagios/bin/ndomod.o' initialized successfully. $ mysql -unagios mysql> use ndoutils; mysql> select host_id from nagios_hosts; +---------+ | host_id | +---------+ | 43 | | 44 | | 45 | | 46 | | 47 | | 48 | | 49 | +---------+