We can’t use the server name to differentiate their down times, but I could use an annotation on the entity and add some filtering to the keepalive handler. It does mean adding a special case for each set of downtimes (7-7, 11-7, weekdays, all week etc)
A single silenced by subscription would cover all events for any downtime of these servers - but are keepalives not processed as part of a subscription?
So keepalives are a bit of a special beast inside of Sensu. They’re the only thing that agents ship with, so trying to handle them via subscription is not really an option. The other thing, if you wanted to keep it real simple, is just turn on deregistration on the agent side (see https://docs.sensu.io/sensu-go/5.15/reference/agent/#ephemeral-agent-configuration-flags). If you do that for servers you know are being shut down, it’ll depopulate them from the dashboard altogether. That reference doc also has some other attributes you could look at tweaking, like keepalive-timeout, but it sounds like just enabling deregistration would be the simplest way to handle things. And then when you turn the servers back on, the agents will report back in and carry on like normal.