nagiosql3.2.0配置不能实时同步到nagios4.0+的解决方法

1、重启问题:
在nagiosql中向nagios发重启消息,在nagiosql中提示重启命令发送成功,但是nagios的evenlog里没有重启的log。

在nagios的论坛中找到答案,因为nagiosql的重启消息格式还是3.x的,而4.x版本的nagios重启命令格式已经改变。

在nagiosql的verify.php中,将345行进行修改。
nagios作者的回答:
I have checked that. Nagios 4.0.0 has a command queue - this ist located by default: 

/usr/local/nagios/var/rw/nagios.cmd 

But the old NagiosQL command does not work with Nagios 4.0.0. So edit verify.php and modify line 345 from: 

$strCommandString = "[".mktime()."] RESTART_PROGRAM;".mktime(); 

to: 

$strCommandString = "[".mktime()."] RESTART_PROGRAM\n";


2、用nagiosql管理nagios的config,在改动配置,成功写入文件之后,重启不生效。

nagios配置中,有两个配置:

object_cache_file=/usr/local/nagios/var/objects.cache
这里的说明是当nagios启动/重启时,会将配置缓存到objects.cache中。
precached_object_file=/usr/local/nagios/var/objects.precache
如果nagios运行时如果有-u参数,那么会每次读取objects.precache的配置,来加速启动。
而objects.precache的更新是调用./nagios -p实现的。如果启动nagios时带上-u,那么nagios每次接到外部重启命令进行重启时,是从precache文件中将配置load到cache里面,必须在重启nagios之前要运行一次./nagios -p来刷新objects.precache。

解决方法:
1、在prechached注释中提到:If you run Nagios with the -p command line option, it will preprocess your object configuration file(s) and write the cached config to this file. 那么,在每次发送重启信号之前,再运行一下 ./nagios -p 就可以将precached文件刷新。

2、在Nagios启动脚本中,将-u参数去掉,那么nagios就不会从objects.precache中读取配置,而从cfg文件中读取。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值