Английская Википедия:Icinga
Шаблон:Short description Шаблон:Multiple issues Шаблон:Infobox software
Icinga is an open-source computer system and network monitoring application. It was created as a fork of the Nagios system monitoring application in 2009.[1][2]
Icinga tries to improve Nagios's development process[3] as well as adding new features[4][5] such as a modern Web 2.0 style user interface, additional database connectors (for MySQL, Oracle, and PostgreSQL), and a REST API that lets administrators integrate numerous extensions without complicated modification of the Icinga core.
The first stable version, 1.0, was released in December 2009, and new versions were released every couple of months as of January 2010.[6]
History
In May 2009, a group of developers from the Nagios community announced the fork Icinga, citing their dissatisfaction with the stagnant development of the Nagios software at the time and their desire to open its development to a broader base.[3] The name Icinga is a Zulu word meaning "it looks for", "it browses" or "it examines"[7] and is pronounced with a click consonant.[8]
In their first year, Icinga developers released separate versions of Core, API, and Web, and celebrated their 10,000th download.[9]
In its second year, the Icinga project released unified and stable Core and Web; added dual-stack IPv6 and IPv4 support, optimized database connectivity, and revamped the Icinga Web user interface, integrating various community add-ons (PNP4Nagios, LConf, Heatmap and Business Process Addon). The project achieved more than 70,000 downloads and grew to 23 team members.[9]
In their second year, Icinga celebrated their 100,000th download, integrated the Icinga API component into Icinga Web, improved SLA reporting; and extended the Icinga virtual appliances to the Debian, OpenSUSE and CentOS operating systems.[10]
In October 2012, the Icinga project released a technology preview of Icinga 2. It was a core framework replacement and parallel development branch. The developers said they want to rewrite the core to fix problems. These include the complicated setup and scalability limits in big deployments. They plan to rewrite the Icinga 2 core in C++ and design a new component loader architecture. They also plan to change how monitoring checks run.[11]
In June 2014, the Icinga project released the first stable release of Icinga 2.[12] New features, such as an agent or API feature, are scheduled for later releases.
Timeline of releases
Date | Release[13] | Notes |
---|---|---|
12 November 2021 | Icinga 2 v2.13.2 | This version only includes changes needed for the release of Icinga DB 1.0.0 RC2 and doesn't include any other bug fixes or features. |
19 September 2019 | Icinga 2 v2.11 | The "biggest release ever done", including network stack rewrite, clustering, running in Docker containers, TLS 1.2, Windows client, documentation. |
19 March 2019 | Icinga 2 v2.10.4 | Bugfix release. Fixes bugs with the InfluxDB and Elasticsearch metric writers when connecting through TLS. |
26 February 2019 | Icinga 2 v2.10.3 | Bugfix release. Fixes TLS connections with masters and agents on reload. |
14 November 2018 | Icinga 2 v2.10.2 | Bugfix release. Fixed a bug with hanging HTTP request sessions. Fixed a regression with the cache file including legacy 1.x objects. |
18 October 2018 | Icinga 2 v2.10.1 | Bugfix release. Fixed a regression with the namespace support. Fixed a bug with the application reload and missing event states. |
11 October 2018 | Icinga 2 v2.10.0 | Feature release with support for namespaces, improved TLS connection handling, updated syntax highlighting, and updates to the technical concepts documentation. |
24 July 2018 | Icinga 2 v2.9.1 | Bugfix release. Fixed a bug when using the daemonize option or an init system different to systemd. Fixes a bug within the SELinux policy and sourcing in init script on non-POSIX systems. |
17 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. |
25 April 2018 | Icinga 2 v2.8.4 | Bugfix release. Fixed a regression where check execution leads to a crash. |
24 April 2018 | Icinga 2 v2.8.3 | Bugfix release. Fixed a bug where Sysconfig file settings are not taken into account. Fixes a crash when using the Elasticsearch feature. Documentation updates. |
22 March 2018 | Icinga 2 v2.8.2 | Bugfix release. Fixed several security-related issues. |
17 January 2018 | Icinga 2 v2.8.1 | Bugfix release. Fixed a bug within the API when an object was created at runtime. Fixed installer problems on Windows with missing DLLs. Documentation updates. |
17 November 2017 | Icinga 2 v2.8.0 | Feature Release with new CA proxy feature. New flapping detection algorithm. ElasticsearchWriter feature with HTTP proxy support. CORS support for the REST API. The "bottom-up" cluster mode and the classicui were removed. |
9 November 2017 | Icinga 2 v2.7.2 | Bugfix release. Fixed invalid attribute names in the systemd unit file and fixed incorrect unique constraint for IDO DB. Documentation updates. |
21 September 2017 | Icinga 2 v2.7.1 | Bugfix release. Fix issues with DB IDO, Livestatus, and acknowledgment notifications. Notification scripts update. Documentation update. |
2 August 2017 | Icinga 2 v2.7.0 | Feature Release with new notifications scripts, Work queues, Check plugin for NSClient++ API, stability improvements, and fixes. |
13 December 2016 | Icinga 2 v2.6.0 | Feature Release with bundled NSClient++ & stability improvements and fixes. |
23 August 2016 | Icinga 2 v2.5.0 | Feature Release with InfluxDB, IDO Performance, Time period Excludes and fixes. |
16 November 2015 | Icinga 2 v2.4.0 | Feature Release with new API (REST API) |
9 March 2015 | Icinga 2 v2.3.0 | Feature release with configuration enhancements (functions, loops, conditionals, object accessors, time-dependent thresholds, etc.), OpenTSDB support and troubleshoot CLI command |
19 November 2014 | 1.12 | Classic UI enhancements and fixes |
17 November 2014 | Icinga 2 v2.2.0 | Feature release with remote clients, CSR auto-signing, CLI, arrays/dictionaries in custom attributes |
29 August 2014 | Icinga 2 v2.1.0 | Feature release with enhanced configuration analysis, logging, cluster High Availability features |
16 June 2014 | Icinga 2 v2.0.0 | First stable release |
16 May 2014 | Icinga 2 v0.0.11 | Redesigned cluster feature with High Availability and load-balanced zones, command arguments and conditionals |
29 April 2014 | Icinga 2 v0.0.10 | Advanced apply rules for notifications, dependencies, custom attributes, etc. |
31 March 2014 | Icinga 2 v0.0.9 | Rule-based 'apply' logic, configuration usability, database schema update (MySQL, PostgreSQL) |
13 March 2014 | 1.11 | Interoperability (with Solaris, Oracle, IE) and user interface improvements |
11 March 2014 | Icinga 2 v0.0.8 | Dependencies as in-line dictionaries, cluster health checks, recursive 'config includes' |
7 February 2014 | Icinga 2 v0.0.7 | Automated tests in Vagrant, database IDO stability |
19 December 2013 | Icinga 2 v0.0.6 | Recurring downtimes, log command arguments, latency statistics |
3 December 2013 | Icinga 2 v0.0.5 | Performance improvements and bugfixes |
12 November 2013 | Icinga 2 v0.0.4 | IDO PostgreSQL, Livestatus history |
24 October 2013 | Icinga 2 v0.0.3 | IDO MySQL, Livestatus, Graphite, cluster setup, documentation |
24 October 2013 | 1.10 | Classic UI live search and on-demand filter selection, performance improvements |
2 July 2013 | Icinga 2 v0.0.2 | Technology preview with core 1.x compatibility layer |
7 May 2013 | 1.9 | Performance improvements and usability fixes |
25 October 2012 | Icinga 2 v0.0.1 | Technology preview of core framework replacement |
18 October 2012 | 1.8 | Community requested improvements to both optional user interfaces and Icinga Reporting |
15 May 2012 | 1.7 | Packaging simplified |
30 November 2011 | 1.6 | SLA reporting extension (optional) |
24 August 2011 | 1.5 | Icinga Reporting integrated into Icinga Web interface |
11 May 2011 | 1.4 | Improvements to both optional user interfaces |
16 February 2011 | 1.3 | Dual-stack IPv4 and IPv6 support |
13 October 2010 | Icinga Mobile | User interface for smartphones and tablets |
6 October 2010 | 1.2 | Unified, stable release |
18 August 2010 | 1.0.3 | Unified release, unstable Icinga Web |
30 July 2010 | 1.0.2 Core, 1.0.1 Web | Performance improvements |
3 March 2010 | 1.0.1 Core, 0.9.1 Web Beta | Performance improvements, Icinga Web enhancements |
16 December 2009 | 1.0 Core, 0.9.1 Web Alpha | Stable core, Oracle and PostgreSQL database support |
28 October 2009 | 1.0 RC Core | Initial Oracle database support |
15 September 2009 | 0.8.4 | IDOUtils bugfixes |
2 September 2009 | 0.8.3 | Initial PostgreSQL database support |
12 August 2009 | 0.8.2 | Icinga API integration |
16 June 2009 | 0.8.1 | Core bugfixes |
15 May 2009 | 0.8 | Initial release |
Features
Due to its nature as a fork, Icinga offers Nagios’ features with some additions such as optional reporting module with improved SLA accuracy, additional database connectors for PostgreSQL and Oracle, and distributed systems for redundant monitoring. Icinga also maintains configuration and plug-in compatibility with Nagios,[9] facilitating migration between the two monitoring software.
Monitoring
- Monitoring of network services (SMTP, POP3, HTTP, NNTP, ping, etc.)
- Monitoring of host resources (CPU load, disk usage, etc.)
- Monitoring of server components (switches, routers, temperature and humidity sensors, etc.)
- Simple plug-in design that allows users to easily develop their own service checks
- Parallelized service checks
- Ability to define network host hierarchy using “parent” hosts, allowing detection of and distinction between hosts that are down and those that are unreachable
- Ability to define event handlers to be run during service or host events for proactive problem resolution
Notification
- Notification of contact persons when service or host problems occur and get resolved (via email, pager, instant message,[14] or user-defined method)
- Escalation of alerts to other users or communication channels
Visualisation & reporting
- Two optional user interfaces (Icinga Classic UI and Icinga Web) for visualization of host and service status, network maps, reports, logs, etc.
- Icinga Reporting module based on open source Jasper Reports for both Icinga Classic and Icinga Web user interfaces
- Template-based reports (e.g. Top 10 problematic hosts or services, synopsis of complete monitoring environment, availability reports, etc.)
- Report repository with varying access levels and automated report generation and distribution
- Optional extension for SLA reporting that distinguishes between critical events from planned and unplanned downtime and acknowledgment periods[15]
- Capacity utilization reporting
- Performance graphing via add-ons such as PNP4Nagios, NagiosGrapher, and InGraph
Architecture
Icinga Core is written in C[16] and has a modular architecture with a standalone core, user interface, and database on which users can integrate various add-ons and plug-ins.
The latter communicates via Icinga's Doctrine abstraction layer, REST and plug-in APIs that mediate between the external data and internal structures. This bundling of components allows users to distribute Icinga's system for redundant monitoring. It also offers users the freedom to customize Icinga to suit their needs.[17]
Icinga Core
The Icinga Core manages monitoring tasks, receiving check results from various plug-ins. It then communicates these results to the IDODB (Icinga Data Out Database) through the IDOMOD (Icinga Data Out Module) interface and the IDO2DB (Icinga Data Out to Database) service daemon over SSL-encrypted TCP sockets. Though both come packaged (also known as IDOUtils) with the core, they are single-standing components that can be separated to distribute the data and processes across multiple servers for distributed system monitoring.
The Icinga Classic user interface also comes packaged with Icinga Core and can be used as a substitute for the PHP-based Icinga Web interface.
Icinga 2
Icinga 2 manages monitoring tasks, running checks, and sending alert notifications. The Icinga 2 features can be enabled on-demand, be it default features such as the 'checker' or 'notification' component, or external interfaces compatible with Icinga 1.x and its user interfaces, for example, the IDO DB (Icinga Data Out Database). Icinga 2 ships a built-in cluster stack secured by SSL x509 certificates attempting to make distributed monitoring setups more easy.
The configuration syntax is different for Icinga Core 1.x and Nagios and requires a migration on upgrade.
Icinga's User Interface
Icinga offers a web interface for users to view monitoring results and send commands to the Icinga Core, called Icinga Web (also ref-rred to as New Web) is the projecgavi and PHP based, Web 2.0 inspired front end that uses Cronks (widgets) to offer drag-n-drop customized dashboards. Icinga Web is a standalone piece, of software. It communicates to the core, database, and 3rd party add-ons the thrinput/dmponent layers: Doctrine abstraction, layer the (Input/Database), REST API (external scripts) and Command Control Interface (writing to a pipe, executing commands).
The interface presents information on host and service status, history, notifications, and status maps to show the health of a network in real-time and also supports IPv4 as well as IPv6 addresses.
Icinga Data Out Database
The Icinga Data Out Database (IDODB) is a storage point for historical monitoring data for add-ons or the Icinga Web interface to access. In contrast to its predecessor Nagios, Icinga supports PostgreSQL and Oracle databases in addition to MySQL.
Icinga Reporting
The Icinga project offers an optional Icinga Reporting module based on the open source Jasper Reports. It can be integrated into both Icinga Classic and Icinga Web user interfaces. The module provides template-based reports (e.g., Top 10 problematic hosts or services, synopsis of complete monitoring environment, availability reports, etc.) that can be saved to a repository with varying access levels and automated report generation and distribution. Reports can also be viewed in both of Icinga's optional user interfaces.
Icinga Mobile
Icinga Mobile is a user interface for smartphones and tablet browsers that run on WebKit. These usually are available on iOS, Android, BlackBerry Tablet OS and webOS. Based on JavaScript and Sencha Touch, Icinga Mobile is downloaded onto a server for access by authorized users via their mobile devices. Administration and updates can thus be made centrally, to automatically apply to all users of a computer network.[18]
Extended functionality
Icinga is compatible with all plug-ins and the majority of add-ons written for Nagios, especially for users opting for the Icinga Classic UI. Popular add-ons to extend Icinga's functionality include:
- Performance graphing (e.g. PNP4Nagios, NagiosGrapher, InGraph)
- Configuration interfaces and tools (e.g. Nconf (tool for configuring Nagios), NagiosQL, LConf)
- Business process monitoring (e.g. Business Process Addons)
- Network visualization (e.g. NagVis, Nagmap)
- Windows monitoring (e.g. NSClient++, Cygwin)
- SNMP trap monitoring (e.g. SNMPTT, NagTrap)
Icinga has been deployed in distributed and failover setups.[19] The software's modular architecture with standalone Core, Web and IDODB (Icinga Data Out Database) facilitates distributed monitoring and distributed systems monitoring.
Nagios Remote Plugin Executor (NRPE) is an Icinga-compatible agent that allows remote systems monitoring using scripts that are hosted on remote systems. It allows for monitoring resources such as disk usage, system load or the number of users currently logged in. Icinga periodically polls the agent on the remote system using the check_nrpe plug-in. In setups using the optional Icinga Web user interface, monitoring data from multiple Icinga Core instances can be displayed as long as each instance writes to the same IDODB. Icinga can have its various components split and scattered in a distributed setup.
The user access, notifications, and views can be customized.
See also
References
External links
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite news
- ↑ 3,0 3,1 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ 9,0 9,1 9,2 Шаблон:Cite news
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite news
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web