Over a million developers have joined DZone.

Moncli: Decentralized, Horizontally Scalable Monitoring

DZone's Guide to

Moncli: Decentralized, Horizontally Scalable Monitoring

· DevOps Zone ·
Free Resource

Discover a centralized approach to monitor your virtual infrastructure, on-premise IT environment, and cloud infrastructure – all on a single platform.

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

Learn how to auto-discover your containers and monitor their performance, capture Docker host and container metrics to allocate host resources, and provision containers.


Opinions expressed by DZone contributors are their own.

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

{{ parent.tldr }}

{{ parent.urlSource.name }}