LibreNMS to monitor Juniper, Cisco and Linux devices
This post will be about LibreNMS and what it can do for you.
LibreNMS is an open-source network monitoring tool and it is a fork of Observium.
LibreNMS provides graphs, notifications to allow you to monitor the network and be informed of any changes taking place.
The documentation is pretty exhaustive and you can get all the information from here LibreNMS.
The installation is straightforward and you need to decide if you want to use a prebuilt VM or you want to perform the installation. Tutorials are available based on your Linux flavour(Ubuntu, RHEL, CentOS or Debian) and webserver(apache or nginx) preference. I used Ubuntu and apache for my test.
But let’s see how this looks like.
This is my test network with Juniper(Junos), Cisco(IOS XR) and Linux(Ubuntu) devices:
First, LibreNMS can detect if a device is a router, a switch or a server. This is the list of devices:
LibreNMS is able to draw a network map with all devices monitored. Unfortunately, I have not found a way to have the devices hostnames, instead of the IP address used to monitor the device. Actually, if DNS resolution is available, then hostname can be used to add devices in LibreNMS.
LibreNMS can detect the routing protocols used by the devices, in this case OSPF and BGP.
Let’s check quickly MX1 CLI and see how many OSPF neighbours it has:
root@MX1> show ospf neighbor Address Interface State ID Pri Dead 10.10.10.2 ge-0/0/3.0 Full 1.1.1.3 128 33 10.10.11.2 ge-0/0/4.0 Full 1.1.1.1 1 38 root@MX1>
And how many interfaces in OSPF:
root@MX1> show ospf interface Interface State Area DR ID BDR ID Nbrs ge-0/0/1.0 DR 0.0.0.0 1.1.1.2 0.0.0.0 0 ge-0/0/3.0 DR 0.0.0.0 1.1.1.2 1.1.1.3 1 ge-0/0/4.0 BDR 0.0.0.0 1.1.1.1 1.1.1.2 1 lo0.0 DR 0.0.0.0 1.1.1.2 0.0.0.0 0 root@MX1>
And then compare it with LibreNMS output:
Also, there is IBGP between XR-1 and MX2:
RP/0/0/CPU0:XR-1#show bgp summary Thu Jun 22 07:06:48.641 UTC BGP router identifier 1.1.1.1, local AS number 65000 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000000 RD version: 41 BGP main routing table version 41 BGP NSR Initial initsync version 1 (Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs BGP is operating in STANDALONE mode. Process RcvTblVer bRIB/RIB LabelVer ImportVer SendTblVer StandbyVer Speaker 41 41 41 41 41 0 Neighbor Spk AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down St/PfxRcd 1.1.1.3 0 65000 1004 887 41 0 0 01:07:34 20 RP/0/0/CPU0:XR-1#
This is from LibreNMS:
MX2 announces 20 unicast IPv4 prefixes to XR-1 as you can also see from the above CLI output:
RP/0/0/CPU0:XR-1#show route bgp Thu Jun 22 07:06:58.750 UTC B 100.100.1.0/24 [200/0] via 1.1.1.3, 01:07:44 B 100.100.2.0/24 [200/0] via 1.1.1.3, 01:07:44 B 100.100.3.0/24 [200/0] via 1.1.1.3, 01:07:44 B 100.100.4.0/24 [200/0] via 1.1.1.3, 01:07:44 B 100.100.5.0/24 [200/0] via 1.1.1.3, 01:07:44 B 100.100.6.0/24 [200/0] via 1.1.1.3, 01:07:44 B 100.100.7.0/24 [200/0] via 1.1.1.3, 01:07:44 B 100.100.8.0/24 [200/0] via 1.1.1.3, 01:07:44 B 100.100.9.0/24 [200/0] via 1.1.1.3, 01:07:44 B 100.100.10.0/24 [200/0] via 1.1.1.3, 01:07:44 B 100.100.11.0/24 [200/0] via 1.1.1.3, 00:53:43 B 100.100.12.0/24 [200/0] via 1.1.1.3, 00:53:43 B 100.100.13.0/24 [200/0] via 1.1.1.3, 00:53:43 B 100.100.14.0/24 [200/0] via 1.1.1.3, 00:53:43 B 100.100.15.0/24 [200/0] via 1.1.1.3, 00:53:43 B 100.100.16.0/24 [200/0] via 1.1.1.3, 00:53:43 B 100.100.17.0/24 [200/0] via 1.1.1.3, 00:53:43 B 100.100.18.0/24 [200/0] via 1.1.1.3, 00:53:43 B 100.100.19.0/24 [200/0] via 1.1.1.3, 00:53:43 B 100.100.20.0/24 [200/0] via 1.1.1.3, 00:53:43 RP/0/0/CPU0:XR-1#
On the top-left graph, you can see the number of prefixes at 20 after a while when there were no BGP prefixes received:
And this is just a glimpse of what LibreNMS can do to monitor the network.
You can monitor other type of devices like firewall, load balancers, APs.
You can setup alerts and notifications, you can view load on the interfaces, CPU usage, memory usage and other things like this that can help you out to detect possible problems before they actually become problems.
I hope you found this interesting.
Paris ARAU
Latest posts by Paris ARAU (see all)
- Junos Fusion – Part IV – Satellite policies and uplink failure detection - 30 July 2018
- Junos Fusion – Part III – Satellite commands and traffic forwarding - 16 July 2018
- Junos Fusion – Part II – Configuration, Administration and Operation - 16 July 2018
- Junos Fusion – Part I – Overview, Components, Ports and Software - 11 July 2018
- Vagrant – Part IV – Network topology using Juniper and Cumulus - 26 April 2018
[…] OpenNMS is similar to LibreNMS covered here. […]