Icinga 2 Director - die Einrichtung
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:
## file: "/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.
Im 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)
In 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
Sobald 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.
Der 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!
Die Einrichtung ist die eine, die Inbetriebnahme und Nutzung dann wieder eine andere Sache – und hierzu habe ich einen eigenen Artikel verfasst.
Mögliche Stolpersteine
- Das Feature
api
lässt sich nicht aktivieren → Überprüfe die Requirements, hier wird Icinga2 ≥ 2.4.3 benötigt -
directordb
lässt sich nicht alsDatabase backend
einstellen → hast du das Schemamysql.sql
fehlerfrei eingespielt? - Nach Klick auf „submit“ im „kickstart wizard“ wird der Button grau und es tut sich überhaupt nichts mehr →
php5-curl
installieren, vgl. Bug #10929 - Nach Klick auf „submit“ im „kickstart wizard“ kommt die Fehlermeldung „Parsing JSON result failed: Syntax error“ → stelle sicher, dass du die korrekten Login-Daten von API-User director eingegeben hast, denn ein falsches Passwort kann zu dieser Fehlermeldung führen, vgl. Bug #11286
Hintergrundbild: 1130x 548px, Bild genauer anschauen – © Marianne Spiller – Alle Rechte vorbehalten