You can directly apply downtimes to Service objects, too. Even if you use host’s custom variables to assign the rule.
see the docs: https://icinga.com/docs/icinga2/latest/doc/08-advanced-topics/#recurring-downtimes
apply ScheduledDowntime "my-fancy-downtime" to Service {
author = "icingaadmin"
comment = "Scheduled downtime for backup"
ranges = {
monday = "02:00-03:00"
tuesday = "02:00-03:00"
wednesday = "02:00-03:00"
thursday = "02:00-03:00"
friday = "02:00-03:00"
saturday = "02:00-03:00"
sunday = "02:00-03:00"
}
assign where "team" in host.groups
}
I have a parallel thread open right now. On at least one host, Icinga2 still sends notification, even if the services are in a downtime. On another one the notifications are not sent. See PROBLEM notification sent during recurring downtime