Monitoring und Analytics spielen in zunehmend komplexen Systemlandschaften eine immer größere Rolle. Sie unterstützen nicht nur die Erkennung des derzeitigen Zustandes, sondern auch das Treffen der richtigen Entscheidungen und schnelle Reaktionen.
Aus dem hohen Bedarf entstand eine Fülle an verschiedensten Plattformen und Anwendungen, welche große Datenmengen anschaulich präsentieren und weiterverarbeiten. Nicht immer ist es daher trivial, die beste Technologieentscheidung zu treffen. Um dies zu erleichtern, sollen die Ergebnisse des Vergleichs dreier ausgewählter Werkzeuge nachfolgend kurz vorgestellt werden, um deren Stärken, Schwächen und geeignete Anwendungsfälle aufzuzeigen.
Verglichen wurden die Frameworks Splunk Enterprise 7.3, ELK Basic 7.3 und Oracle APEX 5.1, zunächst mit dem Fokus auf Datenbankmonitoring. Später wurden auch weitere eigene Produkte und Standardanwendungen in das Monitoring integriert und Analysen vorgenommen. Der Vergleich erfolgte jeweils mit gleichartigen strukturierten und unstrukturierten Daten und Zielen. Jegliche Software wurde on-premises betrieben, wobei auch Cloud-Angebote existieren.
Oracle APEX und ELK Basic sind frei verfügbar, ELK bietet auch eine Open Source Implementierung an. Splunk hingegen ist ein nach der Menge täglich indizierter Daten lizenziertes Produkt. Alle drei Lösungen nutzen eine Weboberfläche zur Visualisierung.
APEX läuft in der relationalen Oracle Datenbank. Die Entwicklung von Monitoring-Anwendungen setzt damit auch eine entsprechende Datenmodellierung voraus. Maßgebliche Einschränkung ist für APEX allerdings die geringe Menge an vordefinierten Schnittstellen zum Einlesen von Daten, insbesondere von Echtzeitdaten. Es handelt sich eher um ein webbasiertes Anwendungsentwicklungs- und Auslieferungswerkzeug als um eine Monitoring und Analytics Plattform. Daher wurde hier nur eine Lösung für Datenbanken geschaffen, welche mittels PL/SQL-Jobs die entsprechenden Daten in eine Performance-Datenbank lädt, auf deren Tabellen wiederum APEX zur Visualisierung zugreift. Verschiedene Diagrammformen und formatierte Tabellen stehen zur Veranschaulichung bereit, APEX unterstützt dabei das Editieren der Daten am stärksten. Bezüglich der Darstellung von Dashboards im Browser sind alle drei Werkzeuge sehr ähnlich, daher soll ein Beispiel genügen.

Weit mehr Schnittstellen und Streaming-Unterstützung bieten ELK und Splunk. ELK basiert auf drei eigenständigen Softwarekomponenten, deren Entwicklung und Release synchronisiert wird – Elasticsearch (Speicherung), Logstash (Vorverarbeitung) und Kibana (Visualisierung). Auch ELK verlangt die Definition eines festen Schemas und die Extraktion relevanter Felder beim Einlesen der Daten. Diese können über verschiedenste Eingaben verfügbar gemacht werden. Beispielsweise kann dies über Agenten auf den Quellen, sogenannte Beats, erfolgen. Für verschiedenste Einsatzzwecke werden Module mitgeliefert, welche sehr einfach ein komplettes Setup von der Ingestion bis zum Dashboard in wenigen Schritten ermöglichen.
Benötigt man weitere Flexibilität, da sich beispielsweise Logformate öfter ändern oder tiefgreifende, wechselnde Maschinendatenanalysen möglich sein sollen, so ist Splunk das Werkzeug der Wahl. Während APEX und ELK die Struktur der Daten bereits bei der Ingestion vorgeben, bildet Splunk neben diesem Schema-On-Write auch ein Schema-On-Read. Somit können auch nach dem Einlesen der Daten, zur Suchzeit, noch weitere Felder extrahiert werden oder auch andere Manipulationen erfolgen. Dadurch kann eine leichte Anpassung ohne Erfordernis des erneuten Datenladens erfolgen. Dies kann über einen Assistenten oder reguläre Ausdrücke realisiert werden. Daneben erhöht die mächtige Splunk-Abfragesprache „Search Processing Language“, kurz SPL, die Auswertungsmöglichkeiten beträchtlich. Sie unterstützt neben statistischen Auswertungen auch Transaktionsverarbeitung, Feldwertvergleiche, maschinelles Lernen, Prognosen und viele weitere Funktionen zur Suchzeit. Auch sind in der Splunk Enterprise Lizenz nützliche Features wie Alerting integriert, welche auch in ELK eine kostenpflichtige Lizenz erfordern. Für große täglich indizierte Datenmengen kann die Splunk Enterprise Lizenz allerdings auch zu teuer werden, obwohl der Preis je Gigabyte mit wachsendem Lizenzvolumen geringer wird.
Im erweiterten Anwendungsfall des Vergleichs ELK versus Splunk wurden E-Mails mit Datenbankstatusmeldungen im JSON-Format in ELK und Splunk eingelesen. Dabei zeigte sich, dass ELK für strukturierte Daten ähnlich schnell wie Splunk zu einer ähnlichen Monitoringlösung führen kann, insbesondere wenn die Datenstrukturen keine Änderungen erleben. Durch die bei Splunk funktionsreichere Abfragesprache sind die Möglichkeiten zur Analyse in Splunk allerdings erheblich mächtiger. Hier benötigt ELK einen höheren Entwicklungsaufwand und meist auch externe Werkzeuge und Programmierung. Zu ELK kann weiterhin festgehalten werden, dass es den höchsten Nutzen bietet, wenn die Daten und Analysen bekannt, nahe am Standard und nicht änderungsfreudig sind. Splunk hat seine Stärken hingegen in der Arbeit mit unstrukturierten, sich oft ändernden Daten und Anforderungen.
Zusammenfassend ging aus dem Vergleich über unserem Anwendungsfall hervor, dass jedes der Werkzeuge in seinem Spezialgebiet am geeignetsten ist. Dies zeigt auch die Entwicklung hin zu Lösungen, welche jeweils „Best-of-Class“-Technologien nutzen und verbinden. Während APEX seine Stärken in Nutzerinteraktion, Bearbeitung und programmatischen Abläufen hat, sind die beiden anderen Werkzeuge in ihrer Funktion ähnlicher und stärker auf Auswertungen ausgerichtet. Daher soll abschließend ein übersichtlicher Vergleich beider Produkte anhand einiger Entscheidungskriterien gegeben werden.
SPLUNK Enterprise (7.3) | ELK Stack (7.3) | |
Data Shippers | 2 Forwarder-Typen: Universal & Heavy | Verschiedene Beats (je nach Typ der Eingabe) |
Alerting | Inklusive (ohne Zusatzkosten) | Ab Gold Paket (Zusatzkosten) |
Machine Learning | Machine Learning Toolkit (ohne Zusatzkosten) | Ab Platinum Paket (Zusatzkosten) |
Datenmodell-änderungen | REGEX anpassen (dynamisch in SPL oder fest in Konfiguration möglich) | Filterpattern, Mapping anpassen, Reindizieren (aufwändiger) |
Replikation | (Multisite) Cluster und Replikation inklusive (ohne Zusatzkosten) | Cluster inklusive (ohne Zusatzkosten), Cross/Cluster Replikation erst ab Platinum Paket (Zusatzkosten) |
Sprachen/Abfragen | SPL (mächtig für Analyse) | Mehrere: Lucene, KQL (Kibana), Elastic Query DSL, … |
Authentifizierung | LDAP, SAML inklusive (ohne Zusatzkosten) | Ab Gold Paket LDAP, ab Platinum Paket SAML (Zusatzkosten) |
Lizenz | Nach indiziertem Volumen | Nach Paket / Funktionalitäten |
Schemaart | Schema-On-Write und Schema-On-Read | Schema-On-Write |
Dashboards | Formulare, Drilldowns | Formulare (Beta) |
Data Enrichment / Lookups | Suchzeit | Indizierungszeit |
App Updates | Via UI automatisch | Neuinstallation der App nötig |
Schreibe einen Kommentar