REVIEW: Icinga - Enterprise-grade, open-source network-monitoring that scales

Icinga's management software is well-documented, easy to install and has plenty of plug-ins, but could benefit from an easier install

supercomputer / servers / data center / network
MaxiPhoto / Getty Images

Continuing our quest for robust, enterprise-grade open source network monitoring, we tested Icinga Core 2 (version 2.8.1) and the stand-alone Icinga Web 2 interface. Created in 2009 as a fork of the Nagios network monitoring tool, Icinga has come a long way.

We found Icinga to be a powerful monitoring tool with many great features. The Core install is straightforward and basic monitoring is easy with either pre-configured templates or plugins. However, we discovered that the Web install is a bit more complicated and could stand to be streamlined.

Icinga runs on most of the popular Linux distros and the vendor provides detailed installation instructions for Ubuntu, Debian, Red Hat (including CentOS and Fedora) and SUSE/SLES. Icinga does not publish specific hardware requirements, but our installation ran well on a quad-core processor with 4 GB RAM and this is probably a good starting point for a basic installation.

As with most monitoring applications, storage is an important variable that largely depends on the number of hosts and services monitored and how often information is written to the log. With too little storage, the logs can easily fill up and freeze the system.

Network World > Open-Source Monitoring Tools > Icinga > Pros + Cons IDG

We were able to quickly install Icinga on Ubuntu 16.04 LTS with just a few simple commands at the prompt. The first step was to download the necessary files to the local repository, and then install the actual Icinga application. Icinga can be used to monitor the availability of hosts and services from switches and routers as well as a variety of network services like HTTP, SMTP and SSH.


One of Icinga’s strengths is the availability of plugins that can be used for most monitoring tasks, and as part of the installation you need to install the basic monitoring plugins to check external services. There are literally thousands of plugins available, both directly from the Icinga Exchange and from third parties. For third-party plugins from unknown sources, it is a good security practice to examine the source code and compile it yourself, or stick to known and trusted plugin authors.

Granular monitoring capabilities

Icinga provides impressive granularity as to how hosts and services are monitored. For instance, you can create what Icinga calls a ‘host object’, which is essentially a rule or task, to monitor a server.  For each server you can define what services to check, from a simple ping command to make sure the server is on and responding, or checking to see if the HTTP or FTP services are running. Icinga provides flexibility in how often to check, with various warning levels defining how and who to alert when something needs attention.

Icinga uses a series of configuration files to store information about how the infrastructure is monitored. In addition to the 10-plus default files, you can create your own custom files and include these as part of the overall Icinga configuration. While this approach might be a bit overwhelming for first-time users, we found that the concepts are fairly easy to grasp once you spend some time with the various files. Icinga provides templates that cover most scenarios, making it easier to customize its use in your environment.

Icinga utilizes different monitoring methods; the most common is the use of a pre-built or custom service-monitoring plugin. With the abundance of available plugins, you may never need to build your own, but Icinga provides instructions on how to accomplish this, if desired.

Plugins are available for monitoring hosts and services like Linux, Windows, databases, SMTP, Web services, hardware, mail servers and third-party applications like VMware and SAP. In cases where remote access may not be available, Icinga offers agent-based monitoring. One common method is an SNMP daemon that runs on the remote system. For those needing solid Windows support, Icinga can utilize the NSClient++ to run local scripts which provide detailed system information.


If you need to make changes on a regular basis, Icinga may become a bit time-consuming to configure and manage from the command prompt. Conveniently, there are several Web interfaces that can be used and we chose Icinga Web 2. This is a stand-alone application that communicates with Icinga Core. While the Core Icinga installation was very straightforward and literally took less than 10 minutes, we found the Web application to be a bit kludgy and took more than 30 minutes.

Icinga Web 2 module: Icinga Director, configuration deployment tool Icinga

Icinga Director

To continue reading this article register now

The 10 most powerful companies in enterprise networking 2022