ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0
Assets in Sensu 2.0

More Related Content

Editor's Notes

  1. Plugins are what make Sensu Sensu. Sensu is the skeleton, but plugins are the muscles that make motion possible.
  2. They¡¯re the glue you use to connect the different components of your infrastructure. component health is possibly mutated and then sent to handlers that do some kind of reporting metrics events alerts
  3. Sensu was written in Ruby Systems programming language of the past decade Follows that plugins were also primarily written in Ruby
  4. Sensu was born alongside configuration management Considerable automation to deploy and manage Sensu components Does all of the heavy lifting for plugins as well
  5. - There are several components of getting plugins onto hosts
  6. The base of the hierarchy is configuration management It installs the Sensu omnibus Ruby package and Sensu Part of the omnibus package is a tool called sensu-install that we use to install plugins packaged as gems.
  7. Let¡¯s get to 2.0. I have a 3 step program that¡¯s going to change the way you think about plugins.
  8. As I said last year when I spoke about 2.0 We care about our existing users and we¡¯re doing everything we can to make the transition to 2.0 easier. We¡¯re working on a sensu omnibus package that CM can use to install Sensu plugins alongside 2.0.
  9. We want to leverage existing community member expert knowledge so that we¡¯re not pulling the rug out from underneath everyone.
  10. This first step ignores assets completely, though.
  11. So step 2 is, let¡¯s introduce assets into the ecosystem.
  12. Since not everyone understands what assets are, I¡¯d like to give a brief overview of assets and how Sensu 2.0 uses them. An asset is a package for Sensu plugins. Helm charts. Habitat plans. Docker containers. Sensu assets. Packaging. It¡¯s so hot right now.
  13. Assets are a secure, compressed archive that Sensu can download and expand as needed. Whether that¡¯s the first time the asset is encountered or when Sensu is informed of an update to the plugin.
  14. How does that work? I¡¯ll focus on check assets, since that¡¯s what¡¯s currently available in 2.0. Check request issued w/ asset definition Agent checks if local Fetch if not Verify the asset archive Expand the asset Execute the check
  15. As I mentioned, these are currently available in 2.0 for checks Handlers, mutators, and extensions are coming soon And each plugin can have multiple assets associated with it This can be useful if a particular plugin is used on multiple operating systems or architectures
  16. I always think about Ruby assets first Want to continue to leverage the massive resource of community plugins Show a path for users to manage their own internal Ruby assets And other languages with a VM
  17. The biggest problem with languages with a separate runtime is building and packaging them for assets If you¡¯ve ever run gem install openssl, you know how exciting gems as packages are What used to be a platform-independent dependency becomes a platform and architecture dependent dependency with compiled components How do we approach this problem that creates as little work as possible for users
  18. We¡¯re looking at a couple of approaches Build packs and a single ruby asset We¡¯ve focused on asking ourselves, ¡°Which is better?¡± If we can get both to work, then the score is actually tied between them. So that begs the question...
  19. Why not both? Assets are flexible enough that they can support arbitrary workloads. It might be expensive, but hey... you... all of you... we would love your help exploring these ideas.
  20. But what if things could be easier?
  21. We¡¯ve been working with Go for the last year and a half, and a lot of the problems that interpreted languages like Ruby and Python have, Go doesn¡¯t.
  22. Sensu engineers have come to love and appreciate Go, and as a systems programming language, it¡¯s dominating the landscape.
  23. Plugins, and therefore assets, written in Go are smaller, have no external dependencies, and are significantly easier to package.
  24. And Sensu engineers are developing considerable expertise that we can lend to the community in developing and building Go plugins.
  25. The future for Sensu assets is exciting. Building binaries for multiple platforms and architectures is trivial with tools like go-releaser. GitHub releases can be used to publish assets. And in the future, you¡¯ll be able to share your asset and make it discoverable by other engineers with the Bonsai Asset Index
  26. Of course, this isn¡¯t just limited to Go. This workflow and assets are language agnostic. As Kelsey said earlier, if you can put it in a tar ball, you can put it in an asset.
  27. Thank you all for being here. We would love to hear your thoughts and work with you as you start to play with Sensu 2.0 and assets. Feel free to stop by the community Slack in the #sensu2 channel to chat with other users experimenting with Sensu 2.0 as well as members of our engineering team.