you might know Icinga2 and the Monitoring as Code approach.
I know with hostgroups you can do some kind of dynamic check assignment, but it would be nice to have more flexible options.
In Icinga2 you can do things like
Code: Select all
assign where match("*has gold support 24x7*", service.notes) && (host.vars.customer == "customer-xy" || host.vars.always_notify == true)Code: Select all
if (host.vars.environment == "dev") {
check_interval = 30m
} else {
check_interval = 5m
}