我有很多像这样定义的服务:
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-service
和host_name some.host.com
)。有没有办法全局分配这些值?
答案 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天)允许有条件服务和主机检查声明。