Vor Kurzem stand ich im Rahmen eines Kundentermins vor der Anforderung noch die Benachrichtigungen für das Icinga 2 Setup umzusetzen. „Soweit kein Problem“ dachte ich mir, allerdings war die genaue Anforderung dann doch etwas speziell: Sowohl bei Hosts als auch bei Services können SLA’s gesetzt werden („gold“, „silver“ oder „bronze“). Wenn bei einem Service kein SLA gesetzt ist, greift das Servicelevel des Hosts. Hier der erste Entwurf dazu:
apply Notification "host-mail-gold" to Host { import "mail-host-notification" period = "gold" users = host.vars.contacts assign where host.vars.sla == "gold" } apply Notification "service-mail-gold" to Service { import "mail-service-notification" period = "gold" users = service.vars.contacts assign where (host.vars.sla == "gold" && ! service.vars.sla) || (service.vars.sla == "gold") }