Update documentation.

This commit is contained in:
Gunnar Beutner 2013-09-27 11:48:20 +02:00
parent f1d2548fc0
commit e69ef0876e
3 changed files with 40 additions and 27 deletions

View File

@ -34,12 +34,11 @@ By default Icinga 2 uses the following files and directories:
/var/cache/icinga2 |Performance data files and status.dat/objects.cache. /var/cache/icinga2 |Performance data files and status.dat/objects.cache.
/var/lib/icinga2 |The Icinga 2 state file. /var/lib/icinga2 |The Icinga 2 state file.
#### Configuration #### icinga2.conf
An example configuration file is installed for you in /etc/icinga2/icinga2.conf. An example configuration file is installed for you in */etc/icinga2/icinga2.conf*.
Here's a brief description of the concepts the example configuration file Here's a brief description of the example config:
introduces:
/** /**
* Icinga 2 configuration file * Icinga 2 configuration file
@ -59,6 +58,37 @@ The *include* directive can be used to include other files. The *itl/itl.conf*
file is distributed as part of Icinga 2 and provides a number of useful templates file is distributed as part of Icinga 2 and provides a number of useful templates
and constants you can use to configure your services. and constants you can use to configure your services.
/**
* The features-available directory contains a number of configuration
* files for features which can be enabled and disabled using the
* i2enfeature / i2disfeature tools. These two tools work by creating
* and removing symbolic links in the features-enabled directory.
*/
include "features-enabled/*.conf"
The Icinga 2 example configuration includes a number of configuration files for
some of Icinga 2's features. These are installed in the *features-available*
directory and can be enabled and disabled using the *i2enfeature* and
*i2disfeature* tools.
This include directive takes care of including the configuration files for all
the features which have been enabled with *i2enfeature*. See
[Enabling/Disabling Features](#features) for more details.
/**
* Although in theory you could define all your objects in this file
* the preferred way is to create separate files in the conf.d
* directory.
*/
include "conf.d/*.conf"
You can put your own configuration files in the *conf.d* directory. This
directive makes sure that all of your own configuration files are included.
#### macros.conf
The *conf.d/macros.conf* file can be used to define global macros:
/** /**
* Global macros * Global macros
*/ */
@ -69,31 +99,12 @@ and constants you can use to configure your services.
Icinga 2 lets you define free-form macros. The IcingaMacros variable can be used Icinga 2 lets you define free-form macros. The IcingaMacros variable can be used
to define global macros which are available in all command definitions. to define global macros which are available in all command definitions.
/** #### localhost.conf
* The compat library periodically updates the status.dat and objects.cache
* files. These are used by the Icinga 1.x CGIs to display the state of
* hosts and services. CompatLog writeis the Icinga 1.x icinga.log and archives.
*/
library "compat"
Some of Icinga 2's functionality is available in separate libraries. These The *conf.d/localhost.conf* file contains our first host definition:
libraries usually implement their own object types that can be used to configure
what you want the library to do.
object StatusDataWriter "status" { }
object ExternalCommandListener "command" { }
object CompatLogger "compat-log" { }
Those three object types are provided by the *compat* library:
Type | Description
-------------------------|-------------------------
StatusDataWriter | Responsible for writing the status.dat and objects.cache files.
ExternalCommandListener | Implements the command pipe which is used by the CGIs to send commands to Icinga 2.
CompatLogger | Writes log files in a format that is compatible with Icinga 1.x.
/** /**
* And finally we define some host that should be checked. * Our first host.
*/ */
object Host "localhost" { object Host "localhost" {
services["ping4"] = { services["ping4"] = {

View File

@ -1,3 +1,5 @@
## Running Icinga ## Running Icinga
TODO TODO
### <a id="features"></a> Enabling/Disabling Features

View File

@ -1,5 +1,5 @@
/** /**
* And finally we define some host that should be checked. * Out first host.
*/ */
object Host "localhost" { object Host "localhost" {
services["ping4"] = { services["ping4"] = {