默认重新通知间隔为 30m,可以通过Notification对象更改。但它会影响所有服务。
我想将关键服务的重新通知间隔设置为 5m,并为低优先级禁用重新通知,其余服务保留默认的 30m。
在这里找到了类似的讨论,但还没有解决方案: https ://www.reddit.com/r/icinga/comments/73uc8s/setting_notification_interval_icingaweb2/
默认重新通知间隔为 30m,可以通过Notification对象更改。但它会影响所有服务。
我想将关键服务的重新通知间隔设置为 5m,并为低优先级禁用重新通知,其余服务保留默认的 30m。
在这里找到了类似的讨论,但还没有解决方案: https ://www.reddit.com/r/icinga/comments/73uc8s/setting_notification_interval_icingaweb2/
找到了一种间接方法来实现这一点,使用在 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