Diesen Beitrag schrieb ich vor 3 Jahren. Behalte das beim Lesen bitte im Hinterkopf.

Dieser Artikel entstand, als der Director noch alpha war. Aufgrund der enormen Nachfrage ist er jedoch mit dem Erscheinen von Director in Version 1.3.0 komplett überarbeitet. Die Installation erfolgte auf einem Debian 8-System.

Mit dem »Icinga Director« hat Thomas Gelf ein Stück Software erstellt, das ich unglaublich sexy finde — und hier notiere ich mal auf, wie ich es installiert habe

Die Voraussetzungen erfüllen

Sofern es noch nicht geschehen ist: das ist nun der richtige Moment, das dringend benötigte php5-curl zu installieren — denn tust du es nicht, so kommt es zu… naja, nichts halt ;-)

$ apt-get install php5-curl

Außerdem muss das Feature api in Icinga 2 aktiviert werden, falls es noch nicht angeschaltet ist:

$ icinga2 api setup

Du wirst für den Director einen API-User brauchen — richte ihn schon einmal ein und starte den Dienst anschließend durch:

## /etc/icinga2/conf.d/api-users.conf
[...]
object ApiUser "director" {
  password = "totalgeheim"
  permissions = [ "*" ]
}
$ service icinga2 restart

Das Modul

Hiermit hast du dir Voraussetzungen soweit erfüllt; nun kannst du das Modul an Ort und Stelle packen:

$ cd /usr/share/icingaweb2/modules
$ git clone https://github.com/Icinga/icingaweb2-module-director.git director
Cloning into 'director'...
remote: Counting objects: 20702, done.
remote: Total 20702 (delta 0), reused 0 (delta 0), pack-reused 20702
Receiving objects: 100% (20702/20702), 5.36 MiB | 2.52 MiB/s, done.
Resolving deltas: 100% (12831/12831), done.
Checking connectivity... done.

Icinga 2 Director ResourceIm Webinterface Icinga Web 2 kannst du das Modul nun in Betrieb nehmen: Configuration → Modules → director → Klick auf enable. Director wird dich darauf hinweisen, dass er eine Datenbank benötigt, und diese legen wir ihm nun an.

Die Datenbank

Die Datenbank muss zwingend UTF-8 encodiert sein.

mysql> CREATE DATABASE director CHARACTER SET 'utf8';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL ON director.* TO director@localhost IDENTIFIED BY 'totalgeheim';"
Query OK, 0 rows affected (0.00 sec)

Icinga Director create database schemaIn Icinga Web 2 wird diese Datenbank nun als Ressource hinzugefügt. Per Configuration → Application → Resources → Create a new resource gelangt man zur Eingabemaske, in der man die geforderten Angaben macht. Einmal als Ressource hinterlegt, kann die Datenbank nun im Webinterface dem Director zugeordnet per Klick auf »Create database schema« und mit Leben gefüllt werden. (In der Tat ist es wünschenswert, den Kickstart Wizard zu verwenden und kein Datenbank-Schema manuell einzuspielen.)

Die Inbetriebnahme

Director Kickstart WizardSobald dem Director eine valide Datenbank untergeschoben wurde, möchte er seine Konfiguration vervollständigen. Trage im nun erscheinenden Formular den vorhin erstellten API-User mit dem dazugehörigen Passwort ein; Endpoint name bezeichnet den Namen, auf den das Zertifikat ausgestellt wurde (vgl. /etc/icinga2/pki). Und wenn das alles geklappt hat — dann ist das Ganze betriebsbereit.

Icinga Director first deploymentDer Director präsentiert nach dem Ausführen des Kickstarts gleich mal > 200 Änderungen, die er aufgegriffen hat; versuche es! Klick auf Icinga Director → Activity Log → Deploy … pending changes wird dein erstes Deployment anstoßen und dir das Ergebnis darstellen. Willkommen also, Icinga Director!

UnterschriftDie Einrichtung ist die eine, die Inbetriebnahme und Nutzung dann wieder eine andere Sache — und hierzu habe ich einen eigenen Artikel verfasst.


Mögliche Stolpersteine