Nagios/Icinga:每个 NSClient++ 主机都有不同的密码

Nagios/Icinga:每个 NSClient++ 主机都有不同的密码

是否可以为我在 icinga 配置中定义的每个 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
}

并设置服务:

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 界面查看)。我知道 USERn 宏不会出现在 Web 界面中,但我不知道如何在这里使用它们。有没有一种简单的方法可以做到这一点,而无需创建 3 个不同的服务并在该阶段将密码作为参数传递?

答案1

是的,只需重写命令定义:

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 设置主机变量 (_password) 并使用宏 ($_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
    }

或者如果您想以类似的方式将宏直接添加到命令定义中。

相关内容