As part of our mission to improve operator experiences, we’re pleased to announce Bonsai, the Sensu asset index! Bonsai makes discovering and sharing Sensu solutions easier than ever before, and already includes popular integrations like the Sensu Slack, InfluxDB, and PagerDuty handlers.
One of our main objectives with Bonsai is to lower the barrier of entry to Sensu and make it easy to package and share solutions around Sensu. With Sensu Go, we’ve made it much easier to get up and running (no RabbitMQ and Redis, for starters!), and Bonsai allows users to create solutions and easily share what they’ve made with the larger Sensu Community. We’ve long recognized that the greatest untapped resource in the tech industry is the tribal knowledge of operators; by making it easy to share monitoring instrumentation, we aim to unlock that knowledge, empowering folks to share solutions and reduce alert fatigue.
About Bonsai
Bonsai enables you to discover, create, and share Sensu assets for all your monitoring needs. Assets are shareable, reusable packages that make it easy to deploy Sensu plugins in multi-cloud environments. You can use assets to provide the plugins, libraries, and runtimes you need to automate your monitoring workflows.
Tiers for easy reference
There are three tiers of assets:
🌍 Community comprises open-source assets shared by the Sensu Community. Collaborate, share, and star your favorites!
💚 Supported consists of open-source assets supported by Sensu Inc., including supported Slack, PagerDuty, and InfluxDB handlers.
🚀 Enterprise includes hosted assets unlocked with a Sensu enterprise license. To see if you’re an enterprise license holder (or to learn how to get one), check out the Sensu docs.
How to share assets on Bonsai
Bonsai pulls project details and release information from GitHub to populate an asset page. To share an asset on Bonsai, the asset should be in a public GitHub repository that includes:
- GitHub release tags
- bonsai.yml configuration file with the project description, platforms, asset filenames, and checksums
- A helpful README following the asset README template
- A license and code of conduct (feel free to borrow from Sensu Go’s MIT license and community code of conduct)
Going forward, Bonsai automatically keeps in sync with your GitHub releases. Check out our docs for more resources on getting started with Bonsai, including installing Sensu plugins and sharing an asset on Bonsai, and see the Sensu Go plugin template for a quick reference.
See it in action
Here’s how to download an asset definition from Bonsai (in this example, we’re downloading the Slack handler):
Then, create the asset definition in the default namespace using sensuctl
:
To create in another namespace, or make other customizations, you can edit the downloaded asset definition metadata to suit your Sensu Go environment.
Go forth and create (and send us your feedback!)
We hope Bonsai will make it easy for you to find, create, and share Sensu use cases. As always, we value your feedback — join us in Slack and Discourse to let us know your thoughts and ask questions from the Sensu Community. Going forward, we’re looking at ways to integrate sensuctl with Bonsai for direct search and registration of assets from the CLI. And — with help from the Sensu Community — we’d like to package many of the 200+ plugins found here and make them available in Bonsai. In a future post, Developer Advocate Jef Spaleta will walk you through an example of updating the Ruby plugin. Stay tuned!
We discussed Bonsai at our Community Chat on March 20, 2019. Watch the recording here.