У меня есть группа хостов A, для которой несколько служб определены с помощью hostgroup_name
в своем шаблоне службы. Среди нескольких других групп хостов, хосты которых также являются членами группы хостов A, есть одна группа хостов, для которой я хочу переопределить одну из служб, которую она неявно наследует от группы хостов A. Возможно ли это?
Я попытался определить службу для этой конкретной группы хостов с тем же описанием службы, но это не дало результата.
Я также безуспешно пытался исключить группу хостов из упомянутого шаблона службы. Группа хостов, в которой я хочу переопределить службу, определяется после шаблона службы и, следовательно, !hostgroup-b
не может быть расширен.
Есть ли простое решение этой проблемы или мне следует реорганизовать свои конфиги?
Пример:
# hostgroup-a.cfg
# hostgroup A
define hostgroup {
hostgroup_name hostgroup-a
}
define host {
name host-a
register 0
use linux-server
hostgroups hostgroup-a
}
# service template for services for hostgroup A
define service {
name hostgroup-a-service
register 0
use generic-service
hostgroup_name hostgroup-a
}
# PING example service
define service {
use hostgroup-a-service
service_description PING
check_command check-host-alive
}
Для следующей группы хостов я хочу удалить или переопределить PING
сервис, неявно унаследованный от hostgroup-a
.
# hostgroup-b.cfg
# hostgroup b
define hostgroup {
hostgroup_name hostgroup-b
}
define host {
name host-b
use host-a
register 0
hostgroups +hostgroup-b
}
Я решил, что моя конфигурация слишком сложна, поэтому я просто удалил неявно унаследованные службы, которые я хотел переопределить, и определил их отдельно для каждой группы хостов, чтобы уменьшить сложность. Так легче обслуживать.