nagios ndoutils安装与配置

1.ndoutils安装准备
ndoutils是nagios的一个插件,就是可以用来把nagios的获取的数据存入到mysql数据库中。也可以实现与cacti的插件npc的集成,这个工具的安装是个关键。
(1)nagios环境的准备,以上环境应该是可用的
(2)mysql数据库环境
(3)相关软件包的安装确认
perl-DBD-MySQL
mysql
mysql-devel
php-json-ext-1.2.0.tar.bz2

2. php-json的安装
# tar zxvf php-json-ext-1.2.0.tar.bz2
# cd php-json-ext-1.2.0
# /usr/bin/phpize
# ./configure --with-php-config=/usr/bin/php-config
# make
# make install
# 说明:json库的位置
Installing shared extensions:     /usr/lib/php/modules/
# 把PHP扩展加入配置文件
# vi /etc/php.d/json.ini
extension=json.so

3. ndoutils的安装
# tar zxvf ndoutils-1.4b7.tar.gz
# cd ndoutils-1.4b7
#./configure  --with-mysql-inc=/usr/include/mysql
 --with-mysql-lib=/usr/lib/mysql --enable-mysql  --disable-pgsql
 --with-ndo2db-user=nagios --with-ndo2db-group=nagios

# make
# cd src
# 说明:nagios3.x版本就拷贝ndomod-3x
# cp ndomod-3x.o ndo2db-3x log2ndo file2sock /usr/local/nagios/bin
# cd ../config
# cp ndomod.cfg ndo2db.cfg /usr/local/nagios/etc/

4. 修改配置文件
# vi /usr/local/nagios/etc/ndo2db.cfg
db_name=cacti
db_prefix=npc_
db_host=192.168.0.132
db_user=cacti
db_pass=cacti
debug_level=1
这里是用Cacti在mysql中使用的用户和密码以及数据库,远程数据库的话应正确指定数据库IP,以及用户名帐号权限。

# vi /etc/nagios/ndomod.cfg    # 可以随便指定一个位置
output=/usr/local/nagios/var/ndo.sock
buffer_file=/usr/local/nagios/var/ndomod.tmp

# vi /usr/local/nagios/etc/nagios.cfg
# 以下三条检查一下,默认就是以下内容
check_external_commands = 1
command_check_interval = -1
event_broker_options = -1
process_performance_data=1

# 注意是一行内容
broker_module = /usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg

5. 启动ndoutils,也是最麻烦的一点
(1) ndoutils的先启动

#/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
测试如果出现以下提示,应删除对应sock文件再次启动OK
Could not bind socket: Address already in use

(2) nagios重启
# service nagios restart
说明: 其中的启动日志都记录在/var/log/messages中,可以直接查看有无错误。

 

故障排除:

如果/var/log/message里出现

ndoutils  not connect  则 chown -R nagios.nagios /usr/local/nagios/

若出现:
 Still unable to reconnect to data sink   则  rm -f ndo2db.sock     然后 restart  ndoutils服务

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