Guten Tag!
Heute zeige ich euch mit einer kleinen Galerie, wie ihr mithilfe von Modifikatoren, Daten im Director Import sauber aufbereiten könnt.
Die Umgebung ist eine selbstgebaute Vagrant Box auf Basis CentOS 7.6 mit Icinga 2 + Icinga Web 2. Das Icinga Web 2 wurde mit dem Director und Fileshipper Module ausgestattet.
Für mein Beispiel verwende ich einen Fileshipper CSV import, dessen Datenstruktur momentan etwas willkürlich wirkt. Das Ziel: Das unsere Modifikatoren diese Daten so aufbereiten, das am Ende eine einheitliche Struktur entsteht.

import-source-1Wir beginnen mit dem hinzufügen einer Import Quelle.

import-source-result-1So sehen unsere Daten momentan aus, Groß- kleinschreibung dahin, hier und da mal kurz oder lang...

import-modifiers-1Zunächst sorgen wir dafür das alle Spalten der Kleinschreibung entsprechen.

import-modifiers-result-1Zunächst sorgen wir dafür das alle Spalten der Kleinschreibung entsprechen.

import-modifiers-2Nun extrahieren wir uns aus dem Hostname das Land...

import-modifiers-3und die Zone.

import-modifiers-result-3Nun können wir schon mal grob identifizieren, wo kommen unsere Serverchen den überhaupt her?

import-modifiers-4Die Kontakte sind in einem JSON Array verfasst

import-modifiers-result-4Ob wir erfolgreich waren erkennen wir daran das nun der Hintergrund grau ist.

import-modifiers-5Im der Services Spalte erwarten wir die installierten Microsoft Dienste in kurz Fassung... Wir wenden wieder Regex an um das ganze konform zu formartieren.

import-modifiers-result-5Hübsch.

import-modifiers-6Wie man bereits gemerkt hat ist die Liste Komma separiert. Das gibt uns die Möglichkeit einfach einen "Split" modifikator anzuwenden, der das ganze in ein

import-modifiers-result-6Noch viel hübscher.

import-modifiers-7Die CSV enthält auch das jeweilige Betriebssystem. Das machen wir uns zu nutzte, in dem wir einmal die Familie... und zum anderen den Release raus extrahieren.

import-modifiers-8und zum anderen den Release raus extrahieren.

import-modifiers-9Das ganze gleichfalls für Windows...

import-modifiers-10Hier soll

import-modifiers-11Das ganze schließen wir damit ab, in dem wir alle Punkte durch Unterstriche ersetzen.

import-modifiers-result-11Icinga 2 ist jetzt in der Lage zu unterscheiden ob es Linux oder Windows Checks verwenden soll. Yay!

import-source-result-2Nachdem das

import-source-result-3Im Reiter History prüfen wir ob auch alle Hosts mitgenommen wurden. Sieht gut aus!

sync-rule-1Jetzt machen wir uns an die Synchronisation Regel mit der wir unsere aufbereiteten Informationen in Host-Objekte umwandeln.

sync-rule-2Die Synchronisationsregel ist recht einfach gehalten, die Spalten werden in Costum Variablen geschrieben und ein paar Notwendige Informationen ergänzt.

sync-rule-3Bevor wir unsere Synchronisation anstoßen, prüfen wir das Verhalten unserer Regel.

sync-rule-4Da fünf Hosts angelegt werden, können wir ohne Bedenken den ganze Statt geben.

sync-rule-5Erhalten haben wir fünf Icinga 2 Host Objekte. Woop Woop!

sync-rule-6Kurzer blick ob auch alles passt. Damit sind wir auch schon wieder am Ende der Gallerie angelangt.
Wie immer wünsche ich euch viel Spaß beim Basteln!
0 Comments