domingo, 20 de março de 2016

LibreNMS – alternative to Observium + others


So a while ago (a year) I wrote a blog post about LibreNMS being an alternative NMS. For me back then LibreNMS was already an alternative anyway but is that still the case a year later?
Well without a doubt – a huge amount of things have changed in the last year with regards LibreNMS and all of them positive so I thought it was worth an update to go through some of those in more detail.

New website and Logo – Is LibreNMS a brand? I’d like to think it is and will become more so as time moves on. In the meantime it’s a case of at least having it’s own identity. So a new website was put together (well two in fact, the first being replaced in the last month) to try and showcase the features and what it can provide to people. It’s great to see actually, 5 of the 7 main listed features are all new additions since we forked from Observium. 4 of those are huge in terms of benefit to end users of the software and imho, quite key things in an NMS product. A new logo which has been knocking around for a while and was used to coincide with the new website going live – if you’ve not seen it yet, take a look www.librenms.org.
LibreNMS
LibreNMS
Along with the new website, the Twitter account got a facelift, a Facebook page was added along with a Google+ group. All using the new branding. If you’re active on any of these Social media sites then like, share and comment :)
But what about features? That’s easy, let’s go through some of the biggest features that have made their way in.
Alerting – Quite an essential feature in an NMS :) A basic alerting system was inherited and was useable to a degree, it supported alerting on devices going up / down, port utilisation and bgp sessions so it did a lot of what most would need. However it did have it’s limits and wasn’t flexible or customisable so work was started to bring all of this to the table. I’ll be the first to admit that the alerting rule system is a little complicated when you first start to use it but this initial drawback is overcome by the huge flexible and powerful feature set that it brings with it. I’ve not yet come across a rule that I’ve not been able to create.
One of the best features of the alerting system is the actual alerting side, out of the box you can alert via email, IRC, a custom API or Slack however it doesn’t stop there – as started out with the Slack integration, you can add your own alert transports in to talk with pretty much anything. Slack support was added from request of a user and is now part of the base install.
Templates are also part of the alerting system so you can customise the look of each alert rule that you create (you don’t need to, a default is provided) but this means you can add custom messages or format the output to meet your needs.
API – As with alerting a basic API was inherited – it was barely useable and contained zero documentation on what if any features existed, this version of the API exists to this day! Expand on what we had or create a new one – create a new one :)
We are still technically on a version 0 release at the moment but a good number of users are already making use of what we have. The API is powered by the Slim Framework and extends LibreNMS using a RestFull API and JSON. Listing, Add and remove devices, list available graphs, retrieve graphs, list bgp sessions, handle alerts, the list goes on are all supported via the API and thanks for Slims capabilities – extending the API is a simple task. It’s possible today to write a web client which drills down into the devices and provides all the graphs you can see today in the Web UI.
Distributed Polling – Adding more devices to your NMS? At some point it’s going to creak and you will need to do something about it. Add more Ram, CPU and hard disk space, sure that’s easy enough to do but has limitations still. Add a second server and monitor your next data centre from that, sure if you like logging into 2, 3, 4+ Web UIs just to see your data (you could use the API to fix this :)) or you could now make use of the new Distributed polling feature that’s recently been included. This will enable you to just bolt another server on to perform additional polling so your devices still complete in time. It provides scaling at a horizontal level but also includes the benefit that you can now poll devices that might be located in another physical building behind a NAT firewall. Below is a diagram showing a large scale deployments.
A large scale distributed LibreNMS deployment
Automatic updates – This is a simple one really, you can choose to auto update or not. We can understand why you might not want to leave on auto updates but in reality with LibreNMS it’s proved to be pretty safe. We’ve not released an update that has catastrophically broken something and those bugs that have been introduced have been fixed before the daily updates will have been pulled. It’s on by default – consider leaving it like that :)
People contributing to LibreNMS do so with both backwards compatibility in mind and user experience.
Plugin system – Perhaps the least used of all new features, the plugin system enables anyone to extend LibreNMS in a simple fashion. Perhaps one of the examples of this and undoubtably the plugin used most often is the Weathermap.

0 comentários: