ONLINE

Icinga 2 Director – erste Schritte und Nutzung

icinga2 director deploy

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 Datenbank-Anpassungen 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 Icingaweb2 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.

UnterschriftBin 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 🙂

  1. Vielen Dank Marianne,
    deine Anleitung hast mir sehr geholfen die erste Schritte mit Icinga2, Icingaweb2 und Director zu machen.
    Michel

  2. Hi,

    erst mal großen Dank für deine Icinga 2 Director Tutorials. Soweit eingängig und funktional. Wie verfährst Du mit dem Director, wenn Du einem Host mehrere Dienste/Checks zuweisen willst?

    Legst Du für jeden Check ein einzelnes Template an und weist das dem Host zu oder machst Du aus dein einzelnen Templates wieder ein Template das von diesen erbt?

    Grüße
    Simon

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.