# About Icinga 2 ## What is Icinga 2? Icinga 2 is an open source monitoring system which checks the availability of your network resources, notifies users of outages and generates performance data for reporting. Scalable and extensible, Icinga 2 can monitor complex, large environments across multiple locations. ## Licensing Icinga 2 and the Icinga 2 documentation are licensed under the terms of the GNU General Public License Version 2, you will find a copy of this license in the LICENSE file included in the source package. ## Support Support for Icinga 2 is available in a number of ways. Please have a look at the support overview page at [https://support.icinga.org]. ## Contribute There are many ways to contribute to Icinga - be it by sending patches, testing and reporting bugs, reviewing and updating the documentation. Every contribution is appreciated! Please get in touch with the Icinga team at [https://www.icinga.org/ecosystem/]. ## Demo VM Icinga 2 is available as [Vagrant Demo VM](#vagrant). ## What's new ### What's New in Version 2.0.0 Beta 1 Lots of things. Please read [Icinga 2 in a nutshell](#icinga2-in-a-nutshell). #### Changes ### Archive Please check the `ChangeLog` file. ## Icinga 2 in a Nutshell * Use [Packages](#getting-started) Look for available packages on [http://packages.icinga.org] or ask your distribution's maintainer. Compiling from source is not recommended, and not the default either. * Real Distributed Architecture [Cluster](#distributed-monitoring-high-availability) model for distributed setups, load balancing and High-Availability installations. Secured by SSL x509 certificates, supporting IPv4 and IPv6. * High Performance Multithreaded and scalable for small embedded systems as well as large scale environments. Running checks every second - not an issue anymore. * Modular & flexible [features](#features) Enable only the features required for the local installation. Using Icinga Web 2 and requiring DB IDO, but no status data? No problem, just enable ido-mysql and disable statusdata. Another example: Graphite should be enabled on a dedicated cluster node. Enable it over there and point it to the carbon cache socket. * Native support for the [Livestatus protocol](#setting-up-livestatus) Next to the Icinga 1.x status and log files and the IDO database backend the commonly used Livestatus protocol is available with Icinga 2. Either as unix or tcp socket. * Native support for [Graphite](#graphite-carbon-cache-writer) Icinga 2 still supports writing performance data files for graphing addons, but also adds the capability of writing performance data directly onto a Graphite tcp socket simplifying realtime monitoring graphs. * Dynamic configuration language Simple [apply](#using-apply) and [assign](#group-assign) rules for creating configuration object relationships based on patterns. Supported with [duration literals](#duration-literals) for interval attributes, [expression operators](#expression-operators), [function calls](#function-calls) for pattern and regex matching and (global) [constants](#constants). Sample configuration for common plugins is shipped with Icinga 2 as part of the [Icinga Template Library](#itl). * Revamped Commands One command to rule them all - supporting optional and conditional [command arguments](#commands-arguments). [Environment variables](#command-environment-variables) exported on-demand populated with runtime evaluated macros. Three types of commands used for different actions: checks, notifications and events. Check timeout for commands instead of a global option. Command custom attributes allowing you to specify default values for the command. * Custom Runtime Macros Access [custom attributes](#custom-attributes) with their short name, for example $mysql_user$, or any object attribute, for example $host.notes$. Additional macros with runtime and statistic information are available as well. Use these [runtime macros](#runtime-custom-attributes) in the command line, environment variables and custom attribute assignments. * Notifications simplified Multiple [notifications](#notifications) for one host or service with existing users and notification commands. No more duplicated contacts for different notification types. Telling notification filters by state and type, even more fine-grained than Icinga 1.x. [Escalation notifications](#notification-escalations) and [delayed notifications](#first-notification-delay) are just notifications with additional begin and/or end time attribute. * Dependencies between Hosts and Services Classic [dependencies](#dependencies) between host and parent hosts, and services and parent services work the same way as "mixed" dependencies from a service to a parent host and vice versa. Host checks depending on an upstream link port (as service) are not a problem anymore. No more additional parents settings - host dependencies already define the host parent relationship required for network reachability calculations. * [Recurring Downtimes](#recurring-downtimes) Forget the external cronjob scheduling downtimes on-demand. Configure them right away as Icinga 2 configuration objects and set their active time window. * Embedded Health Checks No more external statistic tool but an [instance](#itl-icinga) and [cluster](#itl-cluster) health check providing direct statistics as performance data for your graphing addon, for example Graphite. * Compatibility with Icinga 1.x All known interfaces are optional available: [status files](#status-data), [logs](#compat-logging), [DB IDO](#configuring-ido) MySQL/PostgreSQL, [performance data](#performance-data), [external command pipe](#external-commands) and for migration reasons a [checkresult file reader](#check-result-files) too. All [Monitoring Plugins](#setting-up-check-plugins) can be integrated into Icinga 2 with newly created check command configuration if not already provided. [Configuration migration](#configuration-migration) is possible through the Icinga Web 2 CLI tool. Additional information on the differences is documented in the [migration](#differences-1x-2) chapter. * [Vagrant Demo VM](#vagrant) Used for demo cases and development tests. Get Icinga 2 running within minutes and spread the #monitoringlove to your friends and partners.