ELK Stack Tutorial: Kibana, Logstash & Elasticsearch
โก Intelligente Zusammenfassung
ELK Stack kombiniert drei Open-Source-Tools โ Elasticsearch, Logstashund Kibana โ zum Sammeln, Speichern, Suchen und Visualisieren von Maschinendaten, wodurch Entwicklungsteams eine zentrale Protokollierung und Echtzeitanalysen fรผr eine schnellere Fehlerbehebung auf Servern und Anwendungen erhalten.

Der ELK Stack ist eine der am weitesten verbreiteten Open-Source-Lรถsungen fรผr die zentrale Protokollierung und Protokollanalyse. Dieses ELK Stack-Tutorial erklรคrt, was Elasticsearch, Logstashund Kibana, wie die drei Tools zusammenpassen und wo die Plattform in der realen รberwachungs- und Observability-Arbeit eingesetzt wird.
Was ist der ELK-Stack?
Das ELK-Stapel ist eine Sammlung von drei Open-Source-Produkten โ Elasticsearch, Logstashund Kibana. Es bietet eine zentrale Protokollierung, die Ihnen hilft, Probleme mit Servern oder Anwendungen zu identifizieren, indem Sie alle Ihre Protokolle an einem zentralen Ort durchsuchen kรถnnen. Auรerdem unterstรผtzt es Sie bei der Korrelation von Protokollen mehrerer Server innerhalb eines bestimmten Zeitraums.
- E steht fรผr Elasticsearch: wird zum Speichern von Protokollen verwendet.
- L steht fรผr Logstash: wird fรผr Schiffe verwendetping, Verarbeitung und Speicherung von Protokollen.
- K steht fรผr Kibana: ein Visualisierungstool (eine Weboberflรคche), die รผber Nginx oder Apache gehostet wird.
Elasticsearch, Logstash, und Kibana werden alle von einem Unternehmen namens entwickelt, verwaltet und gewartet. Elastisch.
Zusammen ist der ELK Stack so konzipiert, dass Benutzer Daten aus beliebigen Quellen und in beliebigen Formaten erfassen und diese Daten anschlieรend in Echtzeit durchsuchen, analysieren und visualisieren kรถnnen.
ELK-Stapel Architektur
Nachdem Sie nun den Stack kennen, erklรคrt dieser Abschnitt die ELK-Architektur und wie die Daten zwischen den Komponenten flieรen.
Die ELK-Pipeline folgt einer klaren Abfolge, in der jedes Tool eine feste Aufgabe hat:
- Protokolle: Die zu analysierenden Serverprotokolle wurden identifiziert.
- Logstash: Sammelt die Protokolle und Ereignisdaten, analysiert und transformiert sie anschlieรend.
- Elastische Suche: Die Daten wurden transformiert durch Logstash wird gespeichert, durchsucht und indiziert.
- Kibana: Nutzt die Elasticsearch-Datenbank, um Erkenntnisse zu erforschen, zu visualisieren und zu teilen.
Allerdings wird hรคufig eine vierte Komponente namens Beats zur Datenerfassung hinzugefรผgt. Beats sind schlanke Datensammler, die auf Servern installiert werden. Ihre Hinzufรผgung veranlasste Elastic, ELK in Elastic Stack umzubenennen.
Bei der Verarbeitung sehr groรer Datenmengen kann es sinnvoll sein, Kafka oder RabbitMQ vor die Pipeline zu schalten, um Pufferung und Ausfallsicherheit zu gewรคhrleisten.
Zur Erhรถhung der Sicherheit kann ein Reverse-Proxy wie Nginx vor den Stack geschaltet werden.
Unter Berรผcksichtigung der Architektur werden in den folgenden Abschnitten die einzelnen Open-Source-Produkte des Stacks genauer betrachtet.
Was ist Elasticsearch?
Elasticsearch ist ein NoSQL-Datenbank Basierend auf der Lucene-Suchmaschine und entwickelt mit RESTful APIs. Es bietet einfache Bereitstellung, hohe Zuverlรคssigkeit und unkomplizierte Verwaltung und speichert alle Ihre Daten zentral, sodass Sie sowohl komplexe Abfragen als auch schnelle Dokumentensuchen durchfรผhren kรถnnen.
Elasticsearch ermรถglicht auรerdem das Speichern, Durchsuchen und Analysieren groรer Datenmengen. Es wird am hรคufigsten als zugrundeliegende Engine fรผr Anwendungen mit anspruchsvollen Suchanforderungen eingesetzt.
Da Elasticsearch neben der schnellen Suche auch Analysen und viele weitere fortschrittliche Funktionen bietet, ist es in Suchplattformen fรผr moderne Web- und Mobilanwendungen weit verbreitet.
Funktionen von Elasticsearch
Elasticsearch bietet eine Vielzahl von Funktionen zum Indizieren und Durchsuchen von Daten:
- Ein Open-Source-Suchserver, geschrieben in Java.
- Kann beliebige heterogene Daten indizieren.
- Bietet eine REST-API-Webschnittstelle mit JSON-Ausgabe.
- Volltextsuche.
- Suche in nahezu Echtzeit (NRT).
- Ein fragmentierter, replizierter, durchsuchbarer JSON-Dokumentenspeicher.
- Schemafreier, REST- und JSON-basierter verteilter Dokumentenspeicher.
- Mehrsprachigkeit und Geolokalisierungsunterstรผtzung.
Vorteile von Elasticsearch
- Speichert schemalose Daten und kann auch ein Schema fรผr Ihre Daten erstellen.
- Ermรถglicht die Bearbeitung von Datensรคtzen einzeln mithilfe von Multi-Dokument-APIs.
- Unterstรผtzt das Filtern und Abfragen Ihrer Daten, um Erkenntnisse zu gewinnen.
- Basiert auf Apache Lucene und bietet eine RESTful-API.
- Bietet horizontale Skalierbarkeit, Zuverlรคssigkeit und Mandantenfรคhigkeit fรผr Echtzeit-Indexierung und schnellere Suche.
- Hilft Ihnen dabei, sowohl vertikal als auch horizontal zu skalieren.
Die folgende Tabelle erlรคutert die wichtigsten Begriffe, die Ihnen bei der Arbeit mit Elasticsearch begegnen werden:
| Bedingungen | Anwendungsbereich |
|---|---|
| Cluster | Ein Cluster ist eine Sammlung von Knoten, die gemeinsam Ihre Daten speichern und kombinierte Indexierungs- und Suchfunktionen bereitstellen. |
| Knoten | Ein Knoten ist eine einzelne Elasticsearch-Instanz. Er wird beim Start einer Elasticsearch-Instanz erstellt. |
| Index | Ein Index ist eine Sammlung von Dokumenten mit รคhnlichen Merkmalen, wie z. B. Kundendaten oder ein Produktkatalog. Er ist nรผtzlich fรผr Indizierungs-, Such-, Aktualisierungs- und Lรถschvorgรคnge, und Sie kรถnnen mehrere Indizes in einem Cluster definieren. |
| DokumentAAA | Ein Dokument ist die grundlegende Informationseinheit, die indexiert werden kann. Es wird als JSON-Schlรผssel-Wert-Paar dargestellt, und jedes Dokument ist mit einem Typ und einer eindeutigen ID verknรผpft. |
| Scherbe | Jeder Index kann zur Datenverteilung in mehrere Shards aufgeteilt werden. Ein Shard ist der atomare Teil eines Index und kann beim Hinzufรผgen weiterer Knoten im Cluster verteilt werden. |
Was ist Logstash?
Logstash ist das Datenerfassungstool des Stacks. Es sammelt Dateneingaben und speist sie in Elasticsearch ein, erfasst alle Arten von Daten aus verschiedenen Quellen und stellt sie fรผr die weitere Verwendung zur Verfรผgung.
Logstash Sie kรถnnen Daten aus unterschiedlichen Quellen zusammenfรผhren und in die von Ihnen gewรคhlten Zielformate normalisieren. Dadurch kรถnnen Sie Ihre Daten bereinigen und fรผr eine Vielzahl von Analyse- und Visualisierungsanwendungen zugรคnglich machen.
Es besteht aus drei Komponenten:
- Eingang: รbergibt Protokolle und wandelt sie in ein maschinenlesbares Format um.
- Filters: Eine Reihe von Bedingungen, die eine bestimmte Aktion bei einem Ereignis auslรถsen.
- Ausgang: Der Entscheidungstrรคger, der jedes verarbeitete Ereignis oder Protokoll weiterleitet.
Funktionen Logstash
Logstash beinhaltet mehrere Funktionen, die die Protokollverarbeitung flexibel gestalten:
- Die Ereignisse durchlaufen jede Phase mithilfe interner Warteschlangen.
- Ermรถglicht unterschiedliche Eingaben fรผr Ihre Protokolle.
- Unterstรผtzt das Filtern und Parsen Ihrer Protokolle.
Vorteile von Logstash
- Zentralisiert Ihre Datenverarbeitung.
- Analysiert eine Vielzahl strukturierter und unstrukturierter Daten und Ereignisse.
- Bietet Plugins zur Anbindung an viele Arten von Eingabequellen und Plattformen.
Was ist Kibana?
Kibana ist das Datenvisualisierungstool, das den ELK-Stack vervollstรคndigt. Es dient zur Visualisierung von Elasticsearch-Dokumenten und hilft Entwicklern, durch interaktive Diagramme, Geodaten und Grafiken, die komplexe Abfragen leicht verstรคndlich machen, schnell einen รberblick รผber ihre Daten zu gewinnen.
Mit Kibana kรถnnen Sie Daten, die in Elasticsearch-Indizes gespeichert sind, suchen, anzeigen und mit ihnen interagieren. Es unterstรผtzt Sie auรerdem bei der Durchfรผhrung fortgeschrittener Analysen. Datenanalyse und prรคsentieren Sie Ihre Daten in verschiedenen Tabellen, Diagrammen und Karten.
Kibana unterstรผtzt verschiedene Methoden zur Datensuche. Die gรคngigsten Suchtypen sind unten aufgefรผhrt:
| Suche Art | Anwendungsbereich |
|---|---|
| Freitextsuche | Wird zur Suche nach einer bestimmten Zeichenkette verwendet. |
| Suchen auf Feldebene | Wird verwendet, um innerhalb eines bestimmten Feldes nach einer Zeichenkette zu suchen. |
| Logische Aussagen | Wird verwendet, um Suchvorgรคnge zu einer logischen Aussage zu kombinieren. |
| Suche in der Nรคhe | Wird zur Suche nach Begriffen innerhalb einer bestimmten Zeichenreihenfolge verwendet. |
Kibana bietet auรerdem eine Reihe leistungsstarker Funktionen zur Erkundung indizierter Daten:
- Ein leistungsstarkes Front-End-Dashboard, das indizierte Informationen aus dem Elasticsearch-Cluster visualisiert.
- Ermรถglicht die Echtzeitsuche indizierter Informationen.
- Ermรถglicht das Suchen, Anzeigen und Interagieren mit in Elasticsearch gespeicherten Daten.
- Fรผhrt Abfragen auf Daten aus und visualisiert die Ergebnisse in Diagrammen, Tabellen und Karten.
- Ein konfigurierbares Dashboard zum Analysieren und Auswerten Logstash Protokolle in Elasticsearch.
- Bietet historische Daten in Form von Grafiken, Diagrammen und mehr.
- Bietet einfach konfigurierbare Echtzeit-Dashboards.
Vorteile und Nachteile von Kibana
Wie jedes Werkzeug hat auch Kibana klare Stรคrken, die seine Popularitรคt erklรคren:
- Einfache Visualisierung von Daten.
- Vollstรคndig in Elasticsearch integriert.
- Fungiert als spezielles Visualisierungswerkzeug.
- Bietet Echtzeitanalyse, Diagrammerstellung, Zusammenfassung und Fehlersuche.
- Bietet eine intuitive, benutzerfreundliche Oberflรคche.
- Ermรถglicht das Teilen von Momentaufnahmen der durchsuchten Protokolle.
- Ermรถglicht das Speichern und Verwalten mehrerer Dashboards.
Es gibt jedoch auch einige Einschrรคnkungen, die man beachten sollte:
- Es funktioniert nur mit Elasticsearch als Datenquelle.
- Der Aufbau und die Optimierung komplexer Dashboards kรถnnen eine steile Lernkurve mit sich bringen.
Warum Log-Analyse?
In Cloud-basierten Infrastrukturen sind Leistung und Isolation von groรer Bedeutung.
Die Leistung virtueller Maschinen in der Cloud kann je nach spezifischer Last, Umgebung und Anzahl der aktiven Benutzer variieren, sodass Zuverlรคssigkeit und Knotenausfรคlle zu erheblichen Problemen werden kรถnnen.
A Protokollverwaltungsplattform Es kann all diese Probleme รผberwachen. Auรerdem kann es Betriebssystemprotokolle, Nginx- und IIS-Webserverprotokolle zur Verkehrsanalyse, Anwendungsprotokolle und auf AWS generierte Protokolle verarbeiten (Amazon Web Services).
Letztendlich hilft die Protokollverwaltung. DevOps Ingenieure und Systemadministratoren treffen bessere, datengestรผtzte Entscheidungen. Deshalb ist die Log-Analyse mithilfe des Elastic Stack oder รคhnlicher Tools unerlรคsslich geworden.
ELK vs. Splunk
Eine hรคufig gestellte Frage ist, wie sich der ELK-Stack im Vergleich zu anderen Systemen verhรคlt. Splunk, eine beliebte kommerzielle Alternative. Die folgende Tabelle fasst die wichtigsten Unterschiede zusammen:
| ELCH | Splunk |
|---|---|
| ELK ist ein Open-Source-Tool. | Splunk ist ein kommerzielles Tool. |
| ELK bietet nicht an Solaris Portabilitรคt dank Kibana. | Splunk-Angebote Solaris Portabilitรคt. |
| Die Verarbeitungsgeschwindigkeit ist streng begrenzt. | Bietet eine prรคzise und schnelle Bearbeitung. |
| ELK ist ein Technologie-Stack, der aus der Kombination von Elasticsearch, Logstashund Kibana. | Splunk ist ein proprietรคres Tool, das sowohl On-Premise- als auch Cloud-Lรถsungen bietet. |
| In ELK sind Suche, Analyse und Visualisierung erst mรถglich, nachdem der Stack eingerichtet ist. | Splunk ist ein komplettes, sofort einsatzbereites Datenmanagement-Paket. |
| ELK bietet nur eine eingeschrรคnkte integrierte Anbindung an andere Tools. | Splunk ist nรผtzlich fรผr die Einrichtung von Integrationen mit anderen Tools. |
Case Studies
Viele namhafte Unternehmen setzen auf den ELK Stack, um Protokollierung und Analysen in groรem Umfang durchzufรผhren. Die folgenden Beispiele zeigen, wie er in der Produktion eingesetzt wird.
Netflix
Netflix setzt stark auf den ELK Stack, um die Sicherheitsprotokolle seiner Kundendienstprozesse zu รผberwachen und zu analysieren. Die Plattform ermรถglicht es Netflix Dokumente in mehr als fรผnfzehn Clustern mit insgesamt rund 800 Knoten indizieren, speichern und durchsuchen.
Das berufliche Netzwerk LinkedIn nutzt den ELK Stack zur รberwachung von Leistung und Sicherheit. Das Team integrierte ELK mit Kafka, um die Last in Echtzeit zu bewรคltigen, und der Betrieb erstreckt sich รผber mehr als 100 Cluster in sechs Rechenzentren.
Tripwire
Tripwire, ein weltweit tรคtiger Anbieter von Security Information and Event Management (SIEM)-Lรถsungen, nutzt den ELK Stack zur Unterstรผtzung der Analyse von Informationspaketprotokollen.
Medium
Medium, die beliebte Blog-Plattform, nutzt den ELK Stack, um Produktionsprobleme zu beheben und Fehler zu erkennen. DynamoDB Hotspots. Die Plattform hilft dem Unternehmen, 25 Millionen einzelne Leser und Tausende neuer Beitrรคge pro Woche zu bedienen.
Vor- und Nachteile des ELK-Stacks
Vorteile
Der ELK Stack bietet mehrere Vorteile, die seine weite Verbreitung erklรคren:
- Das funktioniert am besten, wenn die Protokolle der verschiedenen Anwendungen eines Unternehmens in einer einzigen ELK-Instanz zusammengefรผhrt werden.
- Es liefert umfassende Erkenntnisse aus dieser einen Instanz und macht das Einloggen in Hunderte von separaten Datenquellen รผberflรผssig.
- Schnelle Installation vor Ort.
- Einfach zu implementieren und sowohl vertikal als auch horizontal skalierbar.
- Elastic bietet viele Sprachclients an, darunter Ruby. PythonPHP, Perl, .NET, Java und JavaSkript.
- Fรผr viele Programmier- und Skriptsprachen stehen Bibliotheken zur Verfรผgung.
Nachteile
Trotz seiner Stรคrken weist der ELK Stack einige Nachteile auf, die berรผcksichtigt werden sollten:
- Bei einem komplexeren System kann die Verwaltung der verschiedenen Komponenten schwierig werden.
- Es gibt eine steile Lernkurve, rechnen Sie also mit einigen Versuchen und Fehlern, wรคhrend Sie Erfahrung sammeln.


