Icinga
Open-source network monitoring application forked from Nagios
From Wikipedia, the free encyclopedia
Icinga is an open-source network monitoring system created in 2009 as a fork of Nagios.[2] The project was started by a group of Nagios community developers who cited slow development, limited community input, and insufficient handling of contributed patches as reasons for the fork.[3] The name is a Zulu word meaning "it looks for" or "it examines."[4]
| Icinga | |
|---|---|
Icinga 2.14.0 dashboard | |
| Initial release | May 2009 |
| Stable release | 2.15.0
/ June 18, 2025[1] |
| Written in | C++ (core), PHP (web frontend)[1] |
| Operating system | Linux (server); agents for Linux, FreeBSD, Windows |
| Type | Network monitoring |
| License | GPLv2 |
| Website | icinga |
| Repository | github |
Icinga 1.x maintained compatibility with Nagios plugins and configuration files, adding a modern web interface, additional database backends (PostgreSQL, Oracle), and a REST API.[5] Icinga 2, released in June 2014, was a ground-up rewrite in C++ with a new configuration language, a built-in cluster stack for distributed monitoring, and an API-first design.[6]
History
In May 2009, developers from the Nagios community announced the fork, initially maintaining full backward compatibility with Nagios Core's plugin interface and object configuration format.[3][7]
Icinga 1.0 was released in December 2009.[8] Subsequent 1.x releases added dual-stack IPv6 support, SLA reporting with distinction between planned and unplanned downtime, and integration of community add-ons for performance graphing (PNP4Nagios) and LDAP-based configuration (LConf).[7][9]
In October 2012, the project announced a technology preview of Icinga 2, a ground-up rewrite designed to address scalability limits and configuration complexity in large deployments.[10] Icinga 2.0 was released in June 2014 with a new domain-specific configuration language, a built-in TLS-secured cluster stack for distributed and high-availability setups, and a REST API for external integrations.[6]
Icinga Web 2, a PHP-based modular frontend, replaced the original Classic UI and Icinga Web 1.x interfaces. It uses a module system for extending functionality (director for configuration management, graphing, reporting, and business process monitoring).[1]
Architecture
Icinga 2 core
The Icinga 2 core is written in C++ and handles check scheduling, notification routing, event processing, and cluster communication. It uses a configuration compiler that validates object definitions at startup, catching errors before monitoring begins. Check execution is parallelized across worker threads.[6]
Features are enabled or disabled at runtime through a feature subsystem. Built-in features include the checker (runs active checks), notification (sends alerts), IDO database writer (exports state and history data to MySQL or PostgreSQL), the Icinga API (REST interface), and performance data writers for Graphite, InfluxDB, and OpenTSDB.[1]
Distributed monitoring
Icinga 2 includes a cluster stack that uses TLS (X.509) certificates for authentication. Nodes can be configured in master-satellite-agent hierarchies, where satellite nodes run checks in remote zones and report results to the master. This allows monitoring across network boundaries without requiring direct connectivity from the master to every endpoint.[1]
Plugin compatibility
Icinga 2 executes standard Nagios-compatible plugins that return exit codes 0 (OK), 1 (WARNING), 2 (CRITICAL), or 3 (UNKNOWN). The Monitoring Plugins project and the Icinga Exchange provide plugin repositories.[5]
Database backend
The IDO (Icinga Data Output) database stores monitoring state, history, and configuration data. Icinga 2 supports MySQL/MariaDB and PostgreSQL for IDO storage. Oracle support, present in Icinga 1.x, was dropped in Icinga 2.[1]
See also
- Comparison of network monitoring systems
- Nagios – Open-source network and infrastructure monitoring software
- Naemon – Open-source network and infrastructure monitoring software
- Zabbix – Open-source network and infrastructure monitoring software