我为自定义 nagios 插件编写了一个 bash 脚本,该脚本传递了警告和临界阈值的两个命令参数。当我在本地运行 bash 脚本并传递这两个参数时,它可以正常工作(也由 su 到 nrpe 用户测试过,并且在那里也可以正常工作)。但是,当我在监控服务器上远程运行它时,脚本无法正常工作,这意味着它没有适当地分配警告和临界阈值。
由此,我相信这是一个参数传递问题,但是,我相当确定我已经正确配置了它。我唯一要说的奇怪的事情是,我在远程主机上的 nrpe.cfg 中的命令中添加了 sudo。
设置如下:
远程主机
/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
}
任何帮助都将不胜感激,我已经查看了无数的网站,但似乎无法弄清楚。
谢谢!
答案1
终于搞清楚了,这很简单。如果我及时看到,你的建议会有所帮助。但基本上问题是这一行:
command[customcheck_bash]=/usr/bin/sudo /usr/lib/nagios/plugins/customcheck.sh --warning $ARG1$ --critical $ARG2$
你不需要--warning
和--critical
标志