如何避免Nagios服务定义中的冗余?

时间:2014-05-30 20:51:27

标签: nagios

我有很多像这样定义的服务:

define service {
    use generic-service
    host_name some.host.com
    service_description Some Description 1
    check_command check_generic!some_task_1
}

define service {
    use generic-service
    host_name some.host.com
    service_description Some Description 2
    check_command check_generic!some_task_2
}
....

我想删除每项服务的冗余部分(use generic-servicehost_name some.host.com)。有没有办法全局分配这些值?

1 个答案:

答案 0 :(得分:1)

不,分组是以相反的方式完成的:您可以在同一个定义中为支票分配多个主机,但每个定义只能定义一个服务。

编辑:有一种黑客的方法可以做到这一点。您可以尝试将主机名放在服务模板中。

这些方面的东西:

define service{
        name                            host1-service 
        use                             generic-service     
        host_name                       host1
        register                        0     ## this marks it as a template##                 
}

然后:

define service {
    use                        host1-service
    service_description        Some Description 1
    check_command              check_generic!some_task_1
}

这不是使用模板配置nagios的预期方法,我建议不要这样做。

最后一点,Icinga2(稳定发布后15天)允许有条件服务和主机检查声明。