是否有可能将不同的密码传递给我在我的icinga configs中定义的每个Windows主机的check_nt / check_nrpe命令? 例如,我有3个Windows主机
define host { use windows-server host_name prod address 10.0.0.1 } define host { use windows-server host_name db address 10.0.0.2 } define host { use windows-server host_name test address 10.0.0.3 }
并build立了一个服务:
define service{ use generic-service host_name prod,db,test service_description Uptime check_command check_nt!UPTIME normal_check_interval 180 }
哪个叫
define command { command_name check_nt command_line /usr/lib/nagios/plugins/check_nt -H '$HOSTADDRESS$' -p 12489 -v '$ARG1$' }
这一切都很好,但我希望能够为每个主机(不能从Web界面查看)设置不同的密码。 我知道USERnmacros没有出现在网页界面,但是我不知道如何在这里使用它们。 有没有一个简单的方法来做到这一点,而不创build3个不同的服务,并在该阶段传递密码作为参数?
是的,只需重写命令定义:
define command { command_name check_nt_pwd command_line /usr/lib/nagios/plugins/check_nt -H '$HOSTADDRESS$' -p 12489 -s '$ARG1$' -v '$ARG2$' }
那么你可以使用三个服务定义,如下所示:
define service{ use generic-service host_name prod service_description Uptime check_command check_nt!PWD1!UPTIME normal_check_interval 180 } define service{ use generic-service host_name db service_description Uptime check_command check_nt!PWD2!UPTIME normal_check_interval 180 }
或者,如果你有一个现代的Nagios设置主机variables(_password),并使用一个macros($ _HOSTPASSWORD $)像这样:
define host { use windows-server host_name prod address 10.0.0.1 _password PWD1 } define service{ use generic-service host_name prod,db,test service_description Uptime check_command check_nt!$_HOSTPASSWORD$!UPTIME normal_check_interval 180 }
或者,如果您想以类似的方式直接将macros添加到命令定义中。