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.

Wir beginnen mit dem hinzufügen einer Import Quelle.Wir beginnen mit dem hinzufügen einer Import Quelle.

So sehen unsere Daten momentan aus, Groß- und Kleinschreibung dahin, hier und da mal kurz oder lang...So sehen unsere Daten momentan aus, Groß- und Kleinschreibung dahin, hier und da mal kurz oder lang...

Zunächst sorgen wir dafür das alle Spalten der Kleinschreibung entsprechen. Dazu wenden wir den "lowercase" modifikator an.Zunächst sorgen wir dafür das alle Spalten der Kleinschreibung entsprechen. Dazu wenden wir den "lowercase" modifikator an.

Das sieht schon besser aus.Das sieht schon besser aus.

Nun extrahieren wir uns aus dem Hostname mit dem "Regular Expression Based Replacement" das Land...Nun extrahieren wir uns aus dem Hostname mit dem "Regular Expression Based Replacement" das Land...

und die Zone.und die Zone.

Nun können wir sagen wo unsere Serverchen Geografisch liegen.Nun können wir sagen wo unsere Serverchen Geografisch liegen. Na gut ungefähr..

Die Kontakte sind in einem JSON Array verfasst. Damit können wir allerdings noch nicht so viel anfangen. Daher wenden wir den "JSON Decode" an um das ganze in ein brauchbares Array umzuwandeln.Die Kontakte sind in einem JSON Array verfasst. Damit können wir allerdings noch nicht so viel anfangen. Daher wenden wir den "JSON Decode" an um das ganze in ein brauchbares Array umzuwandeln.

Ob wir erfolgreich waren erkennen wir daran das nun der Hintergrund grau ist.Ob wir erfolgreich waren erkennen wir daran das nun der Hintergrund grau erscheint.

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

Aus Microsoft Remote Desktop Connection Broker wurde ms_rdcb.Aus Microsoft Remote Desktop Connection Broker wurde ms_rdcb.

Wie man bereits gemerkt hat, wir haben eine Kommaseparierte Liste. Das gibt uns nun die Möglichkeit einfach einen "Split" Modifikator anzuwenden, der das ganze in ein Array umwandelt.Wie man bereits gemerkt hat, wir haben eine Kommaseparierte Liste. Das gibt uns nun die Möglichkeit einfach einen "Split" Modifikator anzuwenden, der das ganze in ein Array umwandelt.

Der Modifikator hat wie etwa beim JSON Array unsere Liste in ein Array umgeformt.Der Modifikator hat wie etwa beim JSON Array unsere Liste in ein Array umgeformt.

Die CSV enthält auch das jeweilige Betriebssystem. Das machen wir uns zu nutzte, in dem wir einmal die Familie...Die 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.und zum anderen den Release raus extrahieren.

Das ganze gleichfalls für Windows...Das ganze ebenfalls für Windows.

Beim Windows Release ist es möglich das man nicht alles mit einem Regex abfangen kann.Beim Windows Release ist es möglich das man nicht alles mit einem Regex abfangen kann.

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

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

Mit "Trigger Import Run" stoßen wir den Import an der unsere Informationen in die Director Datenbank schreibt.Mit "Trigger Import Run" stoßen wir den Import an der unsere Informationen in die Director Datenbank schreibt.

Im Reiter History prüfen wir ob auch alle Hosts mitgenommen wurden. Sieht gut aus!Im Reiter History prüfen wir ob auch alle Hosts mitgenommen wurden. Sieht gut aus!

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

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

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

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

Erhalten haben wir fünf Icinga 2 Host Objekte. Woop Woop!Erhalten haben wir fünf Icinga 2 Host Objekte. Woop Woop!

Kurzer blick ob auch alles passt. Damit sind wir auch schon am Ende der Gallerie angelangt. Puh!Kurzer blick ob auch alles passt. Damit sind wir auch schon am Ende der Gallerie angelangt. Puh!
Wie immer wünsche ich euch viel Spaß beim Basteln!
0 Kommentare