Skip to main content

Shinken – a Short Review of Nagios: The Next Generation

What's it all about


Whatever services you are running, there always a need for monitoring. You want to know that you service is down before you customers or bosses fire you :) There are a lot of open source software and hosted services for that, but services are usually featureless or costly (or both) and open source solutions are often featureless and outdated as well. But some of them are different.

For some reason Shinken doesn't get much of attention these days and I intend to fix it somehow. For those of you who don't know it yet, Shinken is monitoring software not very unlike Nagios (and backward-compatible with it in most cases). But it's totally re-written with Python and have a lot of ready to use 'modules' and 'configuration packs'.

Pros


Shinken's core was divided into several separated services: arbiter, scheduler, broker, poller, etc. connected over network. It gives both better scalability and better availability. You can host different services on different hosts, double them when needed, and not worry about monitoring while you restart web UI or something for update. Also several things (like web UI, for example, or data retention backend) are, in fact, modules which could be chosen out of several options.

Default web UI is nice, it looks like contemporary web UI should look like, it doesn't use cgi or something that outdated (for technology's sake, cgi, c'mon? it's 2014 already!).

If you were using Nagios before, migration should not be very hard. Quickstart documentation says you can use you Nagios configuration as is, but I would not recommend you to. I'd suggest trying to re-use big amounts of data like hosts descriptions while trying to incorporate other pieces into Shinken's own configuration structure. It would take some time, but it makes sense. Almost all third-party tools (plugins and stuff) will work as well.

Configuration can be loaded from various sources, you can monitor all your AWS instances automatically, or keep configuration in database with some configuration tools, or whatever.

It all may help someone build commercial monitoring service using Shinken. I'd love to see a lot of them around, cheap, feature-rich, and helping to develop great open source tool.
It's under active development so we can expect it to become nicer with every new release.

Contras


Well, it's not all good. There some minor disadvantages as well. For example, it heavily relies upon Nagios plugins (they are shell commands, in fact, but it does not matter) and several other tools built for Nagios. It ok, they good, but I'd prefer if they maintain their own fork (with repository similar to modules).

Also several things I found annoying in Nagios are still here. Why, for example, no one wrote notification module using Python library and templates instead of shell pipes and /usr/bin/mail? Apart from other reasons, it might help sending emails with CC/BCC for several receivers and with proper headers to organize emails in threads.

Documentation is far from being up-to-date and full. Especially quick start documentation. I've spent half an hour trying to get web UI working. Several new things (not available in Nagios) may require you to change you configuration structure a bit in order to get all the advantages. Notification filters rely on contact groups, default network service monitoring packs (like http or ssh) rely on templates instead of hostgroups, so you'd need to change all your hosts configurations unless you want to stick with you own custom service configurations, and so on. It's understandable that there are differences, and Shinken's way is usually better one, but when I read quickstart documentation' I'd prefer to see what those differences are.

Concluion


Shinken's cool. If you are still using Nagios, consider at least trying it (it won't hurt to have both for a while, but you'll quickly realize that you don't need Nagios anymore). If you don't use any monitoring yet, but want to try something, try Shinken. If you arethinking about IT start-up, think about starting monitoring service, there are not much of cheap and feature-rich services out there. If you are Shinken user already, think about sharing some of your experience, tips and tricks with community. Maybe your module or pack is what everyone need? And I will continue to use it whereever I'd used Nagios before. There is nothing about monitoring that Shinken is not able of.

And I'm very eager to see any hosted service using Shinken, that was the one thing Nagios was not capable of at all.

Popular posts from this blog

Using virtualenv for more than Python projects

Sorry, it's not a complete instruction, just a thought. It occurred to me (some time ago) that Python's virtualenv is, essentially, a simplified version of system "prefix", it has bin, lib, include, and can have more stuff when needed. If you're willing to experiment (you'll probably have to set a few additional environment variables and/or build flags but that's no big deal), you can install various other tools there up until you have a complete system with its own compiler and complete set of libraries although it's much simpler to keep using system compiler and libraries only complimenting them when needed. Granted, prefixes are nothing new, people were using /opt (and their home directory) this way since the beginning of time. But with little help of virtualenv-wrapper or pyenv you can easily switch between them and isolate environments better. Binaries and stuff installed in virtualenv would override system defaults but only when venv is activat

Huawei TalkBand B3 (active) review

Despite the fact that no manufacturer ever sent me any free gadget for review, I'm continuing doing it. Maybe I'll become a popular reviewer and they will change their mind. This post will be the first in this year's wearable gadget reviews. To put it into perspective for those who don't know me, I'm not a fitness person, like at all. I eat healthy, I walk kinda a lot, I do some aerobics and occasional cardio but that's it. I'm too lazy even for jogging. But, for some reason, I currently have not one, not too, but three fitness trackers on my wrists. Yeah, crazy, I know, but that was the only way to compare them properly. By the way, wearing TalkBand on the same wrist with anything else is super inconvenient, you can hardly take it out for calls. But more on that later. Why do I need any fitness tracker? Apart from knowing time, I like to know how active I'm during the day, and, more importantly, track my sleep. I have some issues in that department so

ORICO — small things that stand out

More than once I've written about stuff made by Big Brand manufacturers so I decided to balance things out by writing about a mostly-unknown but good things. In short, if you need something small like HDD enclosure or some cable or USB hub or a dongle of some kind, check if ORICO makes it and chances are you won't be disappointed. It's usually slightly more expensive than low-end stuff from aliexpress but, in my opinion, it's usually worth it. Disclaimer. This post is a shameless promotion of their brand although, unfortunately, nobody paid me for it or even sent me any free stuff. Guys from ORICO and not, if you read this, I'll gladly review whatever free goodies you send me :) I only do honest reviews so better make sure to send the good stuff. At this point I own a USB hub, three different 2.5" HDD enclosures, and a precision screwdriver set from them. And probably something else I don't remember. Here are the pics: USB hub in its natural habitat