Although I don’t currently run LibreNMS in my own network, it is one of those tools that I keep in my toolbox. LibreNMS is a fork of the Observium project. The tool is written in PHP and can be run on any Linux with either Apache or NGINX.
Setup
One of the reasons I like to use LibreNMS is that it is easy to setup. There are step by step instructions to setup a LibreNMS instance on Ubuntu and the rest of the LibreNMS documentation is equally simple to use. Once the software is installed, the web interface makes it very easy to add a host to be monitored (or you can use automated discovery). Unlike other tools like Nagios and Cacti, LibreNMS by default creates graphs and pollers for just about every metric you could want on a server or network device. This lowers the setup curve as you don’t have to go into the weeds of SNMP MIBs and OIDs.
Features
Beyond the basic SNMP polling, LibreNMS provides an interface to use Nagios plugins to monitor services on hosts. These include things like DNS, DHCP and web servers. These plugins allow you to leverage one of the most powerful features of Nagios without having to work with the complicated configuration of Nagios.
Another important feature is LibreNMS’ alerting system. Although it can do standard e-mail or SMS alerting, it goes further with many integrations. Some of these include Slack, Telegram, Webex Teams and PagerDuty among others. These alerts can be set for very specific conditions and can be made dependent on upstream devices. For example, if your core switch at a location is down, there’s no need to alert on all of the access layer switches and access points as well.
With today’s push for DevOps and programability, it is no surprise that LibreNMS has an API available. This allows for using other tools like Ansible for setting up and maintaining the inventory of devices in LibreNMS. It also allows all of the data collected by LibreNMS to be leveraged easily by other systems.
For managed service providers or businesses where billing back departments for services is allowed, LibreNMS includes a billing system. This system allows you to configure a price per Megabyte for an interface and then create bills based on the SNMP data.
Not a feature per se, but very important, the documentation for LibreNMS is excellent. This is especially true when you compare it to many other open source packages. The documentation and examples are well written and cover almost anything you could want to do with the package. They even include documentation to integrate third-party software like Oxidized, RANCID, Smokeping and Network Weathermap (originally written for Cacti).
Ben’s Take
LibreNMS is a full featured product that is easy to standup quickly. I believe that it is stable enough to be used in larger environments and with the right plugins and integrations could rival it’s paid competition like Solarwinds Orion for pure network management. Have you given it a try? What do you think about it?