]> granicus.if.org Git - icinga2/blob - doc/1-about.md
Documentation: Add a note on no length restrictions for plugin output/perfdata.
[icinga2] / doc / 1-about.md
1 # <a id="about-icinga2"></a> About Icinga 2
2
3 ## <a id="what-is-icinga2"></a> What is Icinga 2?
4
5 Icinga 2 is an open source monitoring system which checks the availability of your
6 network resources, notifies users of outages, and generates performance data for reporting.
7
8 Scalable and extensible, Icinga 2 can monitor large, complex environments across
9 multiple locations.
10
11 ## <a id="licensing"></a> Licensing
12
13 Icinga 2 and the Icinga 2 documentation are licensed under the terms of the GNU
14 General Public License Version 2, you will find a copy of this license in the
15 LICENSE file included in the source package.
16
17 ## <a id="support"></a> Support
18
19 Support for Icinga 2 is available in a number of ways. Please have a look at
20 the support overview page at [https://support.icinga.org].
21
22 ## <a id="contribute"></a> Contribute
23
24 There are many ways to contribute to Icinga - whether it be sending patches, testing,
25 reporting bugs, or reviewing and updating the documentation. Every contribution
26 is appreciated!
27
28 Please get in touch with the Icinga team at [https://www.icinga.org/ecosystem/].
29
30 ## <a id="development"></a> Icinga 2 Development
31
32 You can follow Icinga 2's development closely by checking
33 out these resources:
34
35 * Development Bug Tracker: [https://dev.icinga.org/projects/i2?jump=issues] ([http://www.icinga.org/faq/how-to-report-a-bug/])
36 * Git Repositories: [https://git.icinga.org/?p=icinga2.git;a=summary] (mirror at [https://github.com/Icinga/icinga2])
37 * Git Checkins Mailinglist: [https://lists.icinga.org/mailman/listinfo/icinga-checkins]
38 * Development Mailinglist: [https://lists.icinga.org/mailman/listinfo/icinga-devel]
39 * \#icinga-devel on irc.freenode.net [http://webchat.freenode.net/?channels=icinga-devel] including a Git Commit Bot
40
41 For general support questions, please refer to [https://www.icinga.org/support/].
42
43 ## <a id="demo-vm"></a> Demo VM
44
45 Icinga 2 is available as [Vagrant Demo VM](#vagrant).
46
47 ## <a id="whats-new"></a> What's new
48
49 ### What's New in Version 2.0.0 Beta 2
50
51 Lots of things. Please read [Icinga 2 in a nutshell](#icinga2-in-a-nutshell).
52
53 #### Changes
54
55 * Updated sample configuration for final release.
56
57 ### Archive
58
59 Please check the `ChangeLog` file.
60
61 ## <a id="icinga2-in-a-nutshell"></a> Icinga 2 in a Nutshell
62
63 * Use [Packages](#getting-started)
64
65 Look for available packages on [http://packages.icinga.org] or ask your distribution's maintainer.
66 Compiling from source is not recommended.
67
68 * Real Distributed Architecture
69
70 [Cluster](#distributed-monitoring-high-availability) model for distributed setups, load balancing
71 and High-Availability installations. Secured by SSL x509 certificates, supporting IPv4 and IPv6.
72
73 * High Performance
74
75 Multithreaded and scalable for small embedded systems as well as large scale environments.
76 Running checks every second is no longer a problem.
77
78 * Modular & flexible [features](#features)
79
80 Enable only the features you require. Want to use Icinga Web 2 with DB IDO but no status data?
81 No problem! Just enable ido-mysql and disable statusdata. Another example: Graphite should be enabled
82 on a dedicated cluster node. Enable it over there and point it to the carbon cache socket.
83
84 * Native support for the [Livestatus protocol](#setting-up-livestatus)
85
86 In Icinga2, the 'Livestatus' protocol is available for use as either a UNIX, or TCP socket.
87
88 * Native support for [Graphite](#graphite-carbon-cache-writer)
89
90 Icinga 2 still supports writing performance data files for graphing addons, but also adds the
91 capability of writing performance data directly into a Graphite TCP socket simplifying realtime
92 monitoring graphs.
93
94 * Dynamic configuration language
95
96 Simple [apply](#using-apply) and [assign](#group-assign) rules for creating configuration object
97 relationships based on patterns. Supported with [duration literals](#duration-literals) for interval
98 attributes, [expression operators](#expression-operators), [function calls](#function-calls) for
99 pattern and regex matching and (global) [constants](#constants).
100 Sample configuration for common plugins is shipped with Icinga 2 as part of the [Icinga Template Library](#itl).
101
102 * Revamped Commands
103
104 One command to rule them all - supporting optional and conditional [command arguments](#commands-arguments).
105 [Environment variables](#command-environment-variables) exported on-demand populated with
106 runtime evaluated macros.
107 Three types of commands used for different actions: checks, notifications and events.
108 Check timeout for commands instead of a global option. Commands also have custom attributes allowing
109 you to specify default values.
110 There is no plugin output or performance data length restriction anymore compared to Icinga 1.x.
111
112 * Custom Runtime Macros
113
114 Access [custom attributes](#custom-attributes) with their short name, for example $mysql_user$,
115 or any object attribute, for example $host.notes$. Additional macros with runtime and statistic
116 information are available as well. Use these [runtime macros](#runtime-custom-attributes) in
117 the command line, environment variables and custom attribute assignments.
118
119 * Notifications simplified
120
121 Multiple [notifications](#notifications) for one host or service with existing users
122 and notification commands. No more duplicated contacts for different notification types.
123 Telling notification filters by state and type, even more fine-grained than Icinga 1.x.
124 [Escalation notifications](#notification-escalations) and [delayed notifications](#first-notification-delay)
125 are just notifications with an additional begin and/or end time attribute.
126
127 * Dependencies between Hosts and Services
128
129 Classic [dependencies](#dependencies) between host and parent hosts, and services and parent services work the
130 same way as "mixed" dependencies from a service to a parent host and vice versa. Host checks
131 depending on an upstream link port (as service) are not a problem anymore.
132 No more additional parents settings - host dependencies already define the host parent relationship
133 required for network reachability calculations.
134
135 * [Recurring Downtimes](#recurring-downtimes)
136
137 Forget using cronjobs to set up recurring downtime - you can configure them as Icinga2 configuration
138 objects and specify their active time window.
139
140 * Embedded Health Checks
141
142 No more external statistic tool but an [instance](#itl-icinga) and [cluster](#itl-cluster) health
143 check providing direct statistics as performance data for your graphing addon, for example Graphite.
144
145 * Compatibility with Icinga 1.x
146
147 All known interfaces are optional available: [status files](#status-data), [logs](#compat-logging),
148 [DB IDO](#configuring-ido) MySQL/PostgreSQL, [performance data](#performance-data),
149 [external command pipe](#external-commands) and for migration reasons a
150 [checkresult file reader](#check-result-files) too.
151 All [Monitoring Plugins](#setting-up-check-plugins) can be integrated into Icinga 2 with
152 newly created check command configuration if not already provided.
153 [Configuration migration](#configuration-migration) is possible through an external migration tool.
154
155 Detailed [migration hints](#manual-config-migration-hints) explain migration the Icinga 1.x
156 configuration objects into the native Icinga 2 configuration schema.
157 Additional information on the differences is documented in the [migration](#differences-1x-2) chapter.
158
159 * Configuration Syntax Highlighting
160
161 Icinga 2 ships [syntax highlighting](#configuration-syntax-highlighting) for `vim` and `nano` to help
162 edit your configuration.
163
164 * [Vagrant Demo VM](#vagrant)
165
166 Used for demo cases and development tests. Get Icinga 2 running within minutes and spread the #monitoringlove
167 to your friends and colleagues.
168
169
170