Update documentation.

This commit is contained in:
Gunnar Beutner 2013-09-27 13:56:11 +02:00
parent e69ef0876e
commit 3726470efb
9 changed files with 191 additions and 15 deletions

View File

@ -66,11 +66,6 @@ and constants you can use to configure your services.
*/
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.

View File

@ -1,3 +0,0 @@
### Configuring IDO
TODO

View File

@ -0,0 +1,49 @@
### Configuring IDO
The IDO (Icinga Data Output) modules for Icinga 2 takes care of exporting all
configuration and status information into a database.
There is a separate module for each database backend. At present only support
for MySQL is implemented.
#### Setting up the database
# mysql -u root -p
mysql> CREATE DATABASE icinga;
Query OK, 1 row affected (0.01 sec)
mysql> GRANT USAGE ON icinga.* TO 'icinga'@'localhost'
IDENTIFIED BY 'icinga'
WITH MAX_QUERIES_PER_HOUR 0
MAX_CONNECTIONS_PER_HOUR 0
MAX_UPDATES_PER_HOUR 0;
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE
ON icinga.* TO 'icinga'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> quit
# cd /path/to/icinga-src/module/idoutils/db/mysql
# mysql -u root -p icinga < mysql.sql
#### Installing the IDO module
Once you've set up your database you will need to install the *icinga2-ido-mysql*
package using your distribution's package manager.
The package provides a new configuration file that is installed in
*/etc/icinga2/features-available/ido-mysql.conf*. You will need to update the
database credentials in this file.
You can enable the ido-mysql feature configuration file using *i2enfeature*:
# i2enfeature ido-mysql
Module 'ido-mysql' was enabled.
Make sure to restart Icinga 2 for these changes to take effect.
After enabling the ido-mysql feature you will need to restart Icinga 2:
# /etc/init.d/icinga2 restart

View File

@ -1,5 +1,125 @@
## Running Icinga
TODO
### Init Script
### <a id="features"></a> Enabling/Disabling Features
Icinga 2's init script is installed in */etc/init.d/icinga2* by default:
# /etc/init.d/icinga2
Usage: /etc/init.d/icinga2 {start|stop|restart|reload|checkconfig|status}
#### start
The *start* action starts the Icinga 2 daemon.
#### stop
The *stop* action stops the Icinga 2 daemon.
#### restart
The *restart* action is a shortcut for running the *stop* action followed by
*start*.
#### reload
The *reload* action sends the HUP signal to Icinga 2 which causes it to restart.
Unlike the *restart* action *reload* does not wait until Icinga 2 has restarted.
#### checkconfig
The *checkconfig* action checks if the */etc/icinga2/icinga2.conf* configuration
file contains any errors.
#### status
The *status* action checks if Icinga 2 is running:
$ /etc/init.d/icinga2 status
Icinga 2 status: Running
### <a id="cmdline"></a> Command-line Options
$ icinga2 --help
icinga2 - The Icinga 2 network monitoring daemon.
Supported options:
--help show this help message
-V [ --version ] show version information
-l [ --library ] arg load a library
-I [ --include ] arg add include search directory
-c [ --config ] arg parse a configuration file
-C [ --validate ] exit after validating the configuration
-x [ --debug ] enable debugging
-d [ --daemonize ] detach from the controlling terminal
-e [ --errorlog ] arg log fatal errors to the specified log file (only works
in combination with --daemonize)
-u [ --user ] arg user to run Icinga as
-g [ --group ] arg group to run Icinga as
Report bugs at <https://dev.icinga.org/>
Icinga home page: <http://www.icinga.org/>
#### Libraries
Instead of loading libraries using the [*library* config directive](#library)
you can also use the *--library* command-line option.
#### Config Include Path
When including files you can specify that the include search path should be
checked. You can do this by putting your config file name in angle brackets
like this:
include <test.conf>
This would cause Icinga 2 to search its include path for the configuration file
*test.conf*. By default the installation path for the Icinga Template Library
is the only search directory.
Using the *--include* command-line option additional search directories can be
added.
#### Config Files
Using the *--config* option you can specify one or more config files. Config
files are processed in the order they're specified on the command-line.
#### Config Validation
The *--validate* option can be used to check if your configuration files
contain errors. If any errors are found the exit status is 1, otherwise 0
is returned.
### <a id="features"></a> Enabling/Disabling Features
Icinga 2 provides configuration files for some commonly used features. These
are installed in the */etc/icinga2/features-available* directory and can be
enabled and disabled using the *i2enfeature* and *i2disfeature* tools,
respectively.
The *i2enfeature* tool creates symlinks in the */etc/icinga2/features-enabled*
directory which is included by default in the example configuration file.
You can view a list of available feature configuration files:
# i2enfeature
Syntax: i2enfeature <feature>
Enables the specified feature.
Available features: compat
Using the *i2enfeature* command you can enable features:
# i2enfeature compat
Module 'compat' was enabled.
Make sure to restart Icinga 2 for these changes to take effect.
You can disable features using the *i2disfeature* command:
# i2disfeature compat
Module 'compat' was disabled.
Make sure to restart Icinga 2 for these changes to take effect.
> **Note**
>
> The *i2enfeature* and *i2disfeature* commands do not restart Icinga 2.

View File

@ -343,11 +343,12 @@ C/C++ compiler:
Note the use of angle brackets instead of double quotes. This causes the
config compiler to search the include search paths for the specified
file. By default $PREFIX/icinga2 is included in the list of search
paths.
paths. Additional include search paths can be added using
[command-line options](#cmdline).
Wildcards are not permitted when using angle brackets.
### Library directive
### <a id="library"></a> Library directive
The *library* directive can be used to manually load additional
libraries. Libraries can be used to provide additional object types and

View File

@ -3,7 +3,8 @@
icinga2confdir = $(sysconfdir)/icinga2/features-available
CONFIG_FILES = \
compat.conf
compat.conf \
ido-mysql.conf
install-data-local:
@$(MKDIR_P) $(icinga2confdir); \

View File

@ -0,0 +1,13 @@
/**
* The ido_mysql library implements IDO functionality
* for MySQL.
*/
library "ido_mysql"
object IdoMysqlConnection "ido-mysql" {
//user = "icinga",
//password = "icinga",
//host = "localhost",
//database = "icinga"
}

View File

@ -145,7 +145,7 @@ case "$1" in
checkconfig
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|checkconfig|status}"
echo "Usage: $0 {start|stop|restart|reload|checkconfig|status}"
exit 1
esac
exit 0

View File

@ -25,7 +25,7 @@ if [ -z "$1" ]; then
fi
echo
echo -n "Available feature: "
echo -n "Available features: "
for file in $ICINGA2CONFDIR/features-available/*.conf; do
echo -n $(basename -- $file .conf)