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.

 

The following two tabs change content below.

Paris ARAU

Paris ARAU is a networking professional with strong background on routing and switching technologies. He is a holder of CCIE R&S and dual JNCIE(SP and ENT). The day to day work allows him to dive deeply in networking technologies. Part of the continuously training, he is focusing on Software Defined Network and cloud computing.

Comments

This post currently has one response

Leave a Reply

Your email address will not be published. Required fields are marked *

Sidebar



%d bloggers like this: