向 nrpe 传递参数

向 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
}

我使用此配置时出现使用错误,请帮忙

答案1

改成。check_nrpe!check_users!15!20check_nrpe!check_users!"15 20"

就 Nagios 而言,使用您当前的配置:

ARG1 = check_users
ARG2 = 15
ARG3 = 20

但是您的命令仅使用ARG1ARG2,因此20不会传递给NRPE。

您希望 ARG2 为"15 20",然后 NRPE 将在接收端将其拆分为两个 ARG。

答案2

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

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

除此之外,为了确保万无一失,请检查:

  1. 检查用户命令正确定义在命令配置文件在监控主机上。

  2. 检查配置文件中使用的插件(check_users)的路径是否正确以及权限是否设置正确。

其余的似乎都很好,如果上面不起作用,那么粘贴实际的错误。

相关内容