Icinga Director

Der Icinga Director ist das native Konfigurations-Frontend für Icinga 2 und bietet eine flexible und benutzerfreundliche Oberfläche für die Verwaltung Ihrer Monitoring Umgebung.

Icinga Director Modul

 

Der Icinga Director integriert sich nahtlos in Icinga Web 2 als eigenständiges Modul und nutzt sowohl die Ansicht als auch Bearbeitungsmöglichkeiten. Der Zugriff auf das Modul kann über die vohandenen Mechanismen eingeschränkt werden und erlaubt eine strikte Trennung von Administrations- und Userzugriff.

Der Director kommuniziert über die Icinga 2 API mit der Monitoring Umgebung und erlaubt nicht nur die Pflege der eigentlichen Master-Instanz, sondern auch alle angebundenen Satelliten- und Agent-Instanzen.

Berechtigungen

 

Um sicherzustellen das nur berechtigte Benutzer Konfigurationsänderungen an Icinga 2 vornehmen können, gibt es einerseits natürlich die Möglichkeit den Zugriff auf das gesamte Icinga Director Modul über Icinga Web 2 zu verbieten. Da in der Praxis jedoch des öfteren mehrere Kollegen an der Konfiguration des Monitorings beteileigt sind, bietet der Director einige zusätzliche Funktionen um Ansichten sowie Aktionen von User-Seite einzuschränken.

Hierdurch ist es bspw. möglich das einzelne Benutzer zwar Hosts und Services anlegen, diese aber nicht deployen können. Sensible Informationen bzw. komplexe Konfigurationen innerhalb der Notifications hinterlegt? Kein Problem: Die Berechtigung diesen Teil zu sehen bzw. zu editieren kann mit einem simplen Klick genommen werden.

Host und Service definieren leicht gemacht

 

Die einfache und intuitive Bedienung erlaubt es neue Hosts und Services in kürzester Zeit anzulegen. Darüber hinaus verfügen alle vorhandenen Felder über detallierte Beschreibungen, welchem Zweck der jeweilige Wert dient. Spätere Änderungen an vorhandenen Objekten oder Templates sind natürlich ohne Probleme möglich.

Möchte man Custom-Attribute hinzunehmen, hat man optional die Möglichkeit eine eigene Beschreibung anzugeben welche im Webfrontend völlig dynamisch angezeigt wird. Somit können auch Icinga Einsteiger das System bedienen.

Auflösen der Konfiguration

 

Bevor die Konfiguration ausgerollt werden soll ist oftmals ein erstes Review der zu schreibenden Inhalte einer Host- oder Service-Datei nochwendig. Der Director bietet hierzu über die Preview-Ansicht die Möglichkeit, das jeweilige Objekt flach oder vollständig aufgelöst mit allen importieren Templates anzuzeigen.

Mehrere importierte Templates können per Top-Down Buttons im Frontend sortiert werden, um diese in der jeweils richtigen Reihenfolge anzuziehen. In der voll aufgelösten Variante der Preview-Ansicht werden diese dann ebenfalls richtig berücksichtigt und in der korrekten Reihenfolgen dargestellt.

Apply Regeln für Templates

 

Die Stärke von Icinga 2 liegt in der Template- und Regelbasierten Konfiguration, wodurch selbst große Umgebungen mit wenigen Handgriffen umfassend in das Monitoring integriert werden können. Der Icinga Director bedient sich ebenfalls dieser Möglichkeiten und erlaubt es Benutzern mit simplen Forms und Layouts eigene, komplexe Filterregeln zu erstellen und zu deployen.

Eine Drop-Down-Liste versorgt den Benutzer dabei mit notwendigen Icinga 2 Konstanten und eigens definierten Custom-Variablen für welche letztlich nur noch die passenden Werte hinterlegt werden müssen. Apply-Regeln zu erstellen war nie einfacher und intuitiver!

Externe Datenquellen

 

Ein besonderes Feature des Icinga Directors ist die Möglichkeit externe Quellen wie bspw. eine CMDB oder Puppet direkt anzubinden. Im Director können Import Ressources definiert werden, aus welchen Informationen zu Host-Objekten hinterlegt sind. Diese können dann über Sync Rules imporiert und mit weiteren Details angereichert werden.

Sobald der Import Vorgang durchgelaufen ist, sind die in der Datenbank beinhalteten Hosts im Director verfügbar und können nach kurzem Review auf die Icinga 2 Zonen deployed werden.

Ausrollen der Konfiguration

 

Egal ob Hosts und Services manuell angelegt oder über Sync Rules in den Director importiert werden - der Deployment Prozess ist der letzte Schritt um die Icinga 2 Konfiguration live zu nehmen. Mit Render Config wird die gesamte Konfiguration angezeigt und erlaubt ein nochmaliges Review bevor alle Daten geschriebenen werden.

Eine orangene Zahl neben Deployments / History gibt an, wie viele Änderungen seit dem letzten Ausrollen einer Konfiguration durchgeführt wurden. Somit hat jeder Benutzer, welcher Zugriff auf den Director hat, einen Überblick ob die aktuelle Konfiguration bereits aktiv ist.

Unterstützung bei Fehlern

 

Auch wenn der Director über das Frontend viele Fehlerquellen ausschließen kann, können sich doch ggf. Unstimmigkeiten ergeben welche den Icinga 2 Dienst beeinträchtigen. Für die Validierung der Konfiguration nutzt der Director die Icinga Bordmittel und stellt im Webfrontend einen Auszug aus dem Log bereit - egal ob das Deployment erfolgreich war oder einen Fehler ausgibt.

Der Icinga Dienst läuft dennoch weiter und gibt dem User die Möglichkeit die fehlerhafte Konfiguration noch einmal anzupassen und erneut zu deployen. Geschrieben wird diese nur, sofern die Config-Validierung ohne Fehler durchläuft.

Change Management

 

Jede Änderung welche im Director durchgeführt wird, wird in ein internes Log geschrieben. Dadurch ist - ähnlich wie bei einem Versionswaltungs Tool wie bspw. Git - nachvollziehbar welcher User welche Änderungen an einem Objekt vorgenommen hat. Über eine Diff-Anzeige können im Frontend darüber hinaus die Unterschiede angezeigt werden.

Für den Fall das ein deployment nicht den gewünschten Effekt erzielt oder irrtümlich Objekte gelöscht wurden, können ältere konfigurationen Re-Deployed werden. Die aktuelle Konfiguration im Director bleibt hierbei erhalten und erlaubt dem Benutzer die Fehler zu korrigieren.