When I think of OpenNMS, the term ‘Underdog’ comes to mind. If you have done any research on Horizon the first fact you will discover will be that the product is free. Unlike many other network management suites, Horizon follows an OpenSource model with product advancements being driven primarily by its user community, similar to any other OpenSource project. This lower investment cost can be appealing to many organizations, especially with the ability to host this tool on different distros of Linux avoiding the cost of the underlying operating system. You may also install this software on a Windows operating system as well, however do keep in mind more development is done on the Linux packages then its Windows counterpart.
The latest version added the following important features:
- Slack Integration. After a couple of edits to the xmpp-configuration.properties file and a quick application restart you can have your NMS integrated with your already powerful team collaboration tool. If you have followed my previous article about OpManager, you will definitely notice an increasing trend of improving team communication.
- Improved stability involving REST API utilization. Those of us with highly fluid networks can find comfort in seeing enhanced API support. Being able to quickly make modifications to our management platforms allows us spend additional time paying attention to more important things.
- Custom map icons. The process may be a little involved but being able to customize your map icons will make it feel a little more like your own product. Like other NMS suite this tool offers different mapping formats including maps based on geolocation either by physical address or Long & Lat coordinates, as well as typical topology maps based off CDP and LLDP discovered information.
- Business Service Monitor. The BSM allows you to tie together different monitored elements in order to create a level of hierarchy for some monitored services.
What OpenNMS boasts in functionality and power it may lack in finesse and looks, compared to other network management suites that have put more than a fair share of time into their UI. Do not get me wrong the GUI is functional and works well for the tool however almost as soon as you see the charts and graphs you know without a doubt it owes its origins to an open source platform.
The lack of finesse in my mind comes from how many features are configured within this tool, which is done via editing different configuration files within the Linux back end system. The Admin Guide without a doubt does a great job at explaining how to edit these files. The problem is that you will constantly need to refer this admin guide during your configuration. With most other management suites you will be able to guide yourself around a fairly fluid interface but that is something this tool still appears to be lacking. Let’s briefly, review the configuration of DHCP monitoring which is done in two parts:
- Installing the DHCP plugin
- Entering configuration into the ‘poller-configuration.xml’ file
While DHCP monitoring can be configured with 2x steps they definitely will require some getting used to. However, to its defense some other vendors would require additional licensing or modules to be installed in order to monitor a DHCP server where as this tool offers this functionality free of charge. So I find it to be an interesting trade off. I want to call out a few additional monitoring capabilities this tool is capable of:
- Cisco IP SLA Monitoring
- HTTP Port monitoring
- DNS, FTP, and LDAP monitoring
- SSL Certificate monitoring
As you can imagine this tool goes above your typical Up/down status, in fact many of its basic monitoring aspects can be found in this site’s original review. The one piece I have not touched on yet, is the capability to manage network configurations. Well, this is where the ‘plug-in’ trend continues as we connect RANCID via following a couple of steps:
- Installing RANCID – The tool that will actually manage your network configuration files. This is the same RANCID that has been around for quite some time now.
- Installing & configuring RANCID-RWS – Think of this as middle man that connects RANCID to your NMS which is essentially another web server making API calls. Involving the application ViewVC which is the back end CGI application connecting everything together.
- Tell OpenNMS to communicate with RANCID-RWS – Editing the ‘opennms.properties’ file
One more option I want to include for companies that do not have dedicated Linux gurus to fully handle the Horizon installation and maintenance, there is also a Meridan flavor which offers support levels at the cost of a yearly maintenance contract depending on how large your monitoring infrastructure becomes. Something to keep in mind with Meridan vs Horizon is that Meridan does not follow the same release schedule as Horizon, so you might not see complete feature parity between the versions.
This is without a doubt a very easy system to initially deploy due to its low initial cost to get it in the door and setup, while at the same time being an extremely powerful and highly customize-able canvas to fill out as you please. That however can also be its own crutch as well, this tool will require many hours of time to customize and tweak. Without a doubt this is a tool you can get lost in. This to me creates a fine line between being a very powerful tool for network engineers and being its own burden of a tool to maintain and operate. Keep in mind the Meridan flavor that is available for a cost to ease the implementation and support required to run this management suite. Many NMS suites will require a very fair amount of customization to get useful performance metrics from outside of typical Up/Down status, CPU, Memory, and Interface utilization. With this tool however it is something that will not be avoidable. I do not want to downplay its potential however, I can recommend OpenNMS to any company regardless of size Small, Medium, or Large but it comes with the disclaimer of be prepared to spend a lot time learning and configuring this tool.