Back to top

Tools für die Log-Analyse: Open-Source oder kommerziell?

Splunk oder kein Splunk, das ist hier die Frage.

Zu diesem Thema sind bereits eine Reihe guter Artikel geschrieben worden, die wir am Ende dieses Blogs zusammengestellt haben. Statt also einen billigen Abklatsch zu liefern, werde ich einfach meine eigene Erfahrung zu Tools der Log-Analyse präsentieren, ergänzt um Erfahrungen der anderen Ingenieure bei Search Technologies. Es geht um die Frage, wie sich Splunk gegenüber Elasticsearch, Logstash und Kibana im ELK-Stack hält. Wie der Name des Artikels schon andeutet, muss daraus dann jeder selbst entscheiden, was am besten zur eigenen Situation passt.

Mein erstes Mal mit Splunk

Der Name Splunk ist mir schon seit langem ein Begriff und ich weiß zu schätzen, wie leicht der Dienst genutzt werden kann. Bei dem Unternehmen, für das ich früher gearbeitet habe, hatte der Hosting-Provider die Konfiguration der VM umgestellt und damit meine Website drei Tage offline genommen. Natürlich wollten sie nicht zugeben, dass sie selbst dieses Problem verursacht hatten. Zufälligerweise spielte ich zu der Zeit gerade mit der kostenlosen Version von Splunk herum. Es hat nur fünf Minuten gedauert, Splunk auf das Log meines Webservers auszurichten und nach dem Wort „Fehler“ zu suchen. Et voila! Auf einer Ergebnisseite ähnlich dem unten gezeigten Beispiel wurden die Probleme aufgelistet, die interessanterweise alle an dem Tag anfingen, an dem die VM zur neuen Konfiguration gewechselt hatte.

 

 

Im Endeffekt stellte sich heraus, dass die PHP-Version nicht mit meinem CMS kompatibel war. Ich muss wohl nicht erwähnen, dass ich schon bald einen anderen Hosting-Anbieter hatte.

Das hat mir aber gezeigt, wie einfach Splunk zu bedienen ist, wie schnell man vom ersten Schritt der Installation angefangen zu den ersten nützlichen Informationen gelangt. Rückblickend von meiner heutigen Arbeit im Marketing (seit 10 Jahren kein aktives Programmieren mehr) kommt mir das sogar noch beeindruckender vor, ich kann mir gut vorstellen, wie gut Leute im IT-Management oder in nur teilweise technischen Bereichen diese Möglichkeiten effektiv einsetzen können.

 

Benutzererfahrung: Elasticsearch, Logstash und Kibana (ELK) gegenüber Splunk

Eine der größten Herausforderungen für Splunk sind die Open-Source-Tools für die Analyse, die inzwischen auch ziemlich beeindruckende Resultate liefern. Der bekannteste Vertreter dieser Spezies ist wohl der ELK-Stack (Elasticsearch, Logstash und Kibana), angeboten von Elastic (zur Information: Wir bei Search Technologies verdienen unter anderem unser Geld damit, Anwendungen durch Open-Source-Technologien zu entwickeln).

Ähnlich wie Splunk basiert auch Elasticsearch auf Lucene (auch wenn Splunk inzwischen eine eigene, geschützte Implementierung besitzt). Logstash ist dafür zuständig, die Daten aufzunehmen, Kibana dient als Dashboard oder Präsentationsebene. Es handelt sich dabei um separate Open-Source-Projekte, die allerdings mit gleichem Management unter dem „Dach“ von Elastic vereint sind und damit gezielt in eine gemeinsame Richtung entwickelt werden.

Wie gesagt, denkt bitte daran, dass ich schon einige Zeit nicht mehr als Entwickler aktiv war. Aber, die erste Einrichtung, die ich in Splunk in fünf Minuten geschafft habe, hat mich mit dem ELK-Stack wohl eher eine oder zwei Stunden gekostet. Ich musste einige Variablen für die JAVA-Umgebung einrichten, mich wieder mit der Befehlszeile vertraut machen und hatte keine Tools wie Curl auf meinem Computer installiert. Außerdem musste ich drei Komponenten für den ELK-Stack installieren, nicht nur eine Anwendung wie bei Splunk.

Nach ein wenig Arbeit sah der Ausgangspunkt dann aber Splunk recht ähnlich (siehe Beispiel unten). Wenn man den ELK-Stack auf eine Log-Datei ausrichtet, wird diese schnell indexiert und eine Suchschnittstelle angeboten, mit Facetten, über die die indexierten Daten durchsucht werden können.

 

 

Entwickler lieben Elasticsearch, Logstash und Kibana (ELK) für die Log-Analyse

Für die technischen Mitarbeiter hier bei Search Technologies war es ziemlich einfach, sich in ELK einzuarbeiten. Sie lobten alle die sehr gute Erfahrung für den Entwickler.

Bei unserem letzten großen Unternehmensstart hatten wir einen Hands-On-Workshop, der von einem unserer Architekten geleitet wurde. In diesem wurden in einigen Stunden ELK komplett eingerichtet und einige beeindruckende Dashboards ausgegeben, mit Daten aus den Server-Logs unserer Website. Damit konnten sie im Prinzip unseren Web-Traffic über mehrere Monate ausgeben, es sah in etwa so aus:

 

 

Wie bei der Datenaufnahme wird auch die grundlegende Datenvisualisierung immer mehr zu einer Grundanforderung. Unsere Ingenieure meinen, zumindest an der Oberfläche, dass die neuste Visualisierung von Kibana und die Fähigkeiten des Dashboards denen in Splunk sehr ähnlich sind.

 

Splunk ist immer noch Marktführer für die Log-Analyse

Mit mehr als 500 Millionen US-Dollar Umsatz ist Splunk immer noch unbestrittener Marktführer bei Anwendungen der Log-Analyse. 

Tools für die Log-Analyse gibt es jetzt schon eine Weile. Aber die Entwickler von Splunk haben sich die Zeit genommen, zu verstehen, welche Probleme sich dem traditionellen Anwender – primär Systemadministratoren und Entwicklern – in ihrem Berufsalltag stellen. Oft ging es nur um die Suche nach Problemen in Sicherheit, Anwendungen oder Server-Logs, oder wie es jemand mal formuliert hat: „der Suche nach der Nadel im Heuhaufen aller Heuhaufen“.

Splunk hat drei Sachen richtig gemacht und ist damit zum aktuell unbestrittenen Marktführer bei kommerziellen Tools der Log-Analyse geworden:

  • Sie haben eine herausragende Benutzererfahrung geschaffen.
  • Sie haben eine Community mit nützlichen Plug-Ins eingerichtet, welche die Plattform unterstützen.
  • Sie haben unablässig das Land bereist und Schulungen angeboten, um mehr und mehr Anhänger der Splunk Search Processing Language (SPL™) zu schaffen.

SPL ist ein unglaubliches Zeugnis dafür, wie leistungsfähig eine Suchschnittstelle sein kann, um verschiedene Arten der Datenquellen zu visualisieren, erforschen und analysieren. Man kann eigentlich alles in Splunk eingeben, dank der Plug-Ins verschiedener Drittanbieter. SPL bietet auch eine Reihe fortgeschrittener „Befehle“ (ähnlich wie Makros) für die Analyse, die einige interessante Analysen über Zeit vornehmen, wie etwa das Aufzeichnen von Regressionsgeraden über Daten und das Einstellen von Schwellenwerten für Warnsignale.

Aber trotz des ganzen Hypes um Big Data ist Splunk weiterhin nur ein Tool, um Logs zu analysieren. Wie jemand aus der Marketingabteilung mir einmal verraten hat: „Splunk ist nur so gut wie die Abfrage, die der Benutzer eingibt“. Anders ausgedrückt, um wirklich alles aus Splunk herauszuholen, muss man eine Art Power-User dieser proprietären Technologie sein.

 

Wie lange kann der Kaiser seine Kleider noch behalten?

Welchen Herausforderungen wird sich Splunk also in der Zukunft gegenüber sehen? Was gibt es an Splunk, das den Markt beunruhigt? Und warum erwägen viele Unternehmen, die jahrelang Splunk genutzt haben, jetzt auf Open-Source-Tools der Log-Analyse wie den ELK-Stack umzuschwenken?

Als Erstes ist da sicher die gute Entwicklererfahrung, die der ELK-Stack bietet. Die Lücke in den angebotenen Funktionen ist in den letzten 12 Monaten deutlich geschrumpft. Außerdem gibt es inzwischen deutlich mehr Schulungen für die Komponenten des ELK-Stacks, sowie eine umfassende und weiter wachsende Community der Entwickler, die aushelfen können.

Und schließlich geht es noch um die Kosten – die wahrscheinlich wie so oft der Knackpunkt sind.

Auch wenn Splunk seine Wurzeln in Open-Source-Technologie hat (Lucene, die Such- und Indexengine ist Teil der Kerntechnologie) und die meisten Benutzer Splunk lieben, kann man doch nicht gegen das Gefühl an, dass man dem Preismodell des Unternehmens hilflos ausgeliefert ist.

Die Kosten bei Splunk basieren auf der Menge der indexierten Daten. Das ist in etwa damit vergleichbar, für ein Auto nach Menge der gefahrenen Kilometer zu bezahlen. Viele Benutzer haben davon berichtet, dass sie das Gefühl hatten, dass Datenquellen deutlich mehr Daten generierten, sobald Splunk auf sie ausgerichtet wurde, in steigender Geschwindkeit, schneller, als man erwartet hatte. Selbst Oracle geht nicht so mit seinen Datenbanken um. Und wann war wohl das letzte Mal, dass sich der Markt mehr über das variable Preismodell eines Anbieters beschwert hat als über Oracle?

Es gibt viele andere Softwarelösungen, sowohl kommerzielle Angebote als auch Open-Source, die variable Preismodelle anbieten. Und durch die Add-Ons wird es manchmal schon schwer, einen „reinen“ Open-Source-Anbieter von einem kommerziellen Unternehmen zu unterscheiden. Aber diese Anbieter berechnen normalerweise pro Knoten (grob wie Instanzen bei virtuellen Servern) und aus irgendeinem Grund scheint das für den Markt akzeptabler zu sein.

Wenn man Splunk gegenüber fair ist, tritt nicht bei jedem Unternehmen ein solcher exponentieller Datenzuwachs (mit entsprechendem Kostenanstieg) auf, vor allem, wenn die Datenvolumen im Index selbst verwaltet werden. Dazu gibt es auch noch Splunk Light als kostengünstigere Alternative mit eingeschränkten Funktionen. Weiterhin bietet Splunk den wichtigsten Kunden gelegentlich äußerst attraktive Rabatte an.

Aber es ist eindeutig, dass die Open-Source-Tools für die Log-Analyse zu einer Bedrohung für Splunk werden, da sie jetztdie Lücke bei Funktionen schließen, während der Markt dem Preismodell von Splunk weiterhin eher ablehnend gegenüber steht.

 

Was andere dazu sagen

Die folgenden Artikel geben weitere Ansichten zu der Frage, ob kommerzielle oder Open-Source-Tools für die Log-Analyse eingesetzt werden sollten. Die meisten versuchen, objektiv zu bleiben, aber in einigen Fällen kann eine gewissene Voreingenommenheit natürlich nicht umgangen werden. Trotzdem bieten diese Artikel interessante Einblicke, auch in den Kommentaren, die bei einigen Artikeln angeboten werden. 

Im Endeffekt ist es schwer zu sagen, ob es für Ihr Unternehmen der richtige Schritt ist, Splunk durch den ELK-Stack zu ersetzen. Aber dennoch sollte man diese Frage nicht einfach abtun und die Vor- und Nachteile zumindest genau abwägen.

-- Graham 

0