iX 4/2017
S. 62
Review
Monitoring
Aufmacherbild

Icinga Director konfiguriert Icinga 2

Besser aufpassen

Der Icinga Director ist viel mehr als ein grafisches Frontend zur Konfiguration der Monitoring-Software Icinga 2. Er unterstützt die Arbeit mit Templates, protokolliert sämtliche Änderungen und importiert Daten aus einer Vielzahl von Quellen.

Die Konfiguration der verbreiteten Open-Source-Monitoring-Software Icinga 2 besteht üblicherweise aus einer Sammlung von Konfigurationsdateien. Vor allem in komplexen Umgebungen kann das schnell unübersichtlich werden. Zudem erfordert eine solche textbasierte Konfiguration nicht nur direkten Zugriff auf die Maschine, auf der Icinga 2 installiert ist, sondern auch ein Versionsmanagement, um Änderungen nachvollziehen und falls nötig rückgängig machen zu können. Und im schlimmsten Fall kann schon ein blöder Tippfehler das Monitoring lahmlegen.

Auftritt des Direktors

Der Icinga Director ist ein mächtiges Werkzeug zur Einrichtung von Icinga 2 (Abb. 1).

Genau hier setzt der Icinga Director an, ein optionales Modul für das Icinga-Web-Frontend Icinga Web 2. Der Icinga Director protokolliert alle Änderungen und ermöglicht sowohl die manuelle als auch die automatisierte Erfassung von

 Host-Templates, Hosts (auch Icinga-2-Agents) und deren Zuordnung zu Hostgruppen;

 Service-Templates, Services und deren Zuordnung zu Servicegruppen;

 User-Templates, Usern und deren Zuordnung zu Usergruppen;

 Notification-Templates und Notifications;

 Befehlsdefinitionen (Plugin Check Command, Notification Plugin Command, Event Plugin Command);

 Zeitfenster-Templates und Zeitfenstern (Timeperiods);

 selbst definierten Variablen in Form von Datenfeldern und Listen, Endpunkten, Zonen und API-Usern.

Ob man nun einzelne Objekte manuell erfassen oder das gesamte Monitoring durch die Einbindung externer Datenquellen wie Datenbanken oder LDAP automatisieren möchte: Der Director ist das Tool der Wahl, um die Icinga-2-Konfiguration zu vereinfachen, zu vereinheitlichen und gegenüber Konfigurationsfehlern abzusichern.

Zudem bietet die Software auch weniger versierten Nutzern die Möglichkeit, innerhalb gewisser Grenzen Objekte zu erfassen und zu ändern. Da der Administrator diese Grenzen selbst festlegt, ist das Werkzeug enorm anpassungsfähig. Über das Rollenmanagement von Icinga Web 2 lässt sich für jeden User festlegen, was er mit dem Director machen darf.

Installation als Modul für Icinga Web 2

Wenn Icinga 2 und Icinga Web 2 bereits eingerichtet sind, kann man den Icinga Director im Verzeichnis /usr/share/icingaweb2/modules direkt von GitHub in das Unterverzeichnis director installieren:

git clone https://github.com/Icinga/ 
 icingaweb2-module-director.git director

Das Director-Modul benötigt für den Betrieb eine Datenbank, die im Vorfeld nebst zugriffsberechtigtem User eingerichtet und in der Ressourcenverwaltung von Icinga Web 2 hinterlegt werden muss. Auch den Icinga-2-API-User für den Director legt man idealerweise schon im Vorfeld in /etc/icinga2/conf.d/api-users.conf an. Nach dem Aktivieren des Icinga Director im Webinterface findet man einen Kickstart Wizard, der all diese Daten abfragt.

Das Importieren einer bereits bestehenden Icinga-2-Konfiguration ist nicht möglich. Allerdings lässt der Director die Dateien unterhalb von /etc/icinga2 unangetastet, daher kann eine alte textbasierte Icinga-2-Konfiguration problemlos parallel zur neuen Director-Konfiguration existieren. Solange es keine Kollisionen bei den Objektnamen gibt, lassen sich beide Konfigurationen miteinander kombinieren.

Die meisten Funktionen des Icinga Director sind nicht nur über die Weboberfläche, sondern auch per Kommandozeile (icingacli director …) und über eine REST-API verfügbar. Das erleichtert die Integration in die bestehende Softwareumgebung.

Über das Activity Log sind Änderungen aller Art einfach nachvollziehbar: Welches Objekt wurde verändert, welcher Art war die Änderung, wann erfolgte sie und durch wen? Über Filter lässt sich das Activity Log gezielt durchsuchen und auf benötigte Ausgaben eingrenzen.

Das Activity Log protokolliert Änderungen

Das Activity Log zeigt, wer wann was geändert hat – und erlaubt es, die Änderungen wieder rückgängig zu machen (Abb. 2).

Abbildung 2 zeigt, wie die frühere und die aktuelle Konfiguration gegenübergestellt und Unterschiede farblich hervorgehoben werden, sodass der Kern der Änderung mit einem Blick erfasst und auf Mausklick auch wieder rückgängig gemacht werden kann. Analog hierzu ist der Vergleich ganzer Konfigurationspakete möglich.