开源监控解决方案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

你可能感兴趣的:(nagios,ndoutils)