The free and open-source network monitoring software Nagios Core has a long and strong reputation, providing the base for other monitoring suites - Icinga, Naemon and OP5 among them – and a history dating back to 2002 when it launched under the name NetSaint.
For this review we tested Nagios Core version 4.4.2 for Linux, which monitors common network services such as HTTP, SMTP, POP3, NNTP and PING.
There’s a Windows port that’s a plugin, but many users say it’s unstable. The version we tested also tracks the usage of host resources such as processor load, memory and disk utilization.
Hardware requirements vary depending on the number and types of items being monitored, but generally speaking Nagios recommends a server configuration with at least two or four cores, 4-8 GB of RAM and adequate storage for the intended application.
Nagios provides a PDF with step-by-step installation instructions and although the instructions were not updated for the latest version, we were able to apply the installation commands to the version we tested. The only prerequisite is to first install Apache/PHP, and the instructions provided a simple command for this task.
After downloading the Nagios Core and Plugins tarballs, we created a Nagios user and user group before continuing the installation. The installation itself is not particularly complicated but requires issuing about 20 different commands plus manually updating a configuration file. In our view, this could have been greatly simplified by providing a script or an executable.
With the install and basic configuration completed, we proceeded to launch the Web interface. On our initial log in, we were presented with a dashboard-type overview with a navigation menu to the left and a main screen on the right. We were notified that our version (4.4.1) was out of date and that we should upgrade to 4.4.2, which we did using steps found in the user manual.
The home screen contains links to quick-start guides, videos, plugins and other resources. Newbies will find this helpful when starting a new installation. It should be noted that the Web interface is essentially ‘read-only’, as there is no mechanism for performing tasks like adding hosts or configuring alerts.
The Web interface provides a big-picture tactical-overview status screen that allows administrators to identify problems at a glance. From here, you can drill down to view details about a specific problem and take certain alert actions like acknowledging the error message and scheduling downtime.
Overall, the Web interface is easy to navigate, but feels a bit dated and could benefit from more modern and larger fonts along with some updated graphics. However, as with most things Nagios, there are downloadable third-party themes plugins available that allow you to apply a different look and feel.
The infrastructure is generally organized with hosts and services in mind, allowing administrators to view the infrastructure from both a host and/or a service perspective. Both hosts and services can be organized into groups, which makes it easier to manage larger network infrastructures.
Nagios is principally configured using a number of configuration files, the main ones being the log, services, hosts and commands files. Each file has examples of how to configure the various parameters, and the user manual has additional configuration details. While this approach certainly has its supporters, we would have liked to see some of these configuration abilities added to the Web user interface. This would be particularly helpful when monitoring larger and heterogeneous infrastructures.
Many public services such as HTTP, FTP and SMTP can be monitored without deploying an agent to the host or relying on SNMP, but other services such as CPU and memory usage, information about system users, service state and running processes require an agent to be installed on the host. There are agents available for most hosts such as Windows servers, Linux/Unix servers, printers, routers and switches. In addition to installing the agent you will need to update various configuration files in order to start monitoring.
Lots of plugins
The Nagios Exchange website offers a large selection of plugins for various monitoring/management scenarios. In fact, one of the strengths of Nagios is the availability of an impressive number of plugins which are compiled executables or scripts that check the status of a host or service. Nagios uses the information from plugins to determine the current status of hosts and services on your network. The plugins act as an abstraction layer between the monitoring logic present in the Nagios daemon and the actual services and hosts that are being monitored. The upside of this architecture is that you can monitor just about anything you can think of. The downside is that Nagios has no idea what is being monitored. Its job is to track changes in the state of what is being monitored. Only the plugins themselves know exactly what they're monitoring and how to perform the actual checks.
The Nagios Exchange currently has almost 6,000 projects in over 400 different categories. While the majority of the projects are plugins, there is also a solid collection of documentation items, extensions and other add-ons. After a quick review of the available add-ons, we’re pretty confident there is a plugin available for what most administrators will ever need, although the source code for these should be properly vetted prior to use.
In addition to the Web monitoring features, Nagios includes a network map and some on-screen reporting capabilities. These include service and host summaries as well as alert history and the event log. One minor but smart feature is the ability to add comments related to hosts and services. Notification alerts can be delivered via email or SMS, and there is a system for notification escalation where individuals and groups can be notified based on the severity of a problem. We did not, however, find a way to export any of the on-screen reports to PDF or any other format.
Documentation and support
Nagios provides a useful online HTML user manual, which we found to be well-organized and easy to navigate. Nagios also has an online support forum and an online library for those who require support beyond what the user manual provides.
Nagios offers support for all of its products, including Core. However, some organizations may opt to go with Nagios XI, a commercial version of Nagios that offers quite a few additional features over the Core Edition. The cost of Nagios XI starts at $1,995 and includes email support for the first 12 months. An annual support plan for Nagios Core will set you back $2,495, which includes up to 10 annual support tickets with next-business-day response.
Although Nagios continues to support its free and open source Core version, it is clear they would prefer you buy the commercial version. This is a common approach, and for some organizations that seek greater accountability and service response times, the commercial version might be preferable. It includes many of the missing features noted here, including the ability to configure from the Web interface using wizards, advanced reporting and customizable dashboards. However, for those who are willing to put in a bit of effort, we think the Core version is more than adequate for many tasks. It has a plugin for pretty much every scenario, good documentation and since it is available free and open source, the price is certainly right.
Pros: Lots of available plugins, good online documentation
Cons: Installation has too many steps; Web interface is a bit dated, lacks configurability; custom configuration can take a while to learn