我为自定义的nagios插件写了一个bash脚本,它传递了两个用于警告和临界阈值的命令参数。 当我在本地运行bash脚本的同时传递两个参数,它可以正常工作(也由su来testingnrpe用户,并在那里工作)。 但是,当我在监视服务器上远程运行脚本时,脚本无法正常工作,这意味着它不会正确分配警告和临界阈值。
从这个我相信这是一个论证传递的问题,但是,我相当确定我已经configuration正确。 唯一奇怪的是,我已经将sudo添加到远程主机上的nrpe.cfg命令中了。
设置看起来像这样:
远程主机
/etc/nagios/nrpe.cfg
command[customcheck_bash]=/usr/bin/sudo /usr/lib/nagios/plugins/customcheck.sh --warning $ARG1$ --critical $ARG2$
监视服务器
/etc/nagios3/commands.cfg
define command{ command_name customcheck_bash command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$ $ARG3$ }
/etc/nagios3/conf.d/custom_server.cfg
define service { use generic-service host_name client service_description Custom checker check_command check_nrpe!customcheck_bash!10!20 }
任何帮助将不胜感激,我已经看过无数的网站,但似乎无法弄清楚。
谢谢!
终于明白了这一点,是非常微不足道的。 如果我及时看到了,你的build议会有所帮助。 但基本上这个问题是这样的:
command[customcheck_bash]=/usr/bin/sudo /usr/lib/nagios/plugins/customcheck.sh --warning $ARG1$ --critical $ARG2$
你不需要 – --warning和 – --critical标志