開源監控解決方案Nagios+Cacti+PNP4Nagios+NConf+NDOUtils+Nagvis(六)ndoutils安裝

前面的文章已經說過,NDOUtils必須使用2.0的版本才支持nagios4x,比較幸運的是該版本2014年就已經發布。


一.安裝
#tar -axf ndoutils-2.0.0.tar.gz -C /usr/local/src/
#cd /usr/local/src/ndoutils-2.0.0
#./configure --prefix=/usr/local/nagios LDFLAGS=-L/usr/lib64/mysql --with-mysql-inc=/usr/include/mysql --with-mysql-lib=/usr/lib64/mysql --enable-mysql --disable-pgsql --with-ndo2db-user=nagios --with-ndo2db-group=nagios

#make
#cp ./src/ndomod-4x.o /usr/local/nagios/bin/ndomod.o
#cp ./src/ndo2db-4x /usr/local/nagios/bin/ndo2db
#cp ./config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg
#cp ./config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg
#chmod 774 /usr/local/nagios/bin/ndo*
#chown nagios:nagios /usr/local/nagios/bin/ndo*
#cp ./daemon-init /etc/init.d/ndo2db

修改啓動腳本
#vi /etc/init.d/ndo2db

killproc_ndo2db ()
{
#kill $2 $Ndo2dbPID
kill `pidof ndo2db |cut -f1 -d " "` >/dev/null 2>&1
kill `pidof ndo2db |cut -f1 -d " "` >/dev/null 2>&1
}

stop)
echo "Stopping $servicename..."
#pid_ndo2db
killproc_ndo2db
#killproc_ndo2db ndo2db

#chmod +x /etc/init.d/ndo2db
#chkconfig --add ndo2db
#chkconfig --level 35 ndo2db on
#/etc/init.d/ndo2db start

二、初始化數據庫

注意,爲了後面與cacti和nagios結合在一起使用,需將初始化腳本中所有的數據庫表明的前綴由nagios_修改爲npc_
去掉所有“character set latin1”,這裏ndoutils默認建表時,把所有varchar字段默認編碼設置爲latin1(iso-8859-1),latin1是單字節,可以存儲中文,但是顯示會亂碼

這裏使用的數據庫與cacti使用的數據庫必須爲一個數據庫


#mysql -unagios -p nagios</usr/local/src/ndoutils-2.0.0/db/mysql.sql

驗證初始化是否成功:
mysql> use nagios;
mysql> show tables;

三、配置Nagios
(1)修改Nagios配置文件
# vim /usr/local/nagios/etc/nagios.cfg
增加如下配置
broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg

此外,請確保您的/usr/local/nagios/etc/nagios.cfg中有如下行出現,否則,請自行添加:
event_broker_options=-1 //爲Nagios開啓event broker



(2)配置數據庫連接
#vim /usr/local/nagios/etc/ndo2db.cfg

socket_type=tcp

#socket_name=/usr/local/nagios/var/ndo.sock

db_name=nagios

db_user=nagios

db_pass=XXXX

db_prefix=npc_


#vim /usr/local/nagios/etc/ndomod.cfg

output=127.0.0.1

#output=/usr/local/nagios/var/ndo.sock

output_type=tcpsocket

#output=/usr/local/nagios/var/ndo.sock

//啓動測試

#/etc/init.d/ndo2db restart

四、驗證結果
使用官方提供的一個perl腳本可以驗證nagios的監控數據是否成功寫入mysql數據庫,使用前先確認腳本中關於數據庫的配置是否與實際情況相同,如有差異請自行修改
腳本地址http://docs.pnp4nagios.org/_export/code/pnp-0.6/ndo2pnp?codeblock=0

可以查看官網資料http://docs.pnp4nagios.org/pnp-0.6/ndo2pnp

#perl ndo2pnp.pl --user nagios -p XXXX --list-service

wKiom1bRR1yTLofrAAAjpYx_igA958.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章