Wouldn’t it be great if everything set itself up automatically. You install an agent on your server and then magic happens.
We’re currently working on adding auto discovery to Outlyer so I thought I’d write a quick post about how it will work behind the scenes.
A fair bit of time has been spent over the past year to get configuration into a portable format that can be easily shared between accounts. Dashboards and Alert Rules can be exported as human readable yaml files that are keyed off friendly tag names. We took those dashboard and rules files and together with the plugins started to build packs.
|
|
Dashboard Yaml | Package Description |
Installing a pack usually gives you a tag, a plugin, a dashboard and some alert rules. You then need to tag your servers so they download the plugin and start returning data. It’s all very easy and simple but it isn’t completely automated. Until now!
Auto discovery will work in a few ways inside the application:
Firstly, when you install a pack in future it will detect which machines it should apply it to, and prompt you to tag them.
Secondly, you’ll get an auto discovery tab inside each agent details page where you can initiate a scan.
Finally, we’ll be added a guided tour page that you land on when first entering Outlyer. This will scan every agent and then suggest packs to install. Eventually we will provide the option to automate this so that monitoring is totally hands free and everything just happens in the background.
The Technical Details
The Outlyer agent already sends back a bunch of information including a process list from each server it is installed on. You can see all of this data on the agent details page.
Auto discovery is going to work off a regex of the process name on servers initially. We’ll extend the package.yaml in each packs with a field where that specifies what to match on. So for instance the nginx pack might have a field set to match on ^nginx.
Packs are currently limited to our centrally managed public repo on Github. However, in future we’ll be opening up packs so that people can create and manage their own. You’ll then be able to automate the monitoring of your own applications.