Icinga

覆蓋 Icinga 中的隱式繼承服務

  • July 10, 2013

hostgroup_name我有一個主機組 A,使用其服務模​​板中的指令為其定義了幾個服務。在其他幾個主機組也是主機組 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
}

我認為我的配置太複雜了,所以我只是刪除了我想要覆蓋的隱式繼承服務,並為每個主機組單獨定義它們以降低複雜性。這種方式更容易維護。

引用自:https://serverfault.com/questions/521822