如何在 Nagios 中根据主机而不是服务发送通知?

如何在 Nagios 中根据主机而不是服务发送通知?

谁会收到通知是在服务和主机定义中定义的,但我希望它仅在 pr 主机级别上定义。

contact_groups因此,主机中的任何人都会收到所有服务通知。

对于这个特定的主机定义,example我喜欢这些组adminssandradebug接收所有主机和服务通知。

那可能吗?

典型主机定义

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

所有 Linux 主机都获得的服务检查

define service {
  use                     generic-service
  name                    check_disks
  service_description     Check Disk
  check_command           check_nrpe!check_disk
  contact_groups          linux-admins
  hostgroup_name          default-linux-services
}

不知道这是做什么的,或者为什么需要它

define hostgroup {
  hostgroup_name  default-linux-services
  alias           All Linux hosts shall have these service checks
  members         
}

服务模板

define service{
  name                            generic-service
  active_checks_enabled           1
  passive_checks_enabled          1
  parallelize_check               1
  obsess_over_service             1
  check_freshness                 0
  notifications_enabled           1
  event_handler_enabled           1
  flap_detection_enabled          1
  failure_prediction_enabled      1
  process_perf_data               1
  retain_status_information       1
  retain_nonstatus_information    1
  is_volatile                     0
  check_period                    24x7
  max_check_attempts              3
  normal_check_interval           10
  retry_check_interval            2
  contact_groups                  admins
  notification_options            w,u,c,r
  notification_interval           60
  notification_period             24x7
  register                        0
}

答案1

我猜想添加一个contact然后添加contacts +sandradebug你的主机定义应该就可以了。这是对象定义

您还可以设置contactgrouplinux-admins 和contactsandradebug

然后为 linux-admins 和 sandradebug 创建一个联系人组,例如

define contactgroup{
contactgroup_name   everyone
alias   alias
members sandradebug
contactgroup_members    linux-admins
    }

更简单的解决方案可能是仅添加以逗号分隔的联系人组或联系人。

编辑2:

几个主机的示例

定义主机 { 使用 linux-host 主机名示例别名示例地址 10.10.10.10 主机组默认 linux 服务联系人 +sandradebug }

或者你可以将其添加到服务中

define service {
  use                     generic-service
  name                    check_disks
  service_description     Check Disk
  check_command           check_nrpe!check_disk
  contact_groups          linux-admins
  hostgroup_name          default-linux-services
  contacts                +sandradebug
}

如果您有许多主机想要执行此操作,请创建一个联系人组并将其分别纳入主机和服务组

相关内容