As Jef mentioned, there’s no feature in Sensu for conditional subscription logic, but you can get quite granular with your subscriptions to achieve a similar result. We’ve started promoting a subscription naming convention in the monitoring checks template project that might be helpful as an example:
In this example, we’ve proposed that all of the linux system checks should publish to the system/linux
subscription, as well as more specific subscriptions such as system/linux/cpu
and system/linux/disk
(etc). The key here is that checks can be published to multiple subscriptions.
When you adopt more robust subscription options in the check templates, this enables more flexibility on the agent side. You can choose how much linux system monitoring (or similar) you want to enable on a per-node basis by joining the system/linux
subscription (to subscribe to all linux system monitoring checks), or to selectively join the individual subscriptions for cpu, memory, disk, etc.
I hope this helps!