Update documentation

This commit is contained in:
Gunnar Beutner 2015-01-23 09:39:17 +01:00
parent 8734a44cfc
commit 63db5ac325
8 changed files with 14 additions and 165 deletions

View File

@ -60,153 +60,3 @@ TODO
TODO
## <a id="icinga2-in-a-nutshell"></a> Icinga 2 in a Nutshell
* Use [Packages](2-getting-started.md#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](4-monitoring-remote-systems.md#distributed-monitoring-high-availability) model for distributed setups, load balancing
and High-Availability installations (or a combination of them). On-demand configuration
synchronisation between zones is available, but not mandatory (for example when config management
tools such as Puppet are used). Secured by TLS with certificates, supporting IPv4 and IPv6.
High Availability for DB IDO: Only active on the current zone master, failover happens automatically.
* Monitoring Remote Clients
Built on proven [cluster](4-monitoring-remote-systems.md#distributed-monitoring-high-availability) stack,
[Icinga 2 clients](4-monitoring-remote-systems.md#icinga2-remote-client-monitoring) can be installed acting as remote satellite or
agent. Secured communication by TLS with certificates, install them with [CLI commands](5-cli-commands.md#cli-commands),
and configure them either locally with discovery on the master, or use them for executing checks and
event handlers remotely.
* High Performance
Multithreaded and scalable for small embedded systems as well as large scale environments.
Running checks every second is no longer a problem and enables real-time monitoring capabilities.
Checks, notifications and event handlers [do not block Icinga 2](9-migrating-from-icinga-1x.md#differences-1x-2-async-event-execution)
in its operation. Same goes for performance data writers and the external command pipe, or any
file writers on disk (`statusdata`).
Unlike Icinga 1.x the [daemon reload](9-migrating-from-icinga-1x.md#differences-1x-2-real-reload) happens asynchronously.
A child daemon validates the new configuration, the parent process is still doing checks, replicating cluster events, triggering alert notifications, etc. If the configuration validation is ok, all remaining events are synchronized and the child process continues as normal.
The DB IDO configuration dump and status/historical event updates also runs asynchronously in a queue not blocking the core anymore. The configuration validation itself runs in parallel allowing fast verification checks.
That way you are not blind (anymore) during a configuration reload and benefit from a real scalable architecture.
* Integrated CLI with Bash Auto-Completion
Enable only the [features](5-cli-commands.md#cli-command-feature) which are currently disabled,
[list objects](5-cli-commands.md#cli-command-object) generated from [apply rules](3-monitoring-basics.md#using-apply) or
[generate X.509 certificates](5-cli-commands.md#cli-command-pki) for remote clients or cluster setup.
Start/stop the Icinga 2 [daemon](5-cli-commands.md#cli-command-daemon) or validate your configuration,
[manage and install](5-cli-commands.md#cli-command-node) remote clients and service discovery helped
with black- and whitelists.
* Modular & flexible [features](5-cli-commands.md#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.
Combine Icinga 2 Core with web user interfaces: Use [Icinga Web 2](2-getting-started.md#setting-up-icingaweb2), but also
Web 1.x or Classic UI or your own preferred addon.
* Native support for the [Livestatus protocol](7-livestatus.md#setting-up-livestatus)
In Icinga2, the 'Livestatus' protocol is available for use as either a UNIX, or TCP socket.
* Native support for [Graphite](3-monitoring-basics.md#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.
* Native support for writing log events to [GELF](12-object-types.md#objecttype-gelfwriter) receivers (graylog2, Logstash)
Icinga 2 will write all check result, state change and notification event logs into a defined
[GELF](3-monitoring-basics.md#gelfwriter) input receiver. Natively provided by [graylog2](http://www.graylog2.org),
and as additional input type provided by [Logstash](http://logstash.net).
* Dynamic configuration language
Simple [apply](3-monitoring-basics.md#using-apply) and [assign](10-language-reference.md#group-assign) rules for creating configuration object
relationships based on patterns. More advanced features for dynamic object generation using
[apply for rules](3-monitoring-basics.md#using-apply-for) helped with arrays and dictionaries for
[custom attributes](3-monitoring-basics.md#custom-attributes-apply).
Supported with [duration literals](10-language-reference.md#duration-literals) for interval
attributes, [expression operators](10-language-reference.md#expression-operators), [function calls](10-language-reference.md#function-calls) for
pattern and regex matching and (global) [constants](10-language-reference.md#constants).
[Check command configuration](13-icinga-template-library.md#plugin-check-commands) for common plugins is shipped with Icinga 2 as part of the [Icinga Template Library](13-icinga-template-library.md#icinga-template-library).
* Revamped Commands
One command to rule them all - supporting optional and conditional [command arguments](3-monitoring-basics.md#command-arguments).
[Environment variables](3-monitoring-basics.md#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.
There is no plugin output or performance data length restriction anymore compared to Icinga 1.x.
* Custom Runtime Macros
Access [custom attributes](3-monitoring-basics.md#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](3-monitoring-basics.md#runtime-custom-attributes) in
the command line, environment variables and custom attribute assignments.
* Notifications simplified
Multiple [notifications](3-monitoring-basics.md#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](3-monitoring-basics.md#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](3-monitoring-basics.md#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.
Set parent host/services based on [host/service custom attributes](3-monitoring-basics.md#dependencies-apply-custom-attributes)
generated from your cloud inventory or CMDB and make your dependency rules simple and short.
* [Recurring Downtimes](3-monitoring-basics.md#recurring-downtimes)
Forget using cronjobs to set up recurring downtime - you can configure them as Icinga 2 configuration
objects and specify their active time window.
* Embedded Health Checks
No more external statistic tool but an [instance](13-icinga-template-library.md#itl-icinga) and [cluster](13-icinga-template-library.md#itl-icinga-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 optionally available: [status files](3-monitoring-basics.md#status-data), [logs](3-monitoring-basics.md#compat-logging),
[DB IDO](2-getting-started.md#configuring-db-ido) MySQL/PostgreSQL, [performance data](3-monitoring-basics.md#performance-data),
[external command pipe](3-monitoring-basics.md#external-commands) and for migration reasons a
[checkresult file reader](3-monitoring-basics.md#check-result-files) too.
All [Monitoring Plugins](2-getting-started.md#setting-up-check-plugins) can be integrated into Icinga 2 with
newly created check command configuration if not already provided.
[Configuration migration](9-migrating-from-icinga-1x.md#configuration-migration) is possible through an external migration tool.
Detailed [migration hints](9-migrating-from-icinga-1x.md#manual-config-migration-hints) explain migration of the Icinga 1.x
configuration objects into the native Icinga 2 configuration schema.
Additional information on the differences is documented in the [migration](9-migrating-from-icinga-1x.md#differences-1x-2) chapter.
* Configuration Syntax Highlighting
Icinga 2 ships [syntax highlighting](2-getting-started.md#configuration-syntax-highlighting) for `vim` and `nano` to help
edit your configuration.
* Puppet modules, Chef Cookbooks, Ansible Playbooks, Salt Formulas, etc
This is a constant work-in-progress. For details checkout https://dev.icinga.org/projects/icinga-tools
If you want to contribute to these projects, do not hesitate to contact us at https://support.icinga.org

View File

@ -365,8 +365,8 @@ EnableHostChecks |**Read-write.** Whether active host checks are globally ena
EnableServiceChecks |**Read-write.** Whether active service checks are globally enabled. Defaults to true.
EnablePerfdata |**Read-write.** Whether performance data processing is globally enabled. Defaults to true.
UseVfork |**Read-write.** Whether to use vfork(). Only available on *NIX. Defaults to true.
RunAsUser |**Read-write.** Defines the user the Icinga 2 daemon is running as. Used in [init.conf](#init-conf).
RunAsGroup |**Read-write.** Defines the group the Icinga 2 daemon is running as. Used in [init.conf](#init-conf).
RunAsUser |**Read-write.** Defines the user the Icinga 2 daemon is running as. Used in the `init.conf` configuration file.
RunAsGroup |**Read-write.** Defines the group the Icinga 2 daemon is running as. Used in the `init.conf` configuration file.
## <a id="apply"></a> Apply

View File

@ -14,7 +14,7 @@ and distribution you are running.
Distribution | Repository
------------------------|---------------------------
Debian | [Upstream](https://packages.debian.org/sid/icinga2), [DebMon](http://debmon.org/packages/debmon-wheezy/icinga2), [Icinga Repository](http://packages.icinga.org/debian/)
Debian | [Upstream](https://packages.debian.org/sid/icinga2), [debmon](http://debmon.org/packages/debmon-wheezy/icinga2), [Icinga Repository](http://packages.icinga.org/debian/)
Ubuntu | [Upstream](https://launchpad.net/ubuntu/+source/icinga2), [Icinga PPA](https://launchpad.net/~formorer/+archive/ubuntu/icinga), [Icinga Repository](http://packages.icinga.org/ubuntu/)
RHEL/CentOS | [Icinga Repository](http://packages.icinga.org/epel/)
openSUSE | [Icinga Repository](http://packages.icinga.org/openSUSE/), [Server Monitoring Repository](https://build.opensuse.org/package/show/server:monitoring/icinga2)
@ -34,9 +34,7 @@ Below is a list with examples for the various distributions.
Debian (debmon):
# wget -O - http://debmon.org/debmon/repo.key 2>/dev/null | apt-key add -
# cat >/etc/apt/sources.list.d/debmon.list<<EOF
deb http://debmon.org/debmon debmon-wheezy main
EOF
# echo 'deb http://debmon.org/debmon debmon-wheezy main' >/etc/apt/sources.list.d/debmon.list
# apt-get update
Ubuntu (PPA):
@ -1202,7 +1200,7 @@ the Classic UI using the following packages:
RHEL/SUSE | icinga2-classicui-config icinga-gui
The Debian packages require additional packages which are provided by the
[Debian Monitoring Project](http://www.debmon.org) (`DebMon`) repository.
[Debian Monitoring Project](http://www.debmon.org) (`debmon`) repository.
`libjs-jquery-ui` requires at least version `1.10.*` which is not available
in Debian 7 (Wheezy) and Ubuntu 12.04 LTS (Precise). Add the following repositories
@ -1210,7 +1208,7 @@ to satisfy this dependency:
Distribution | Package Repositories
------------------------------|------------------------------
Debian Wheezy | [wheezy-backports](http://backports.debian.org/Instructions/) or [DebMon](http://www.debmon.org)
Debian Wheezy | [wheezy-backports](http://backports.debian.org/Instructions/) or [debmon](http://www.debmon.org)
Ubuntu 12.04 LTS (Precise) | [Icinga PPA](https://launchpad.net/~formorer/+archive/icinga)
On all distributions other than Debian you may have to restart both your web

View File

@ -1733,7 +1733,7 @@ There are several ways of using custom attributes with [apply rules](3-monitorin
* As [array](10-language-reference.md#array) or [dictionary](10-language-reference.md#dictionary) attribute with nested values
(e.g. dictionaries in dictionaries) in [apply for](3-monitoring-basics.md#using-apply-for) rules.
Features like [DB IDO](3-monitoring-basics.md#db-ido), Livestatus(#livestatus) or StatusData(#status-data)
Features like [DB IDO](3-monitoring-basics.md#db-ido), Livestatus(#setting-up-livestatus) or StatusData(#status-data)
dump this column as encoded JSON string, and set `is_json` resp. `cv_is_json` to `1`.
If arrays are used in runtime macros (for example `$host.groups$`) all entries
@ -2385,7 +2385,7 @@ in Icinga 2 provided with the `CompatLogger` object.
These logs are not only used for informational representation in
external web interfaces parsing the logs, but also to generate
SLA reports and trends in Icinga 1.x Classic UI. Furthermore the
[Livestatus](#livestatus) feature uses these logs for answering queries to
[Livestatus](7-livestatus.md#setting-up-livestatus) feature uses these logs for answering queries to
historical tables.
The `CompatLogger` object can be enabled with

View File

@ -112,7 +112,7 @@ you can also use the `--library` command-line option.
[Global constants](10-language-reference.md#constants) can be set using the `--define` command-line option.
#### <a id="config-include-path"> Config Include Path
#### <a id="config-include-path"></a> Config Include Path
When including files you can specify that the include search path should be
checked. You can do this by putting your configuration file name in angle

View File

@ -39,7 +39,7 @@ based on your monitoring configuration and status data using [NagVis](http://www
As well as the Icinga supported web interfaces (Classic UI 1.x, Web 1.x, Web 2) there are a
number of community provided web interfaces too:
* [Thruk](http://www.thruk.org) based on the [Livestatus](#livestatus) feature
* [Thruk](http://www.thruk.org) based on the [Livestatus](7-livestatus.md#setting-up-livestatus) feature
## <a id="plugins"></a> Plugins

View File

@ -1,4 +1,4 @@
## <a id="setting-up-livestatus"></a> Setting up Livestatus
## <a id="setting-up-livestatus"></a> Livestatus
The [MK Livestatus](http://mathias-kettner.de/checkmk_livestatus.html) project
implements a query protocol that lets users query their Icinga instance for
@ -16,7 +16,7 @@ re-implementation of the Livestatus protocol which is compatible with MK
Livestatus.
Details on the available tables and attributes with Icinga 2 can be found
in the [Livestatus](#livestatus) section.
in the [Livestatus Schema](14-appendix.md#schema-livestatus) section.
You can enable Livestatus using icinga2 feature enable:
@ -42,7 +42,7 @@ In order for queries and commands to work you will need to add your query user
The Debian packages use `nagios` as the user and group name. Make sure to change `icingacmd` to
`nagios` if you're using Debian.
Change "www-data" to the user you're using to run queries.
Change `www-data` to the user you're using to run queries.
In order to use the historical tables provided by the livestatus feature (for example, the
`log` table) you need to have the `CompatLogger` feature enabled. By default these logs

View File

@ -19,3 +19,4 @@ pages:
theme: readthedocs
markdown_extensions: [smarty]
extra_javascript: [scroll.js]
include_search: true