检查安装是否正确
- tail -20 /usr/local/nagios/var/nagios.log
[1242971625] ndomod: Successfully flushed 80 queued items to data sink.
[1242971625] ndomod: Error writing to data sink! Some output may get lost…
如果提示中有 ndomod:Successfully connected to data sink
又有 ndomod:Errot writing to data sink! Some output may get lost..
则最可能的问题是:
db_user=root
db_pass=root
这两个都是在 前面的#./installdb -u root -p root -h localhost -d nagios中指定的,如果不正确,就会出现上面的问题。
ndoutils安装完成之后,配置文件如下:
# vi/usr/local/nagios/etc/ndo2db.cfg
ndo2db_user=nagios //安装完成时提示的数据库的用户和密码
ndo2db_group=nagios
#socket_type=unix
socket_type=tcp
db_user=root // 在前面的 #./installdb -u root -p root -h localhost -d nagios 中指定的
db_pass=root
注意:
ndo2db_user=nagios //安装完成时提示的数据库的用户和用户组
ndo2db_group=nagios
生成ndoutils所需要的数据库时用到下面的命令,则db_user 和db_pass 就是下面设置的,否则报错。
#cd db
# ./installdb -u root -p root -h localhost -d nagios
# vi/usr/local/nagios/etc/nagios.cfg
#复制下面内容粘贴到 #broker_module= ...下面。
# 注意 broker_module=和 config_file是在一行上
broker_module=/usr/local/nagios/bin/ndomod-3x.oconfig_file=/usr/local/nagios/etc/ndomod.cfg
此外,确保 /usr/local/nagios/etc/nagios.cfg中有如下行出现,否则,请自行添加
event_broker_options=-1//为 Nagios开启 eventbroker
# vi/usr/local/nagios/etc/ndomod.cfg
#output_type=file
output_type=tcpsocket
#output_type=unixsocket
#output=/usr/local/nagios/var/ndo.dat
output=127.0.0.1
#output=/usr/local/nagios/var/ndo.sock
重启:
/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
- Could not bind socket: Address already in use
ps aux|grep ndo2db
如果有,则kill 进程ID,如果没有查看套接字文件是否存在,有则删除
ll /usr/local/nagios/var/ndo.sock
rm /usr/local/nagios/var/ndo.sock重启
/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfgtail /var/log/messages
- Dec 7 14:09:45 localhost nagios: ndomod: Successfully connected to data sink. 10861 items lost, 5000 queued items to flush.
- Dec 7 14:09:45 localhost nagios: ndomod: Successfully flushed 5000 queued items to data sink.
- Dec 7 14:09:45 localhost ndo2db-3x: Successfully connected to MySQL database
解决