4 free network monitoring tools to keep you in the know

Network monitoring is a key component in making sure your network is running smoothly. However, it is important to distinguish between network monitoring and network management. For the most part, network monitoring tools report issues and findings, but as a rule provide no way to take action to solve reported issues.

For this review, we tested four open source network monitoring products: Cacti, Icinga, Zabbix and Observium. They were selected for their widespread use and availability, maturity, stability and the fact that they have currently maintained releases. We focused mainly on installation/configuration, day-to-day management and reporting. (Watch a slideshow version of this story.)

We found all four products to be capable network monitoring tools that performed well in our basic monitoring tasks such as checking for host availability and measuring bandwidth usage. Beyond the basics, there were quite a few differences in terms of features, granularity and configuration options.

  • Overall we liked Zabbix, which was easy to install, has an intuitive user interface and enough granularity to perform most network monitoring tasks.
  • Cacti is great for what it does, has excellent graphing capabilities and is relatively easy to configure and use. But Cacti is somewhat limited in features. It does not provide a dashboard with infrastructure status and alerts, nor does it have the ability to provide alerts.
  • Observium is another capable product, but we did not like having to map everything to host names without the ability to use IP addresses directly. However, it has a modern interface and, like Cacti, offers graphing capabilities that provide good information at-a-glance.

All of the products offered basic network monitoring, using common protocols like ping, without requiring agents. Diving deeper required agents or SNMP, which must be installed and/or configured on the devices to be monitored. Zabbix offers both agent and agent-less configuration options. Since all of the host servers run on Linux, to keep the playing field level we used a fresh install of Ubuntu 14.04 LTS prior to installing each product. The hardware was a quad-core, 64-bit, 8GB RAM server with adequate storage. Here are the individual reviews:

Network monitoring net results box


Observium is a Linux-based, command-line driven product with a web-based monitoring interface. Released under the QPL Open Source license, Observium is currently in version 0.14. Observium is available in both a community edition, which we tested, and a professional edition. Observium uses the RRDTool for certain features, such as buffer storage and graphing capabilities. It provides auto-discovery of a wide variety of devices from servers and switches to printers and power devices.

Observium is installed and configured through a set of command line inputs. Prerequisites include MySQL, PHP and Apache. We found a useful step by step installation guide on the Observium website which saved us time in performing the install. After installation, the server is accessible from a browser.

After completing the basic installation we loaded the Web interface, which displayed a large, blank Google map and a summary of devices, ports and sensors, all showing zero values. We decided to add a new device from the Web interface by entering the host name and the SNMP community name. This provided no results.

After some online searching we realized we needed to add our devices to the ‘hosts’ file in order for Observium to correctly resolve the host names. We were not running DNS on our test network and you cannot add devices by using IP addresses. Since Observium is set up using a configuration file, the Web interface provides essentially a read-only overview of the infrastructure. We added our first device with a simple command from the command line and then logged back into the Web interface, where we could then see our newly added Windows host. The map was populated with a location quite distant from our actual location, but we attribute this to using internal subnets.

Observium uses several protocols such as CDP, FDP, EDP and LLDP to discover new devices. When encountering a new device, it will attempt to contact it on a SNMP community name supplied in the configuration file. Once one or multiple devices have been added, the information for each device needs to be added using the discovery and polling commands from the command line.

This task can be automated by creating a Linux ‘crontab’ file that is called at set intervals. Most configuration changes are accomplished through editing the configuration file. We found this a bit cumbersome at first, but once the initial configurations and inevitable tweaks have been completed there should be no need to revisit this file on a daily basis. The configuration file content is available to view read-only from the global configuration link, which is helpful in getting a bird's eye view of the setup.

With our new devices configured and added, we re-loaded the Observium Web interface again. The device list displayed our three hosts with some basic information about each (platform, OS type and uptime). Mousing over each device displays previews of various performance graphs such as processor and memory use. To drill down in more detail, you can click any device which displays a secondary screen with additional information about the device and the ability to view collected data in different ways such as general information, a graph view that includes a myriad of performance data, plus an event and system log view.

+ ALSO ON NETWORK WORLD 7 free tools every network needs +

Observium has no direct export or reporting capabilities, which would be a nice addition for documenting performance or outputting usage data to hard copy. However, the on-screen reporting is very good and numerous filters are available to customize views. Although it doesn't aid much in actual configuration tasks, the Web interface has a modern, easy-to-read display and the navigation is intuitive with a horizontal, drop-down style menu across the top. We also like the start page overview with the ability to mouse over various items to see graphs for that item.

The Observium professional edition is available for an annual subscription fee and provides users with real-time updates and various support options. The professional version also has added features such as threshold alerting and traffic accounting, which can be helpful for organizations like ISPs that need to calculate and bill client bandwidth usage.


Like the other products, Cacti is a Web-based application that runs on PHP/Apache with a MySQL backend database. Currently in version 0.8.8, it provides a custom front-end GUI to the RRDTool, an open source round robin database tool. It collects data via SNMP and there is also a selection of data collection scripts available for download from the Cacti website.

Although the Cacti server can be installed on Windows, it does require software mostly associated with Linux, such as PHP, Apache (although you can use IIS) and MySQL. This can be accomplished using WAMP server or by configuring each component individually using the Cacti installation guide.

Regardless of OS type, there are a number of configuration requirements and Cacti assumes the installer is fairly familiar with the aforementioned components. The user manual provides general guidelines for installation, but it did not provide specifics for our particular environment. As is often the case, we found an online third-party source that had a good step-by-step guide for our OS (Ubuntu).

Once the installation and initial configuration have been completed, you access the Cacti Web GUI from a Web browser. We found the Web interface clean and fairly easy to navigate once we became familiar with the overall layout. Cacti’s bread and butter is its graphing capabilities and it provides users with the tools to create custom graphs for various devices and their performance using SNMP. Devices can range from servers and routers to printers, essentially any networked devices with an IP address.

To set up a new device and indicate which values to monitor, you follow a short wizard-like step by step process where you first specify the basics, such as the IP address and type of device. To determine whether the device is available, Cacti can use a simple Ping command or a combination of Ping and SNMP.

Once a device has been created, it is time to create the graphs you want to monitor for this particular device. The graph setup uses a simple one-page with a set of options based on the type of device being configured. You can select items such as interface traffic and memory usage to CPU utilization or number of users logged in. We created a number of graphs for a couple of devices and once a graph has been saved, it can take a while before data starts showing, but found that generally within a few minutes it started displaying data. What we found helpful when creating graphs is that Cacti will inform you right away if a data query responds with any data before proceeding. That way you don’t end up with a bunch of empty graphs.

Cacti uses three types of XML templates for configuration purposes, data, graph and host templates. These allow administrators to create custom configurations that can be reused across multiple devices. The templates can be applied as you create a new device, graph or host. Settings may include values such as display settings for a graph or information on how data is to be collected for a certain host type.

Although Cacti does not require an agent to be installed on a device, SNMP needs to be installed and configured in order to take advantage of all features available in Cacti. As often is the case with open source software, Cacti does provide more options for Linux/UNIX without the need to install additional templates. In order to better monitor Windows servers we needed to install additional templates. Some of the online third-party tutorials are very good, but it should be noted that these are not one-click operations and require a steady hand to get everything configured properly. (Also read: Cacti Makes Device Monitoring Simple. )

From the graph console you can call up any graph by filtering by device, custom date and time range or you can even do a search. We found this interface to be very flexible as you can essentially display anything from one custom graph to literally thousands, however displaying too many graphs per page will slow down the load time. The time/date range is very flexible with a drop-down that allows for granular selections from ‘last 30 minutes’ to ‘this year’. You can zoom in on any graph as well as export the graph values to a CSV file.

One feature commonly used by ISPs is the bandwidth measurement, especially the usage at the 95th percentile, which is often how bandwidth is measured and billed.

Cacti provides custom user management that allows administrators to determine what information users can view and also what actions they can take from the console. These items include ability to import/export data, change templates and various graph settings. We found the granularity to be flexible enough without providing so many settings it becomes cluttered.

Compared to the other products we tested, Cacti is somewhat limited in features. It does not provide a dashboard with infrastructure status and alerts, nor does it have the ability to provide alerts. However, that should not preclude you from considering Cacti as what it does, it does well. The interface is efficient and quick to navigate, no need to sit around for minutes while pages load. Also, with no agents to be deployed to hosts, it is an unobtrusive monitoring product that gives administrators a good overview of network topology with little overhead.


Zabbix is an open-source network management solution released under the GPL2 license and is currently in version 2.4. It provides a Web interface for monitoring and stores collected data to one of several common databases such as MySQL, Oracle, SQLite or PostgreSQL. The Zabbix server itself runs only on Linux/UNIX and not on Windows; however, Zabbix agents are available for most Windows and Linux/UNIX server and desktop operating systems.

We installed Zabbix using one of the many available installation packages. The product can also be installed by compiling the source code or downloading a virtual appliance in formats such as VirtualBox, Hyper-V, ISO and VMWare. In addition to the regular install, we also took a quick look at the available VM, a good option for those looking to evaluate Zabbix. The install was simple and straightforward using instructions available from the Zabbix website. We especially liked the condensed installation package, requiring just a few command line inputs and including the Apache/PHP/MySQL setup into the main install, with no need for separate configuration unless there are special circumstances to consider.

1 2 Page 1
Page 1 of 2
It’s time to break the ChatGPT habit
Shop Tech Products at Amazon