可以仅覆盖一个 Nagios 主机组的联系人吗?

可以仅覆盖一个 Nagios 主机组的联系人吗?

我所有 Linux 主机的联系人都是adminsNagios contact_group。但对于这台 Linux 主机,我希望contact_group被叫方sandradebug也能收到通知。

问题是,当我添加时,contact_groups sandradebug仍然只会admins收到通知,而不会收到sandradebug

问题

我怎样才能将sandradebug这一主机包括在内,以便通知也发送到那里?

主机模板

define host {
  name                          linux-host
  use                           generic-host
  check_command                 check-host-alive
  notification_interval         4320
  notification_options          d,u,r
  contact_groups                admins
  register                      0
}

主机定义

define host {
  use                     linux-host
  host_name               example
  alias                   example
  address                 10.10.10.10
  hostgroups              default-linux-services
  contact_groups          sandradebug
}

答案1

问题是,当我添加时,contact_groups sandradebug仍然只会admins收到通知,而不会收到 sandradebug

您重启过 Nagios 吗?您的上述配置将覆盖模板值,并且只有sandradebug组会收到这些警报。

我怎样才能将sandradebug这一主机包括在内,以便通知也发送到那里?

对象继承是您正在寻找的:

define host {
    use                     linux-host
    host_name               example
    alias                   example
    address                 10.10.10.10
    hostgroups              default-linux-services
    contact_groups          +sandradebug
}

使用+标志,主机定义使用模板中的数据并将其添加sandradebug到警报中。

答案2

为此,我只需将模板与定义结合起来,因为您只使用一次:

define host {
  use                     generic-host
  host_name               example
  alias                   example
  address                 10.10.10.10
  hostgroups              default-linux-services
  check_command           check-host-alive
  notification_interval   4320
  notification_options    d,u,r
  contact_groups          sandradebug,admins
}

可能发生的情况是您的模板正在覆盖指定的联系人组。

相关内容