Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Moncli: Decentralized, Horizontally Scalable Monitoring

DZone's Guide to

Moncli: Decentralized, Horizontally Scalable Monitoring

· DevOps Zone
Free Resource

Download the blueprint that can take a company of any maturity level all the way up to enterprise-scale continuous delivery using a combination of Automic Release Automation, Automic’s 20+ years of business automation experience, and the proven tools and practices the company is already leveraging.

Nagios has long been the de facto monitoring framework, giving you the ability to pull metrics from an OS or server that aren't easily accessable over the network. Now we're beginning to see an explosion of new open source projects, mainly around DevOps and the #monitoringsucks movements, that provide monitoring features that are less "one size fits all".  Jelle Smet recently added his own monitoring tool to the mix called "Moncli."  Here was his reasoning behind creating this tool:

When running into scalability problems with my Nagios setup, I realized that the reason for this is the fact that Nagios always has to take the initiative to poll a client.  This is in Nagios terminology called an active check.  It’s of course normal that a client receives instructions on what it needs to do like which plugin to execute or which thresholds to evaluate.  However, if you think about it, why do we have to repeat the same question over and over again while in essence nothing has ever changed between the current and the previous request? Isn’t it normal we ask a question once and say report back at this interval and carry on until further notice?

So why not offloading all (or most of) the scheduling effort a central monitoring system has to perform to the monitoring clients running on your hosts?

 -Jelle Smet


Jelle also wanted to take things one step further and turn his individual clients into "independent miniature monitoring engines” allowing the system to shift load onto various clients, making it a decentralized setup. 

So to do this, Jelle created Moncli, which uses RabbitMQ as it's message broker.  It's written in Python and its compatible with any framework built on the Nagios core.  There's a lot of interesting details about Moncli that I won't go into here but you should check out Jelle Smet's blog post on his rationale behind the design of Moncli, and then check out the docs for a quick list of points

Get the full story on Moncli

Moncli GitHub
Moncli Documentation

Download the ‘Practical Blueprint to Continuous Delivery’ to learn how Automic Release Automation can help you begin or continue your company’s digital transformation.

Topics:

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}