Icinga2:每个服务的重新通知间隔

时间:2018-12-27 01:47:09

标签: monitoring icinga2

默认的重新通知间隔是30m,可以通过 Notification 对象进行更改。但这会影响所有服务。

我想将关键服务的重新通知间隔设置为5m,并为低优先级禁用重新通知,其余服务保留默认值30m。

在这里找到了类似的讨论,但还没有解决方案: https://www.reddit.com/r/icinga/comments/73uc8s/setting_notification_interval_icingaweb2/

1 个答案:

答案 0 :(得分:0)

使用Service对象下定义的自定义变量,并通过Notification对象访问它们,找到了一种间接方法来实现此目的。

示例配置如下:

apply Service "service1" {
  # service conf goes here
  vars.notification.interval = 5m
}

apply Service "service2" {
  # service conf goes here
  vars.notification.interval = 2h
}

apply Service "service3" {
  # service conf goes here
  vars.notification.interval = 0
}

apply Service "service4" {
  # service conf goes here
}

apply Notification "notifications1" to Service {
  # notification conf goes here
  interval = (service.vars.notification.interval) || 20m
}

在上面的示例中,重新通知间隔如下:

service1: 5 minutes
service2: 2 hours
service3: Notify once, no re-notificaiton
service4: 20 minutes (System default is 30m, here we modified the default to 20 minutes)

说明:

interval = (service.vars.notification.interval) || 20m

变量interval的值将设置为service.vars.notification.interval(如果存在),否则设置为20m