• Beitrags-Autor:
  • Beitrags-Kategorie:Aktuelles
  • Lesedauer:4 min Lesezeit

Geschafft! Im Rahmen seiner Bachelorarbeit hat Tunahan das Thema „Evaluierung der Visualisierungsgrammatik Vega als Basis für die Visualisierung und Verwaltung von Logstash-Pipelines auf Basis des ELK-Stacks“ erfolgreich behandelt. Natürlich möchten wir euch dieses interessante Thema nicht vorenthalten und haben Tunahan gebeten, uns einen kleinen Einblick in seine Abschlussarbeit zu geben. Die Arbeit wurde auf Englisch verfasst.

Die Open Source Datenverarbeitungs-Engine Logstash ist ein beliebtes Werkzeug zum Aufbau von Datenverarbeitungsketten (Pipelines). Es ermöglicht den Aufbau von Pipelines mit Echtzeit-Verarbeitungsfunktionen zur Erfassung riesiger Datenmengen und -varianten aus einer Vielzahl von Eingabequellen. Logstash ist in der Lage, diese Daten mit seinen eingebauten Plugins zu verarbeiten und in einer Vielzahl von Zielen zu speichern.

Die Pipelines werden in einer deklarativen Grammatik konfiguriert und bestehen aus drei Hauptteilen. Diese sind Inputs, Filter und Outputs. Durch die Erstellung mehrerer Pipelines und die Definition von Pipeline-zu-Pipeline Verbindungen ist es möglich, komplexe Ereignisverarbeitungs-Pipelines zu deklarieren. Unser Ziel war es, eine graphenbasierte Visualisierungslösung zu finden, um den Verarbeitungsfluss und das Laufzeitverhalten von Pipeline-zu-Pipeline Verbindungen besser zu verstehen. Derzeit gibt es keine offiziellen Tools oder Lösungen zur Darstellung dieser Verbindungen. Zuerst testeten wir Vega, ein experimentelles, in Kibana eingebautes Plugin, welches in der Lage ist, Visualisierungen mit höherer Komplexität in einer deklarativen Sprache zu erstellen. Wir suchten nach einer Lösung, die durch den ELK-Stack bereitgestellt werden sollte, und aufgrund der Unzulänglichkeiten von Vega evaluierten wir andere grafische Visualisierungs-frameworks außerhalb des ELK-Stacks als Alternativen, um eine potenzielle Lösung für unser Problem zu finden. Auf der Grundlage unserer Ergebnisse implementierten wir einen Prototyp mit der beliebten JavaScript-Bibliothek React und einem JavaScript- Framework Rete.js, welches u.a. für visuelles Programmieren bekannt ist.

Wir implementierten eine Lösung, der den Input-, Filter- und Output einer Pipeline als graphenbasierte Visualisierung anzeigt. Die Knoten (nodes) aus der graphenbasierten Visualisierung sind mit anderen Knoten auf der Grundlage von Verbindungen (edges) verbunden, die von Logstash Pipeline-Konfigurationen abgeleitet sind. Durch die Erstellung eines visuell organisierten Layouts von Knoten und Knoten-zu-Knoten-Verbindungen haben wir es im Vergleich zur deklarativen Grammatik einfacher gemacht, komplexe Pipelinestrukturen anzuzeigen.

Die Ergebnisse dieses Visualisierungsprototyps, mit React als Basis und Rete.js als Visualisierungsframework, gaben uns wichtige Einblicke für die zukünftige Entwicklung einer Logstash-Pipeline-Visualisierungs- und Verwaltungslösung. Mit den Algorithmen und den gewonnen Erkentnissen, wie man eine graphenbasierte Visualisierung aus den von Elasticsearch empfangenen Daten erstellen kann, können wir nun eine Lösung bauen, die eine Visualisierung von abgeleiteten Logstash-Pipeline-Konfigurationen erstellt.
Diese Einblicke und Erkenntnisse werden dazu beitragen, eine zuverlässige Lösung für die Visualisierung und Bearbeitung von Logstash-Pipelines als Teil eines übergreifenden Pipeline-Management-Toolkits zu erstellen.

Wir gratulieren ihm herzlich zur bestandenen Abschlussarbeit. Tunahan bleibt uns als Softwareentwickler mit dem Schwerpunkt Frontend und UX-Design erhalten.