# 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 large, complex 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 - whether it be sending patches, testing, reporting bugs, or reviewing and updating the documentation. Every contribution is appreciated! Please get in touch with the Icinga team at [https://www.icinga.org/ecosystem/]. ## Icinga 2 Development You can follow Icinga 2's development closely by checking out these resources: * Development Bug Tracker: [https://dev.icinga.org/projects/i2?jump=issues] ([http://www.icinga.org/faq/how-to-report-a-bug/]) * Git Repositories: [https://git.icinga.org/?p=icinga2.git;a=summary] (mirror at [https://github.com/Icinga/icinga2]) * Git Checkins Mailinglist: [https://lists.icinga.org/mailman/listinfo/icinga-checkins] * Development Mailinglist: [https://lists.icinga.org/mailman/listinfo/icinga-devel] * \#icinga-devel on irc.freenode.net [http://webchat.freenode.net/?channels=icinga-devel] including a Git Commit Bot For general support questions, please refer to [https://www.icinga.org/support/]. ## 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 * Updated sample configuration for final release. ### 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. * 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 is no longer a problem. * Modular & flexible [features](#features) Enable only the features you require. Want to use Icinga Web 2 with 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) In Icinga2, the 'Livestatus' protocol is available for use as either a 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 into 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. Commands also have custom attributes allowing you to specify default values. * 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 an 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 using cronjobs to set up recurring downtime - you can configure them as Icinga2 configuration objects and specify 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 colleagues.