把parameter passing给nrpe

远程主机nrpe.conf

command[check_users]=/usr/lib64/nagios/plugins/check_users -w $ARG1$ -c $ARG2$ 

监测主机:

 define command{ command_name check_nrpe command_line /usr/lib64/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$ } define service{ use local-service ; Name of service template to use hostgroup_name linux-servers service_description Current Users check_command check_nrpe!check_users!15!20 } 

我得到这个configuration的使用错误,请帮助

check_nrpe!check_users!15!20更改为check_nrpe!check_users!"15 20"

就目前的configuration而言,就Nagios而言:

 ARG1 = check_users ARG2 = 15 ARG3 = 20 

但是那么你的命令只使用ARG1ARG2 ,所以20不会传递给NRPE。

你希望ARG2是"15 20" ,然后NRPE在接收端将被分成两个ARG。

您可以尝试将实际值作为阈值,在远程主机上的nrpe.cfg / nrpe.conf中代替$ ARG1 $和$ ARG2 $。

例如: command [check_users] = / usr / lib64 / nagios / plugins / check_users -w 15 -c 20

除此之外,请确认是否:

  1. 在监视主机的commands.cfg中正确定义了Check_Users命令。

  2. 检查configuration文件中使用的插件path(check_users)是否正确,权限设置是否正确。

rest似乎是好的,如果以上不起作用,然后粘贴实际的错误。