2.8 KiB
Configuring IDO
The IDO (Icinga Data Output) modules for Icinga 2 takes care of exporting all configuration and status information into a database. The IDO database is used by a number of projects including Icinga Web.
There is a separate module for each database back-end. At present only support for MySQL is implemented.
Note
Icinga 2 uses the Icinga 1.x IDOUtils database schema starting with version
1.10.0
.
Setting up the database
First of all you have to create a database for Icinga 2:
# 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
After creating the database you can import the Icinga 2 IDO schema using the following command:
# mysql -u root -p icinga < /usr/share/doc/icinga2-ido-mysql-*/schema/mysql.sql
Note
The Icinga 2 RPM packages install the schema files into
/usr/share/doc/icinga2-ido-mysql-*/schema
(*
means package version). The Icinga 2 dist tarball ships the schema files incomponents/db_ido_mysql/schema/
.
Upgrading the database
If the database has been installed and requires an upgrade, verify the current schema version first:
# mysql -u root -p icinga -e 'SELECT version FROM icinga_dbversion;'
+---------+
| version |
+---------+
| 1.10.0 |
+---------+
Check the schema/upgrade
directory for an incremental schema upgrade file, e.g.
if your database schema version is 1.10.0
look for mysql-upgrade-1.11.0.sql
and newer.
Apply all database schema upgrade files incrementially.
# mysql -u root -p icinga < /usr/share/doc/icinga2-ido-mysql-*/schema/upgrade/mysql-upgrade-1.11.0.sql
Note
The Icinga 2 IDO module will check for the required database schema version on startup and generate an error message if not satisfied.
Installing the IDO module
Once you've set up your database you have 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 have to restart Icinga 2:
# /etc/init.d/icinga2 restart