Icinga

from Wikipedia, the free encyclopedia
Icinga

Icinga logo.svg
Basic data

Current  version 2.11.4
(June 18, 2020)
operating system Unix derivatives
category Network monitoring
License GPLv2
German speaking Yes
www.icinga.com

Icinga is an open source application for system and network monitoring. It was originally created as a fork of the Nagios system monitoring application in 2009.

Numerous modifications were intended to correct defects in the Nagios development process and to integrate new features such as the Icinga Web2 web interface and additional database connectors for MySQL , Oracle and PostgreSQL , a REST API . The Icinga developers also aim to better take into account the needs of the community and to integrate patches more quickly. The first stable version 1.0 was released in December 2009.

"Icinga" is a Zulu word that means "seeks", "searched" or "examined" and is pronounced with a click consonant .

history

Dissatisfied with the then stagnating development of Nagios, also with the desire to broaden the development, a group of developers from the Nagios community announced the Icinga fork in May 2009.

In their first year, Icinga developers released separate versions of the Core, API and Web and celebrated their 10,000th anniversary. Download.

In the second year, the Icinga project brought out a uniform and stable core and web, added dual-stack IPv6 / IPv4 support, optimized the database connection, revised the Icinga web user interface Icinga Web2 and integrated various community add-ons. ons (PNP4Nagios, LConf, Heatmap and Business Process Add-on). The project reached more than 70,000 downloads and grew to 23 team members.

In the second year, Icinga celebrated the 100,000. Download, integrated the Icinga API component into Icinga Web, improved SLA reports, opened an official Freenode IRC group and extended the Icinga virtual appliances to the Debian, OpenSUSE and CentOS operating systems.

In October 2012, the Icinga project released a technology preview of a core framework replacement and parallel development branch, Icinga 2. The developers expressed an intention to rewrite the core to correct deficiencies such as complicated configuration and scalability limitations in large implementations.

The project outlined plans to write the Icinga 2 core primarily in C ++, design a new component loader architecture, and redesign the process of performing monitoring and auditing.

In June 2014, the Icinga project released the first stable version of Icinga 2.

history

date Release Remarks
June 18, 2020 Icinga 2 v2.11.4 Bugfix release. Fixes errors in the unknown service status after reload, fixes Segfault errors during the heartbeat timeout.
March 3, 2020 Icinga 2 v2.11.3 Bugfix release. Fixes JSON-RPC crashes in large environments.
October 24, 2019 Icinga 2 v2.11.2 Bugfix release. Fixes errors in Cluster-Config-Sync, especially long reloads in large environments.
17th October 2019 Icinga 2 v2.11.1 Bugfix release. Fixes critical errors in Cluster-Config-Sync.
19th September 2019 Icinga 2 v2.11.0 Feature and bug fix release. Fixes missing notification after downtime, most of the network stack was rewritten, REST-API improved, stability improved.
23 May 2019 Icinga 2 v2.10.5 Bugfix release. Fixes problems with logrotate, API improvements, IDO DB reload mechanism and documentation
19th March 2019 Icinga 2 v2.10.4 Bugfix release. TLS connections for InfluxDB / Elasticsearch. Performance for HA cluster communication
26th February 2019 Icinga 2 v2.10.3 Bugfix release. Problems with TLS connections with master and agents with reload and “Connection: close” headers with Ruby clients fixed. In addition, problems with (scheduled) downtimes in the HA-enabled cluster environments have been fixed.

2.10.3 also solves a problem with future time offsets and check results.

November 14, 2018 Icinga 2 v2.10.2 Bugfix release. Fixed TLS connection errors in the cluster, increased stability, fixed API errors, optimized IDO.
October 18, 2018 Icinga 2 v2.10.1 Bugfix release. Problems of namespace support and reload / restart of the application fixed.
October 11, 2018 Icinga 2 v2.10 Feature release with support for own namespaces. Optimization of notifications, improved syntax highlighting with vim.

Improvement of the connection handling. Extension of the ITL commands.

July 24, 2018 Icinga 2 v2.9.1 Bugfix release. Fixed a bug when using the daemonize option or an init system other than systemd.

Fixes a bug in the SELinux guideline and the sourcing in the init script on non-Posix systems.

17th July 2018 Icinga 2 v2.9.0 Feature release with Elasticsearch 6 support, TLS support for IDO PostgreSQL and improvements

for the setup wizard, check scheduling, downtime notification handling and memory handling.

April 25, 2018 Icinga 2 v2.8.4 Bugfix release. Fixed a regression where running the check resulted in a crash.
March 22, 2018 Icinga 2 v2.8.2 Bugfix release. Various security issues have been fixed.
17th January 2018 Icinga 2 v2.8.1 Bugfix release. Fixed a bug in the API when creating an object at runtime.

Fixed installation problems on Windows with missing DLLs. Documentation updates.

17th November 2017 Icinga 2 v2.8.0 Feature release with new CA proxy function. New beat detection algorithm. ElasticsearchWriter function with HTTP proxy support.

CORS support for the REST API. The "bottom-up" cluster mode and the Classic UI package have been removed.

9th November 2017 Icinga 2 v2.7.2 Bugfix release. Invalid attribute names in the systemd unit file and incorrect unique restriction for IDO DB fixed.

Documentation update

September 21, 2017 Icinga 2 v2.7.1 Bugfix release. Problem with DB IDO, Livestatus, Notifications fixed. Update of the notification scripts. Documentation update.
2nd August 2017 Icinga 2 v2.7.0 Feature release with new notification scripts, work queues, check plugin for NSClient ++ API & stability improvements & fixes
December 13, 2016 Icinga 2 v2.6.0 Feature release with bundled NSClient ++ & stability improvements & fixes
23rd August 2016 Icinga 2 v2.5.0 Feature release with InfluxDB, IDO Performance, Timeperiod Excludes & Fixes
November 16, 2015 Icinga 2 v2.4.0 Feature release with new API (REST API)
March 13, 2015 1.14 corrections
March 9, 2015 Icinga 2 v2.3.0 Feature release with configuration extensions (functions, loops, conditionals, object access, time-dependent threshold values, etc.),

OpenTSDB support and troubleshooting client command

19th November 2014 1.12 Classic UI enhancements and corrections
17th November 2014 Icinga 2 v2.2.0 Feature release with remote clients, CSR auto-signature, cli, arrays / dictionaries in their own attributes
29th August 2014 Icinga 2 v2.1.0 Feature release with extended configuration analysis, logging, cluster high availability features
June 16, 2014 Icinga 2 v2.0.0 First stable version Icinga 2
May 16, 2014 Icinga 2 v0.0.11 Revised cluster feature with high availability and load balancing zones, command arguments & conditionals
April 29, 2014 Icinga 2 v0.0.10 Extension applies rules for notifications, dependencies, custom attributes, etc.
March 31, 2014 Icinga 2 v0.0.9 Rule-based 'apply' logic, user-friendliness of the configuration, update of the database schema (MySQL, PostgreSQL)
March 13, 2014 1.11 Interoperability (with Solaris, Oracle, IE) and user interface improvements
March 11, 2014 Icinga 2 v0.0.8 Dependencies as in-line dictionaries, cluster health checks, recursive 'config includes'
February 7, 2014 Icinga 2 v0.0.7 Automated tests in Vagrant, database IDO stability
19th December 2013 Icinga 2 v0.0.6 Recurring downtimes, log command arguments, latency statistics
3rd December 2013 Icinga 2 v0.0.5 Performance improvements & bug fixes
November 12, 2013 Icinga 2 v0.0.4 IDO PostgreSQL , Livestatus History
October 24, 2013 Icinga 2 v0.0.3 IDO MySQL , Livestatus, graphite, cluster structure, documentation
October 24, 2013 1.10 Classic UI live search and on-demand filter selection, performance improvements
2nd of July 2013 Icinga 2 v0.0.2 Technology preview with Core 1.x compatibility layer
May 7, 2013 1.9 1.9 Performance improvements and usability fixes
October 25, 2012 Icinga 2 v0.0.1 Technology preview of the replacement of the core framework
October 18, 2012 1.8 Community based improvements to the optional user interfaces and Icinga reporting
May 15, 2012 1.7 Packaging simplified
November 30, 2011 1.6 SLA extension (optional)
August 24, 2011 1.5 Icinga reporting integrated into the Icinga web interface
May 11, 2011 1.4 Improvements to both optional user interfaces
February 16, 2011 1.3 Dual-stack IPv4 and IPv6 support
October 13, 2010 Icinga Mobile user interface for smartphones and tablets
October 6, 2010 1.2 Uniform stable version
August 18, 2010 1.0.3 Uniform version, unstable Icinga Web
July 30, 2010 1.0.2 Core, 1.0.1 Web Performance improvements
March 3, 2010 1.0.1 Web beta performance improvements, Icinga web enhancements
December 16, 2009 1.0 Core, 0.9.1 Web Alpha Stable Core, Oracle and PostgreSQL database support
October 28, 2009 1.0 RC core Initial Oracle database support
September 15, 2009 0.8.4 IDOUtils bug fixes
September 2, 2009 0.8.3 First support of the PostgreSQL database
August 12, 2009 0.8.2 Icinga API integration
June 16, 2009 0.8.1 Core bug fix
May 15, 2009 0.8 Initial release

Features

As a fork of Nagios, Icinga offers the functions of Nagios as well as some extensions such as the optional reporting module with improved SLA accuracy, additional database connectors for PostgreSQL and Oracle and distributed systems for redundant monitoring.

Basically Icinga in version 1 retains the configuration and plug-in compatibility with Nagios, which makes the migration between the two monitoring programs easier. Icinga2, on the other hand, has been completely rewritten, the configuration syntax changed here. The plugin compatibility, however, has remained.

monitoring

  • Monitoring of network services (SMTP, POP3, HTTP, NNTP, ping etc.)
  • Monitoring of host resources (CPU usage, hard disk usage, etc.)
  • Monitoring of server components (switches, routers, temperature and humidity sensors, etc.)
  • Simple plug-in design that enables users to develop their own service checks
  • Parallelized service checks
  • Possibility to define a network host hierarchy with the help of "higher-level" hosts, which enables the detection and differentiation between failed and unreachable hosts
  • Ability to define event handlers to be executed during service or host events for proactive problem resolution

Notification

  • Notification of contacts when service or host problems arise and are resolved (via email, pager, instant message, or custom method)
  • Escalation of alerts to other users or communication channels

Visualization & reporting

  • User interface (Icinga Web2) for the visualization of host and service status, network maps, reports, logs etc.
  • Template-based reports (e.g. top 10 problematic hosts or services, summary of the complete monitoring environment, availability reports, etc.)
  • Report repository with different access levels and automatic report generation and distribution
  • Optional extension based on the Icingaweb2 reporting module for SLA reporting, which differentiates between critical events and planned and unplanned downtimes and confirmation periods
  • Capacity utilization reporting
  • Performance graph via add-ons such as PNP4Nagios, Graphite and Grafana

architecture

The Icinga Core is written in C and has a modular architecture with its own core, user interface and database on which users can integrate various add-ons and plug-ins.

The latter communicate via Icinga's Doctrine Abstraction Layer, REST and plug-in APIs - which mediate between the external data and internal structures. This bundling of the components enables the users to distribute the Icinga system for redundant monitoring. It also gives the user the freedom to customize Icinga to suit their needs.

Icinga core

The Icinga Core manages monitoring tasks and receives test results from various plug-ins. These results are then transmitted to the IDODB (Icinga Data Out Database) via the IDOMOD interface (Icinga Data Out Module) and the IDO2DB service daemon (Icinga Data Out to Database) via SSL encrypted TCP sockets. Although both are supplied together with the core (also known as IDOUtils), they are individual standing components that can be separated to distribute the data and processes across multiple servers to monitor distributed systems.

The Icinga Classic user interface was also delivered with Icinga Core up to version 2.7.2 and up to then could be used as a replacement for the PHP-based Icinga web interface.

Icinga 2

Icinga 2 manages monitoring tasks, performs reviews, and sends alarm notifications. The functions of Icinga 2 can be activated if necessary, be it the standard functions such as the “checker” or “notification” component or external interfaces that are compatible with Icinga 1.x and its user interfaces, for example the IDODB (Icinga Data Out Database ). Icinga 2 ships a built-in cluster stack that is secured by SSL x509 certificates and attempts to simplify distributed monitoring setups.

The configuration syntax differs from Icinga Core 1.x and Nagios and requires migration when upgrading.

Icinga user interface

Image GUI Icingaweb2.6.1
Icinga Web2 GUI 2.6.1

The GUI intended for Icinga2 is Icingaweb2, development is also ongoing here.

Icingaweb2 is a comprehensive "PHP framework" for web applications, which also allows the development of your own modules. The Icinga Classic UI was removed from Icinga 2, but is still available as source code or in older packages, but is no longer actively supported.

Icinga Web 2 modules

Monitoring module

This is the main module that comes with the Icinga Web2 package. It represents an intuitive user interface for monitoring with Icinga 2. The so-called views can be sorted and placed in their own dashboards. An integrated user administration with possible MySQL or AD integration is also available and regulates the possible access to the monitoring. Communication to the Icinga 2 Core takes place via the Icinga-2-REST-API. All possible actions can be applied to the monitoring objects here.

Icinga Web2 is barrier-free and can therefore also be operated with screen readers. The color schemes can also be adjusted accordingly for people with visual impairment.

Jira module

A module was developed for the "Jira Service Desk" ticket system. It enables integration into the Icingaweb2 interface and the Icingaweb2 Director module.

Director module
Image Module Director for Icingaweb2
Director module for Icinga Web2

A database-supported GUI for the administration and automation of Icinga 2. Communication with Icinga 2 takes place via the Icinga 2 API. Using so-called “templates” for host and service objects, it is possible to standardize monitoring.

A connection to external sources (databases, CSV, XLS) is also possible, these enable the fully automatic import of host and service objects.

Business process tools

This allows processes and their dependencies to be displayed graphically. The process statuses can be escalated to the mail or trouble ticket system.

Cube

Visualization of hosts and services in a separate view.

PNP

Visualization of performance data using graphs, based on RRDtool . The PNP module integrates the data from pnp4nagios, which is its own software development.

Elasticsearch

Connection to an Elastic instance to display host data (e.g. event log) requires a functioning Elasticsearch server.

Icinga data out database

The Icinga Data Out Database (IDODB) is a storage space for historical monitoring data for add-ons or the Icinga web interface. In contrast to its predecessor Nagios, Icinga also supports PostgreSQL and Oracle databases in addition to MySQL. The Icinga Web2 GUI accesses this database and displays the host and service status graphically.

Icinga reporting

The Icinga project offers an optional Icinga reporting module; it replaces the previous "Jasper Reports" solution.

Extended functionality

Checks

All checks that were also written for Nagios can be used for Icinga. In addition, Icinga now maintains its own website for checks and extensions in order to be independent in development.

Performance data

Almost all checks can also write so-called performance data. These would have to be processed with an appropriate program. Icinga 2 works with the following programs, among others, to make performance data evaluable for a longer period of time:

  • Graphite
  • PNP4Nagios (module is not actively developed further)

Log files

  • There is a separate Icinga 2 output plugin for Elasticsearch , which enables certain events to be sent to the Icinga 2 REST API.
  • Graylog

Individual evidence

  1. https://icinga.com/2020/06/18/icinga-2-11-4/
  2. Open-source working as advertised: ICINGA forks Nagios . In: CNET . May 6, 2009 ( online [accessed August 17, 2018]).
  3. a b Why a fork? - Icinga: Open Source Monitoring . In: archive.li . April 23, 2013 ( online [accessed August 17, 2018]).
  4. SOpenSource. Retrieved August 17, 2018 .
  5. Icinga Web 2 . In: Icinga . November 30, 2015 ( online [accessed August 17, 2018]).
  6. ^ Falko Benthin: Icinga »ADMIN Magazine. Retrieved August 17, 2018 .
  7. A lesson in Zulu: “Icinga” . In: Icinga . November 3, 2010 ( online [accessed August 17, 2018]).
  8. Nagios Vs. Icinga: the real story of one of the most heated forks in free software. Retrieved August 17, 2018 .
  9. 3 years old & 100,000 downloads! In: Icinga . May 6, 2012 ( online [accessed August 17, 2018]).
  10. Icinga 2 v.0.0.1 released! In: Icinga . October 25, 2012 ( online [accessed August 17, 2018]).
  11. Icinga 2.0 has arrived . In: Icinga . June 16, 2014 ( online [accessed August 17, 2018]).
  12. Michael Friedrich: Icinga 2.10.2 bugfix release. In: Icinga. November 14, 2018. Retrieved December 13, 2018 (American English).
  13. Icinga 2.10 released: Namespaces, Notifications, TLS Performance . In: Icinga . October 11, 2018 ( online [accessed October 12, 2018]).
  14. Icinga | NETWAYS GmbH. Accessed August 27, 2018 (English).
  15. Migrating From Icinga 1x - Icinga 2. Retrieved on August 27, 2018 (English).
  16. Feu Mourek: Icinga Reporting - Hands On. In: Icinga. June 17, 2019, Retrieved November 12, 2019 (American English).
  17. About - Icinga 2. Retrieved August 17, 2018 (English).
  18. Icinga 2 v2.8.0 released . In: Icinga . November 17, 2017 ( online [accessed August 17, 2018]).
  19. Upgrading Icinga 2 - Icinga 2. Accessed September 24, 2019 .
  20. Johannes Meyer: Icinga Web 2 - Everyone can do that. In: netways.de. January 15, 2015, accessed September 24, 2019 .
  21. Blerim Sheqa: Releasing Icinga Module for Jira. In: Icinga. November 7, 2019. Retrieved November 12, 2019 (American English).
  22. start [PNP4Nagios Docs]. Retrieved September 24, 2019 .
  23. Search results for "monitoring-plugins" | Icinga. Retrieved August 17, 2018 (American English).
  24. ^ Michael Friedrich: Flexible and easy log management with Graylog. Netways.de, June 1, 2017, accessed on December 3, 2019 .

Web links