After the countless hours of work installing, configuring and testing your new network equipment have come to a close, how can you be sure they stay healthy? There are a variety of network monitoring tools available to you today, and choosing just one is quite a challenge. I’ve compiled my list of the top four open source network monitoring products, drawing from my own personal experience, to save you from having to test each and every one. After reading, you will have an idea of how each product works behind the scenes, what each products potential benefits are, and what potential downsides each network monitoring package has. As an added benefit, each product is open source and offered under the GNU General Public License, meaning there are no costly licensing fees to strain your already overloaded budget.
Nagios is the most popular of the open source network monitoring platforms, having won the Linux Journal Readers’ Choice Award for “Best Monitoring Application” four years in a row.
It has accomplished this impressive feat by offering excellent customizations and plugins, easy installation, easy configuration, and by providing informative data to your Network Operations Center (NOC). Nagios itself is written in C, a time tested programming language, but developers are free to add functionality through custom plugins using any language they choose, my personal favorite being Perl. If you would rather not code your own plugins, Nagios has a large and active community that has probably already created exactly what you need.
Nagios does not offer an auto discovery tool. Its attempts to cover for this through host and service configuration files that are easy enough to set up, and does provide templates for most of what you will need. It is possible to script your host and service configuration process easily enough, but again, no auto discovery tool may be a deal breaker for some.
OpenNMS, although not quite as popular as Nagios, does have a fairly active support community behind it. Unlike Nagios, OpenNMS offers an auto discovery tool, in fact it is much harder to add your own hosts and services without auto discovery. OpenNMS is written in Java, a positive for some and a negative to others. While OpenNMS also offers its own plugin library, and you are free to create your own, any new plugins must be written in Java. Auto discovery, while time saving initially, comes with its own downside of limited flexibility and customization. If you are looking for a product that requires limited administration and configuration but can also make sure your NOC is well informed, OpenNMS may be for you.
Zabbix is the creation of Alexei Vladishev, and is designed to monitor all the hosts and services you can throw at it. The backend is programmed in C and the web interface is written in PHP, languages that most systems administrators and IT professionals should be intimately familiar with. Its data can be stored in multiple databases, including both MySQL and PostgreSQL. Like OpenNMS, there is an auto discovery feature included.
There are three two ways to monitor network hosts and services with Zabbix:
- Install an ‘agent’ on your host: The agent will collect data such as CPU load, disk space, and network traffic. Zabbix then communicates with the agent using SNMP,SSH, or another protocol
- Run checks that directly poll the host you are monitoring
With these positives come a few negatives. Namely, Zabbix is more difficult to set up than Nagios or OpenNMS, and the documentation is less than stellar. If you are able to overlook these issues, Zabbix could be an effective tool in your arsenal.
Based on the Zope application server, Zenoss is a network monitoring platform that is written in Python. If you are partial to Python, this may be enough to sway your decision one way or the other. As with Zabbix, data is stored in databases (MySQL). There is also support for RRDtool, which is an excellent method to visualize your network activity, and Syslog data from Unix,
Linux or Windows can be monitored. Zenoss also offers auto discovery of your networks hosts and services, leaving Nagios the lone outlier here.
Zenoss also has robust alerting capabilities, able to send alerts to individual emails and group emails lists as well as pagers. Unacknowledged alerts will be sent to another individual to make sure issues are addressed and resolved instead of being overlooked and forgotten. While the community behind Zenoss is smaller, Nagios plugins can be used by Zenoss, so you can be almost sure to find a plugin that does exactly what you need.
Choosing a network monitoring platform to keep your network hosts and services running is no easy task. However, with the amount of time spent deploying and configuring the servers, routers, switches and applications that make your network functional, downtime is something nobody can afford. You need to ask yourself these important questions to ensure you make the best decision possible:
Flexibility – Can your network monitoring software monitor all the services and hosts you need it to?
- Customization – Can additional functionality be added whenever you need it?
- Familiarity – Are you and your team familiar enough with the behind the scenes operation of your network monitor to tweak it as required?
- Usability – Can users of any level, from mangers to operations support personnel find, understand, and use the information they need?
- Cost – Can you and your company afford to implement the solution you want?
We have addressed each of this issues directly, and since all the solutions we discussed are open source, costs are relegated to training and implementation. We have gone over the distinct advantages and problems each platform has, and explained back end and front end functionality of each.
Most importantly, this list is based on years of real world experience supporting a large, enterprise level environment. Installing a network monitoring platform is one of the key steps in adherence to network management best practices, so don’t let lack of knowledge hold you back. I’m sure many of you have your own opinions on your best product, please let us and everyone else know your opinion in the comments below.