Icinga 2 Director - erste Schritte und Nutzung
Wenn du den Director nicht innerhalb der letzten 15 Minuten eingerichtet hast empfehle ich dir, den aktuellen Stand via GitHub auszuchecken und zum Einsatz zu bringen – Tom arbeitet sehr fleißig, und nahezu täglich gibt es neue Commits. Beachte dabei auch eventuelle Datenbankanpassungen und -änderungen!
Host Template, Host Object und Deploy
Unser erster Schritt besteht darin, ein host template generic-director-host
und ein host object fritzbox4711.bafi.lan
anzulegen (das von generic-director-host
erbt).
Der übliche Check, der für Hosts verwendet werden soll, ist hostalive
. In Icinga Web 2 navigierst du also zu Icinga Director → Host Objects → Add Host und fügst das Template (zum Beispiel gemäß der Angaben in nebenstehendem Screenshot) hinzu. Bist du fertig, speichere die Angaben mit einem Klick auf Store.
Jetzt kann mit fritzbox4711.bafi.lan
der erste reale Host erfasst werden; wiederum navigierst du über Icinga Director → Host Objects → Add Host – als Object Type musst du nun jedoch Object angeben (und nicht, wie zuvor, Template).
Host und Template sind nun erfasst, jedoch noch nicht in die Konfiguration übernommen – die entsprechende Zahl der Änderungen wird üblicherweise neben Deployments/ History hervorgehoben. Wagen wir es also und übermitteln dem System unsere Änderungen – klicke hierzu auf Deployments/ History → Render config → Deploy to master (vgl. auch Screenshot – hier hab ich echt lange gebraucht, bis der Groschen endlich fiel!).
Der Rest analog
Das ist der übliche Ablauf: du erfasst deinen Kram – Hosts und Services, User und Downtimes, Notifications und so weiter – und lässt dem ein Deploy folgen. That’s it – deine Änderungen erscheinen nahezu zeitgleich. Das Webinterface hat ein Refresh-Intervall von 10 Sekunden, deine Änderungen sind aber schon deutlich eher verfügbar; im Zweifelsfalle kannst du auch auf Refresh klicken, dann siehst du das.
Data Lists und Data Fields
Frei wählbare Felder wie diese brauchst du, um die Konfiguration vollends an deine Bedürfnisse anpassen zu können. Ich zum Beispiel möchte, dass Icinga 2 mir Warnungen per Jabber schickt – ich möchte also meinen User-Eintrag um meinen Jabber-Namen erweitern. Tun wir das gemeinsam: über Icinga Director → Define data fields → Add new definieren wir das Feld Jabber vom Typ String.
Nun weisen wir dieses Feld dem Template generic-director-user
zu (Icinga Director → Users → generic-director-user → Reiter „Fields“), wir erweitern also das Template um den Eintrag Jabber – hier können wir auch angeben, ob die Angabe eines Jabber-Namens optional oder zwingend ist. Und für jeden User, der Ableger des Templates generic-director-user
ist, kann nun ein Jabber-Name hinterlegt werden. That’s it.
Analog hierzu funktionieren Data Lists – erwartungsgemäß stellen wir hier ein Drop-Down-Feld zur Verfügung, aus dem ausgewählt werden kann. Erweitern wir nun also unser Template generic-director-host
um die Angabe, welches Betriebssystem auf dem Host installiert ist.
- Im ersten Schritt erstellen wir also eine Liste aller Betriebssysteme, die wir einsetzen: Icinga Director → Provide Data Lists → Add list.
- Anschließend müssen wir ein Data Field vom Typ Data List anlegen und diesem Feld unsere eben erstellte Betriebssystem-Liste unterschieben.
- Zuletzt erweitern wir unser Host-Template um eben dieses Data Field, indem wir in Icinga Director · Hosts · generic-director-host auf den Reiter Fields klicken, das Field Operating System auswählen und festlegen, ob diese Angabe freiwillig oder zwingend zu erfolgen hat.
- Deploy. That’s it.
Bin ich verständlich? Ich fürchte, es ist umständlicher zu erklären als auszuführen, deshalb habe ich dir großzügig Screenshots angeheftet und hoffe, sie helfen dir weiter. Feedback – wie immer – erwünscht! Und nun: viel Spaß beim Ausprobieren :-)
Hintergrundbild: 1330x 603px, Bild genauer anschauen – © Marianne Spiller – Alle Rechte vorbehalten