These are the instructions for manual Director installations. You can learn more about how to automate this in the automation section of this documentation. In case you already installed Director and want to upgrade to the latest version, please read on here.
- Icinga 2 (>= 2.6.0)
- It is recommended to use the latest feature release of Icinga 2
- All versions since 2.4.3 should also work fine, but we do no longer test and support them.
- Some features require newer Icinga 2 releases
- Flapping requires 2.8 for the thresholds to work - and at least 2.7 on all nodes
- Icinga Web 2 (>= 2.6.0). All versions since 2.2 should also work fine, but might show smaller UI bugs and are not actively tested
- The following Icinga modules must be installed and enabled:
- incubator (>=0.12.0)
- If you are using Icinga Web < 2.9.0, the following modules are also required
- ipl (>=0.5.0)
- reactbundle (>=0.9.0)
- A database, MySQL (>= 5.1) or PostgreSQL (>= 9.1). MariaDB and other MySQL forks are also fine. Mentioned versions are the required minimum, for MySQL we suggest using at least 5.5.3, for PostgreSQL 9.4.
- PHP (>= 5.6.3). For best performance please use 7.x or 8.x
- php-pdo-mysql and/or php-pdo-pgsql
- php-curl
- php-iconv
- php-pcntl (might already be built into your PHP binary)
- php-posix (on RHEL/CentOS this is php-process, or rh-php7x-php-process)
- php-sockets (might already be built into your PHP binary)
- php-mbstring and php-json (already required by Icinga Web 2)
- For IBM DB2 Imports: php-pdo-ibm
- For MSSQL Imports: php-mssql or php-pdo-dblib (or -sybase on some platforms)
- For Oracle DB Imports: php-oci8 or php-pdo-oci
- For Sqlite Imports: php-pdo-sqlite
HINT: You should replace some-password
with a secure custom password.
mysql -e "CREATE DATABASE director CHARACTER SET 'utf8';
CREATE USER director@localhost IDENTIFIED BY 'some-password';
GRANT ALL ON director.* TO director@localhost;"
In case your MySQL root user is password-protected, please add -p
to this
command.
psql -q -c "CREATE DATABASE director WITH ENCODING 'UTF8';"
psql director -q -c "CREATE USER director WITH PASSWORD 'some-password';
GRANT ALL PRIVILEGES ON DATABASE director TO director;
CREATE EXTENSION pgcrypto;"
The following steps should guide you through the web-based Kickstart wizard. In case you prefer automated configuration, you should check the dedicated documentation section.
In your web frontend please go to Configuration / Application / Resources
and create a new database resource pointing to your newly created database.
Please make sure that you choose utf8
as an encoding.
As with any Icinga Web 2 module, installation is pretty straight-forward. In
case you're installing it from source all you have to do is to drop the director
module in one of your module paths. You can examine (and set) the module path(s)
in Configuration / Application
. In a typical environment you'll probably drop the
module to /usr/share/icingaweb2/modules/director
. Please note that the directory
name MUST be director
and not icingaweb2-module-director
or anything else.
Download the latest version
and extract it to a folder named director
in one of your Icinga Web 2 module path directories.
You might want to use a script as follows for this task:
MODULE_VERSION="1.9.1"
ICINGAWEB_MODULEPATH="/usr/share/icingaweb2/modules"
REPO_URL="https://github.com/icinga/icingaweb2-module-director"
TARGET_DIR="${ICINGAWEB_MODULEPATH}/director"
URL="${REPO_URL}/archive/v${MODULE_VERSION}.tar.gz"
useradd -r -g icingaweb2 -d /var/lib/icingadirector -s /bin/false icingadirector
install -d -o icingadirector -g icingaweb2 -m 0750 /var/lib/icingadirector
install -d -m 0755 "${TARGET_DIR}"
wget -q -O - "$URL" | tar xfz - -C "${TARGET_DIR}" --strip-components 1
cp "${TARGET_DIR}/contrib/systemd/icinga-director.service" /etc/systemd/system/
icingacli module enable director
systemctl daemon-reload
systemctl enable icinga-director.service
systemctl start icinga-director.service
Proceed to running the kickstart wizard.
Another convenient method is the installation directly from our GIT repository. Just clone the repository to one of your Icinga Web 2 module path directories. It will be immediately ready for use:
MODULE_VERSION="1.9.1"
ICINGAWEB_MODULEPATH="/usr/share/icingaweb2/modules"
REPO_URL="https://github.com/icinga/icingaweb2-module-director"
TARGET_DIR="${ICINGAWEB_MODULEPATH}/director"
useradd -r -g icingaweb2 -d /var/lib/icingadirector -s /bin/false icingadirector
install -d -o icingadirector -g icingaweb2 -m 0750 /var/lib/icingadirector
git clone "${REPO_URL}" "${TARGET_DIR}" --branch v${MODULE_VERSION}
cp "${TARGET_DIR}/contrib/systemd/icinga-director.service" /etc/systemd/system/
icingacli module enable director
systemctl daemon-reload
systemctl enable icinga-director.service
systemctl start icinga-director.service
Proceed to running the kickstart wizard.
Choose either Icinga Director
directly from the main menu or
navigate into Configuration / Modules / director
and select the Configuration
tab.
Either way you'll reach the kickstart wizards. Follow the instructions, and you're all done!