Icinga 2 Director - die Einrichtung

Diesen Beitrag schrieb ich 8 Jahre und 2 Wochen zuvor; die nachfolgenden Ausführungen müssen heute weder genau so nach wie vor funktionieren, noch meiner heutigen Meinung entsprechen. Behalte das beim Lesen (und vor allem: beim Nachmachen!) bitte stets im Hinterkopf.

Geschätzte Lesezeit: 2 Minuten

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.

Icinga 2 Director Resource 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)

Icinga Director create database schema 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

Director Kickstart Wizard 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.

Icinga Director first deployment 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 als Database backend einstellen → hast du das Schema mysql.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
Alle Bilder dieser Seite: © Marianne Spiller – Alle Rechte vorbehalten
Hintergrundbild: 1130x 548px, Bild genauer anschauen – © Marianne Spiller – Alle Rechte vorbehalten

Eure Gedanken zu „Icinga 2 Director - die Einrichtung“

Ich freue mich über jeden Kommentar, es sei denn, er ist blöd. Deshalb behalte ich mir auch vor, die richtig blöden kurzerhand wieder zu löschen. Die Kommentarfunktion ist über GitHub realisiert, weshalb ihr euch zunächst dort einloggen und „utterances“ bestätigen müsst. Die Kommentare selbst werden im Issue-Tracker und mit dem Label „✨💬✨ comment“ erfasst – jeder Blogartikel ist ein eigenes Issue. Über GitHub könnt ihr eure Kommentare somit jederzeit bearbeiten oder löschen.