Review: Icinga enterprise-grade, open-source network monitoring that scales

存储架构 2018-05-18 阅读原文

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 be 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.

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.

In order to use Icinga Web, we first needed to install a database. Our options were PostgreSQL or MySQL, and we opted for the latter. Then we had to run through a series of additional commands and screen prompts to download, install and configure a variety of options, including the Apache Web server and PHP.

The last step was to create a token needed to launch the Icinga Web interface. With our newly minted token in hand, we finally were able to start our browser and were presented with a Web wizard. Although the wizard was easy to use, we found it to be too complex (more than 10 steps) and required us to go back to the prompt several times, once to set the time zone for the PHP configuration file and at least once to change database settings.

With installation and initial configuration complete, we were finally able to launch the Icinga Web interface. The initial screen you see is the ‘dashboard,’ which displays an overview of the infrastructure with any service and host related warnings and errors listed.

In addition to the dashboard summary overview, Icinga provides multiple ways to sort and display infrastructure data. Data can be displayed by hosts, services and groups, with the ability to drill down to view details about a specific issue.

When viewing details about an error, you have the option to perform different tasks such as acknowledge the error, perform an immediate re-check, add notes, send custom notifications or schedule downtime or future re-checks.

While Icinga Web is both easy and fast to use, we wanted a way to create, edit or delete monitoring rules from the interface, finding that most of these tasks need to be completed using the configuration files. Icinga says there are tools in development for this, but no real solution is currently available.


Basic on-screen reporting is serviceable in Icinga Web, but for more robust reporting, it’s best to use Icinga’s separate reporting module. This works with JasperReports Server to provide powerful reporting capabilities. There are also additional reporting and graphing add-ons such as Graphite and PNP, as well as log tools like GrayLog and LogStash.

Icinga provides a comprehensive online user manual that is well-organized, easy to navigate by topic or searchable by keyword. For larger installations, Icinga provides the option of setting up a distributed monitoring environment, including high-availability clustering.

Icinga offers commercial support at four different levels, bronze, silver, gold and platinum. There is no published online pricing.

Pros: Easy to install Core, solid documentations for multiple Linux distros, thousands of available pre-configured plugins, scales well.

Cons: The Icinga Web 2 install is cumbersome with too many steps, offers no way to create and manage rules from Web interface.

Join the Network World communities on Facebook
and LinkedIn
to comment on topics that are top of mind.

Network World

责编内容by:Network World阅读原文】。感谢您的支持!


无服务器如何改变云计算 在最近的调查中,调研机构Sumo Logic公司调查了采用亚马逊网络服务(AWS)、微软Azure和谷歌云平台(GCP)等云计算服务的1500名客户。根据调查,四分之一的受访者已经部署了Docker容器,几乎有23%的受访者表示正在使用AW...
Histogram Hassle I came across a simple performance problem recently that ended up highlighting a problem with the 12...
Panera Bread customer records exposed via leaky da... There’s a war of words going on at the moment between veteran cybercrime reporter Brian Krebs and US bakery chain Panera...
闪存存储特性以及数据库相关优化思路... 闪存存储当前越来越多的应用于企业级环境,特别是提升数据库性能方面。本次分享主要介绍闪存的特性,闪存的劣势及其解决机制,以及采用闪存存储时数据库的一些优化思路。 目录 闪存的特性 闪存的劣势及其解决机制 数据库场景...
某客户一套15TB的数据库恢复小记 本站文章除注明转载外,均为本站原创:转载自 love wife & love life —Roger 的Oracle技术博客 本文链接地址: 某客户一套15TB的数据库恢复小记 ...