Be the first to like this
From the talk Chris Chandler, Principal Engineer at T-Mobile, gave at Sensu Summit 2018:
We all know and love sensu-client, but there are some times where deploying the client is either sub-optimal (e.g.: a box you don’t control) or impossible (e.g.: appliances, 3rd party services).
I opted to tackle these kind of challenges Serverless-style, running my own code, then shipping the check outcome to the /results API.
Some reasons for going this route include:
- Sometimes you simply need to do more than the community plugins offer, which means you’re already writing custom code anyway. All you need to do is do a POST to the /results API, and boom.
- I didn’t want to manage “bastion” clients that do proxy client style monitors, because I don’t live in a world where I can run Configuration Management tools against boxes at-will. Running in a PaaS/Serverless mode gave me more autonomy to iterate.
- Checks can be more dynamic vs having to re-run Configuration Management to change sensu-client configs. For example, I can pull a list of service endpoints from Service Registry in real-time, then iterate that list in your code. Having to re-trigger Ansible/Chef/Puppet when endpoints light up/die would cause a lot of churn in highly dynamic environments.