1、检查ndo2db的进程是不是二个
nagios   16825  0.0  0.1   6784   396 ?        Ss   19:05   0:00 /usr/local/nagios/bin/ndo2db -c /usr/l
nagios   17032  0.0  0.3   6784  1268 ?        S    19:09   0:00 /usr/local/nagios/bin/ndo2db -c
2、检查nagios.log日志看看最后有没有
could not safely copy module '/usr/local/nagios/bin/ndomod-3x.o' 这样的错误
如果是下面这样是正确的
ndomod: NDOMOD 1.4b7 (10-31-2007) Copyright (c) 2005-2007 Ethan Galstad (nagios@nagios.org)
[1272020945] ndomod: Successfully connected to data sink.  4897 queued items to flush.
[1272020951] ndomod: Successfully flushed 4897 queued items to data sink.
[1272020951] Event broker module '/usr/local/nagios/bin/ndomod-3x.o' initialized successfully.
上面只是检查工作,解决方法如下
1、安装nagios3.0 如果是2.9的朋友可以升级安装、升级安装方法的方法很简单

#cd /usr/local/
#cp -r nagios/ nagios2.9
#cd /etc/init.d/
#cd nagios nagios2.9
#cp nagios nagios2.9
#tar -zvxf nagios-3.0.3.tar.gz
#cd nagios-3.0.3
# ./configure --with-command-group=nagios
#make all
#make install
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
可能会报comments downtime警告信息一个错误critical
   vi /usr/local/nagios/etc/nagios.cfg
#comment_file=/usr/local/nagios/var/comments.dat 加上#
#downtime_file=/usr/local/nagios/var/downtime.dat 加上#

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 在执行就不会报了
然后在执行下面
cd /usr/local/nagios/var/
cat comments.dat >>retention.dat
cat downtime.dat >>retention.dat
critical错误解决
check_result_buffer_slots=4096 加上#
service nagios restart
2、ndoutils-1.4b7安装此版块、其他版本可能会出程序问题、安装方法如下
tar zxvf ndoutils-1.4b7.tar.gz
cd ndoutils-1.4b7
./configure --with-mysql-lib=/usr/lib/mysql/ --with-mysql-inc=/usr/include/mysql/
cp ndomod-3x.o /usr/local/nagios/bin/ndomod-3x.o
cp ndo2db-3x /usr/local/nagios/bin/ndo2db
cp ndo2db.cfg /usr/local/nagios/etc/
cp ndomod.cfg /usr/local/nagios/etc/
进入拷贝的目录给文件加入到nagios用户组
chown nagios:nagios ndo2db.cfg ndomod.cfg
chown nagios:nagios ndomod-3x.o  ndo2db

然后修改ndo2db.cfg  ndomod.cfg配置文件
cat /usr/local/nagios/etc/ndo2db.cfg |grep -v '^#'|sed /^$/d
ndo2db_user=nagios
ndo2db_group=nagios
socket_type=tcp
socket_name=/usr/local/nagios/var/ndo.sock
tcp_port=5668
db_servertype=mysql
db_host=127.0.0.1
db_port=3306
db_name=cacti
db_prefix=npc_
db_user=cactiuer
db_pass=cactiuser
max_timedevents_age=1440
max_systemcommands_age=10080
max_servicechecks_age=10080
max_hostchecks_age=10080
max_eventhandlers_age=44640
debug_level=1
debug_verbosity=1
debug_file=/usr/local/nagios/var/ndo2db.debug
max_debug_file_size=1000000

cat /usr/local/nagios/etc/ndomod.cfg |grep -v '^#'|sed /^$/d
instance_name=default
output_type=tcpsocket
output=127.0.0.1
tcp_port=5668
output_buffer_items=5000
buffer_file=/usr/local/nagios/var/ndomod.tmp
file_rotation_interval=14400
file_rotation_timeout=60
reconnect_interval=15
reconnect_warning_interval=15
data_processing_options=-1
config_output_options=2

最后看nagios.cfg最后一行配置文件是否正确
broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg
这行要和文件和路径对应好

修改完成后重启ndo2db
kill ndo2db运行的进程
/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg 然后执行重启
ps aux
nagios   16825  0.0  0.1   6784   396 ?        Ss   19:05   0:00 /usr/local/nagios/bin/ndo2db -c
nagios   17032  0.0  0.3   6784  1268 ?        S    19:09   0:00 /usr/local/nagios/bin/ndo2db -c
如果是这样说明ndo2db运行正常

胸牌制作     会员卡制作