nagios的nrpe的check_command配置优化

时间:2022-08-22 08:50:52

问题处理了两个小时,MMD,各种问题:

先是出现了check_load的时候说参数错误。

然后我就希望

在nagios客户端获取到命令日志

在这篇:NREP将日志放入message中 的引导下终于解决了

大致意思就是打开了debug模式,会将日志存放到deamon.debug中, 然后只要在syslog.conf中将deamon.debug显示就行了。

看到客户端里面的日志有:

Running command: /usr/local/nagios/libexec/check_load -w -c 

很显然就是命令参数错误

于是我就调整,客户端和服务端的nrpe的参数,发现里面的ARG1,ARG2各种传过来传过去迷糊了。。。

接着我的想法就是索性将check_load的所有参数都由服务端控制,于是有了下面的配置:

客户端:

command[check_load]=/usr/local/nagios/libexec/check_load $ARG1$

服务端:

define command{
command_name check_remote_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$
} define service{
host_name web_218
service_description check-load
check_command check_remote_nrpe!check_load!"-w 7:7:7 -c 15:15:15"
max_check_attempts
normal_check_interval
retry_check_interval
contact_groups admins
notification_interval
notification_options w,u,c,r
}

注意这里check-load service的check_command的最后一个参数的引号必须加上,否则check_remote_nrpe组装command的时候只是原封不动地组装进去的。会变成-c后面的是命令,这就错了。

后来想想,它的好处就是所有参数都由服务端控制,大大增加了便捷性。所以打算其他的监控命令也这样使用。