Hey!
Real quick response to cover some of the things.
If you can share an existing stand-alone check, I can probably show how I’d transition it.
subdues:
yes cron style scheduling is a good approach here.
check_aggregates
There is a check aggregate check plugin now that interacts with the sensu-backend API, aggregating around check label metadata using the API label select commericial feature in the official binaries. https://bonsai.sensu.io/assets/sensu/sensu-aggregate-check
Important note on licensing:
The new pricing model introduced with the 5.15 release, you’ll be able to use the API label selection feature (and all the commercial features in the official binaries) on deployments below 100 entities.
Check dependencies
This is probably the work flow we need to figure out how to re-implement in Sensu Go still.
@bovy89 you should be able to change the check so that the subscription targets just the entity (e.g., entity:your.entity.name.example.com. You could include the user/pass as env vars for the entity and reference those in the check(s).
Ok, but usually standalone checks are dynamically generated on client by a configuration management tool (e.g. Puppet).
Just think at RabbitMQ with multiple vhosts. This script only supports one vhost at time, so I need to call it multiple times, one for each vhost, example (puppet code@client):
I prefer the client-side config as well (using Chef). I ended up making my own solution to enable some more flexibility without having to use tokens or tons of subscriptions.
On the client side I create a new folder named /etc/sensu/commands. That folder has a file with the name of the sensu check (e.g. proc_sshd) which is a one line bash script with the command inside of it, like: /etc/sensu/plugins/check_proc -w 1: -C sshd
Then the check definition on the sensu backend is just a generic: /etc/sensu/commands/proc_sshd
It’s certainly not the most elegant, but it gives me the sensu 1.x parity with ease of config on client side via Chef, using Chef attributes. It also makes it so I can disable a check on just one client, e.g.: /etc/sensu/plugins/check_proc -w 0: -C sshd
or /etc/sensu/plugins/check_dummy 0 "This check is disabled"