我正在尝试configurationNagios以监视FreeSWITCH,如https://github.com/kjhosein/nagios-freeswitch-plugin中所述 。
我已经从git下载脚本,并按照列出的步骤。
在远程(NRPE)服务器上,我在nrpe.cfg文件的下面添加了一行
command[check_freeswitch_health]=/usr/lib64/nagios/plugins/check_freeswitch_health.pl $ARG1$
在Nagios服务器上,添加在commands.cfg文件中
define command { command_name check_freeswitch_health command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_freeswitch_health $ARG1$ }
并在services.cfg文件中
define service { host_name freeswitch01 service_description FreeSWITCH - Calls Count check_command check_freeswitch_health!-a '-q show-calls-count'!!!!!!! }
但是,在Nagios的web界面我越来越
CHECK_NRPE: Received 0 bytes from daemon. Check the remote server logs for error messages.
在远程服务器上,显示以下错误的日志(/ var / log / syslog)
Request contained command arguments! Client request was invalid, bailing out...
我在这里错过了什么? 任何人都可以请帮助我正确的configuration?
谢谢,
Rutu
env -i /usr/lib64/nagios/plugins/check_freeswitch_health.pl ...validationenv -i /usr/lib64/nagios/plugins/check_freeswitch_health.pl ... check_nrpe命令定义,而不是为你想运行的每个不同的NRPE命令写一个check_ {whatever}。 dont_blame_nrpe=1在nrpe.cfg中启用命令参数 例如,如果你的check_nrpe命令如下所示:
define command { command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$ }
那么你的服务定义是:
define service { host_name freeswitch01 service_description FreeSWITCH - Calls Count check_command check_nrpe!check_freeswitch_health!-q show-calls-count }
(你为什么在命令结束时有!!!!!!!)
或者,如果您传递给该perl脚本的唯一选项是-q ,则可以将其放入NRPEconfiguration中的命令定义中:
command[check_freeswitch_health]=/usr/lib64/nagios/plugins/check_freeswitch_health.pl -q $ARG1$
那么你的check_command就是check_nrpe!check_freeswitch_health!show-calls-count