ELK Stack Tutorial: Was ist Kibana? Logstash & Elasticsearch?

Was ist der ELK-Stack?

Das ELK-Stapel ist eine Sammlung von drei Open-Source-Produkten – Elasticsearch, Logstash, und Kibana. Der ELK-Stack bietet eine zentralisierte Protokollierung, um Probleme mit Servern oder Anwendungen zu identifizieren. Damit können Sie alle Protokolle an einem einzigen Ort durchsuchen. Es hilft auch, Probleme auf mehreren Servern zu finden, indem Protokolle während eines bestimmten Zeitraums verbunden werden.

  • E steht für ElasticSearch: wird zum Speichern von Protokollen verwendet
  • L steht für LogStash : wird sowohl für den Versand als auch für die Verarbeitung und Lagerung von Holzstämmen verwendet
  • K steht für Kibana: ist ein Visualisierungstool (eine Webschnittstelle), die über Nginx oder Apache gehostet wird

ElasticSearch, LogStash und Kibana werden alle von der Firma Elastic entwickelt, verwaltet und gepflegt.

ELK Stack ist so konzipiert, dass Benutzer Daten aus jeder Quelle und in jedem Format übernehmen und diese Daten in Echtzeit durchsuchen, analysieren und visualisieren können.

ELK-Stapel Architektur

Jetzt lernen wir in diesem ELK-Stack-Tutorial etwas über die ELK-Architektur:

Hier ist die einfache Architektur des ELK-Stacks

ELK-Stapel Architektur
ELK-Stapel Architektur
  • Protokolle: Es werden Serverprotokolle identifiziert, die analysiert werden müssen
  • Logstash: Sammeln Sie Protokolle und Ereignisdaten. Es analysiert und transformiert sogar Daten
  • ElasticSearch: Die transformierten Daten von Logstash is Speichern, suchen und indizieren.
  • Kibana: Kibana verwendet Elasticsearch DB zum Erkunden, Visualisieren und Teilen

Es ist jedoch eine weitere Komponente erforderlich, nämlich die Datenerfassung namens Beats. Dies führte dazu, dass Elastic ELK in Elastic Stack umbenannte.

ELK-Stapel ArchiMusik mit Beats

Beim Umgang mit sehr großen Datenmengen benötigen Sie möglicherweise Kafka oder RabbitMQ zum Puffern und für die Ausfallsicherheit. Aus Sicherheitsgründen kann nginx verwendet werden.

ELK-Stapel Architektur

Jetzt in diesem Elastic-Stack-Tutorial: Lassen Sie uns alle diese Open-Source-Produkte genauer unter die Lupe nehmen:

Was ist Elasticsearch?

Elasticsearch ist ein NoSQL-Datenbank. Es basiert auf der Lucene-Suchmaschine und ist mit RESTful APIS erstellt. Es bietet einfache Bereitstellung, maximale Zuverlässigkeit und einfache Verwaltung. Es bietet außerdem erweiterte Abfragen zur Durchführung von Detailanalysen und speichert alle Daten zentral. Dies ist hilfreich, um eine schnelle Suche in den Dokumenten durchzuführen.

Elasticsearch ermöglicht Ihnen auch das Speichern, Durchsuchen und Analysieren großer Datenmengen. Es wird meist als zugrundeliegende Engine für Anwendungen verwendet, die Suchanforderungen erfüllen. Es wurde in Suchmaschinenplattformen für moderne Web- und Mobilanwendungen übernommen. Neben einer schnellen Suche bietet das Tool auch komplexe Analysen und viele erweiterte Funktionen.

Funktionen der elastischen Suche

  • Der Open Source-Suchserver wird geschrieben mit Java
  • Wird zum Indizieren heterogener Daten aller Art verwendet
  • Verfügt über eine REST-API-Webschnittstelle mit JSON-Ausgabe
  • Volltextsuche
  • Nahezu-Echtzeit-Suche (NRT).
  • Shardierter, replizierter, durchsuchbarer JSON-Dokumentspeicher
  • Schemafreier, REST- und JSON-basierter verteilter Dokumentenspeicher
  • Unterstützung für mehrere Sprachen und Geolokalisierung

Vorteile von Elasticsearch

  • Speichern Sie schemalose Daten und erstellen Sie außerdem ein Schema für Ihre Daten
  • Bearbeiten Sie Ihren Datensatz Datensatz für Datensatz mithilfe von Multi-Dokument-APIs
  • Filtern und fragen Sie Ihre Daten ab, um Erkenntnisse zu gewinnen
  • Basierend auf Apache Lucene und bietet RESTful API
  • Bietet horizontale Skalierbarkeit, Zuverlässigkeit und Mandantenfähigkeit für die Echtzeitnutzung der Indizierung, um die Suche zu beschleunigen
  • Hilft Ihnen, vertikal und horizontal zu skalieren

Wichtige Begriffe, die in der elastischen Suche verwendet werden

In diesem ELK-Tutorial lernen wir nun die in ElasticSearch verwendeten Schlüsselbegriffe kennen:

Bedingungen Anwendungsbereich
Cluster Ein Cluster ist eine Sammlung von Knoten, die gemeinsam Daten enthalten und gemeinsame Indizierungs- und Suchfunktionen bereitstellen.
Knoten Ein Knoten ist eine Elasticsearch-Instanz. Es wird erstellt, wenn eine Elasticsearch-Instanz beginnt.
Index Ein Index ist eine Sammlung von Dokumenten mit ähnlichen Merkmalen, z. B. Kundendaten, Produktkataloge. Er ist sehr nützlich bei der Durchführung von Indizierungs-, Such-, Aktualisierungs- und Löschvorgängen. Er ermöglicht Ihnen, beliebig viele Indizes in einem einzigen Cluster zu definieren.
Dokument Es ist die grundlegende Informationseinheit, die indiziert werden kann. Es wird in einem JSON-Paar (Schlüssel:Wert) ausgedrückt. '{„user“: „nullcon“}‘. Jedem einzelnen Dokument ist ein Typ und eine eindeutige ID zugeordnet.
Scherbe Jeder Index kann in mehrere Shards aufgeteilt werden, um Daten verteilen zu können. Der Shard ist der atomare Teil eines Indexes, der über den Cluster verteilt werden kann, wenn Sie weitere Knoten hinzufügen möchten.

Was ist Logstash?

Logstash ist das Datenerfassungs-Pipeline-Tool. Es sammelt Dateneingaben und speist sie in Elasticsearch ein. Es sammelt alle Arten von Daten aus den verschiedenen Quellen und stellt sie für die weitere Verwendung bereit.

Logstash kann Daten aus unterschiedlichen Quellen vereinheitlichen und die Daten an die gewünschten Ziele normalisieren. Es ermöglicht Ihnen, alle Ihre Daten für die Analyse und Visualisierung von Anwendungsfällen zu bereinigen und zu demokratisieren.

Es besteht aus drei Komponenten:

  • Eingang: Übergeben von Protokollen, um sie in ein maschinenverständliches Format zu verarbeiten
  • Filter: Es handelt sich um eine Reihe von Bedingungen zum Ausführen einer bestimmten Aktion oder eines bestimmten Ereignisses
  • Ausgang: Entscheidungsträger für verarbeitetes Ereignis oder Protokoll

Funktionen Logstash

Lassen Sie uns nun in diesem LogStash-Tutorial etwas über die Funktionen von LogStash lernen:

  • Ereignisse werden mithilfe interner Warteschlangen durch jede Phase geleitet
  • Ermöglicht verschiedene Eingaben für Ihre Protokolle
  • Filtern/Parsen für Ihre Protokolle

Vorteil von Logstash

  • Angebote zentralisieren die Datenverarbeitung
  • Es analysiert eine Vielzahl strukturierter/unstrukturierter Daten und Ereignisse
  • ELK LogStash bietet Plugins zur Verbindung mit verschiedenen Arten von Eingabequellen und Plattformen

Was ist Kibana?

Kibana ist eine Datenvisualisierung, die den ELK-Stack vervollständigt. Dieses Tool wird zur Visualisierung der Elasticsearch-Dokumente verwendet und hilft Entwicklern, einen schnellen Einblick darin zu erhalten. Das Kibana-Dashboard bietet verschiedene interaktive Diagramme, Geodaten und Grafiken zur Visualisierung komplexer Anfragen.

Es kann zum Suchen, Anzeigen und Interagieren mit Daten verwendet werden, die in Elasticsearch-Verzeichnissen gespeichert sind. Kibana hilft Ihnen, fortgeschrittene Leistungen zu erbringen Datenanalyse und visualisieren Sie Ihre Daten in einer Vielzahl von Tabellen, Diagrammen und Karten.

In Kibana gibt es verschiedene Methoden zum Durchsuchen Ihrer Daten.

Hier sind die häufigsten Suchtypen:

Suche Art Anwendungsbereich
Freitextsuche Es wird zum Suchen einer bestimmten Zeichenfolge verwendet
Suchen auf Feldebene Es wird für die Suche nach einer Zeichenfolge in einem bestimmten Feld verwendet.
Logische Aussagen Es wird verwendet, um Suchen zu einer logischen Aussage zusammenzufassen.
Suche in der Nähe Es wird zum Suchen von Begriffen innerhalb einer bestimmten Zeichennähe verwendet.

In diesem Kibana-Tutorial lernen wir nun die wichtigen Funktionen von Kibana kennen:

Merkmale von Kinbana:

  • Leistungsstarkes Front-End-Dashboard, das indizierte Informationen aus dem Elastic Cluster visualisieren kann
  • Ermöglicht die Echtzeitsuche indizierter Informationen
  • Sie können in Elasticsearch gespeicherte Daten durchsuchen, anzeigen und mit ihnen interagieren
  • Führen Sie Abfragen zu Daten durch und visualisieren Sie Ergebnisse in Diagrammen, Tabellen und Karten
  • Konfigurierbares Dashboard zum Aufteilen und Zerlegen von Logstash-Protokollen in Elasticsearch
  • Kann historische Daten in Form von Grafiken, Diagrammen usw. bereitstellen.
  • Echtzeit-Dashboards, die einfach konfigurierbar sind
  • Kibana ElasticSearch ermöglicht die Echtzeitsuche indizierter Informationen

Vor- und Nachteile von Kinbana

  • Einfache Visualisierung
  • Vollständig in Elasticsearch integriert
  • Visualisierungstool
  • Bietet Echtzeitanalyse-, Diagramm-, Zusammenfassungs- und Debugging-Funktionen
  • Bietet eine instinktive und benutzerfreundliche Oberfläche
  • Ermöglicht das Teilen von Snapshots der durchsuchten Protokolle
  • Ermöglicht das Speichern des Dashboards und die Verwaltung mehrerer Dashboards

Warum Log-Analyse?

In Cloud-basierten Umgebungsinfrastrukturen sind Leistung und Isolation sehr wichtig. Die Leistung virtueller Maschinen in der Cloud kann je nach spezifischer Auslastung, Umgebung und Anzahl der aktiven Benutzer im System variieren. Daher können Zuverlässigkeit und Knotenausfall zu einem erheblichen Problem werden.

Protokollverwaltungsplattform kann alle oben genannten Probleme überwachen sowie Betriebssystemprotokolle, NGINX, IIS-Serverprotokolle für die Webverkehrsanalyse, Anwendungsprotokolle und Protokolle auf AWS verarbeiten (Amazon Web-Services).

Die Protokollverwaltung hilft DevOps-Ingenieuren und Systemadministratoren, bessere Geschäftsentscheidungen zu treffen. Daher ist eine Protokollanalyse über Elastic Stack oder ähnliche Tools wichtig.

ELK vs. Splunk

Elch Splunk
Elk ist ein Open-Source-Tool Splunk ist ein kommerzielles Tool.
Elchstapel bietet nicht an Solaris Portabilität dank Kibana. Splunk-Angebote Solaris Portabilität.
Die Verarbeitungsgeschwindigkeit ist streng begrenzt. Bietet genaue und schnelle Prozesse.
ELK ist ein Technologie-Stack, der mit der Kombination Elastic Search- erstellt wurde.Logstash-Kibana. Splunk ist ein proprietäres Tool. Es bietet sowohl On-Premise- als auch Cloud-Lösungen.
In ELK sind Suche, Analyse und Visualisierung erst möglich, nachdem der ELK-Stack eingerichtet wurde. Splunk ist ein komplettes Datenverwaltungspaket, das Ihnen zur Verfügung steht.
Das ELK-Tool unterstützt keine Integration mit anderen Tools. Splunk ist ein nützliches Tool zum Einrichten von Integrationen mit anderen Tools.

Portfolio

Netflix

Netflix verlässt sich stark auf den ELK-Stack. Das Unternehmen verwendet den ELK-Stack, um das Sicherheitsprotokoll des Kundendienstbetriebs zu überwachen und zu analysieren. Damit kann es Dokumente aus mehr als fünfzehn Clustern mit fast 800 Knoten indizieren, speichern und durchsuchen.

LinkedIn

Die bekannte Social-Media-Marketing-Site LinkedIn verwendet den ELK-Stack zur Überwachung von Leistung und Sicherheit. Das IT-Team hat ELK mit Kafka integriert, um seine Last in Echtzeit zu unterstützen. Ihr ELK-Betrieb umfasst mehr als 100 Cluster in sechs verschiedenen Rechenzentren.

Tripwire

Tripwire ist ein weltweites Security Information Event Management-System. Das Unternehmen verwendet ELK zur Unterstützung der Protokollanalyse von Informationspaketen.

Verwendung

Medium ist eine berühmte Blog-Publishing-Plattform. Sie verwenden den ELK-Stack, um ihre Produktionsprobleme zu beheben. Das Unternehmen nutzt ELK auch zur Erkennung DynamoDB Heiße Töpfe. Darüber hinaus kann das Unternehmen mit diesem Stack jede Woche 25 Millionen einzelne Leser sowie Tausende von veröffentlichten Beiträgen unterstützen.

Vor- und Nachteile des ELK-Stacks

Vorteile

  • ELK funktioniert am besten, wenn Protokolle von verschiedenen Apps eines Unternehmens in einer einzigen ELK-Instanz zusammenlaufen
  • Es liefert erstaunliche Erkenntnisse für diese einzelne Instanz und macht außerdem die Anmeldung bei Hunderten verschiedener Protokolldatenquellen überflüssig
  • Schnelle Installation vor Ort
  • Einfach einzusetzen. Skaliert vertikal und horizontal
  • Elastic bietet eine Vielzahl von Sprachclients, darunter auch Ruby. Python. PHP, Perl, .NET, Java und JavaSkript und mehr
  • Verfügbarkeit von Bibliotheken für verschiedene Programmier- und Skriptsprachen

Nachteile

  • Die Handhabung unterschiedlicher Komponenten im Stapel kann schwierig werden, wenn Sie zu komplexen Konfigurationen übergehen
  • Es gibt nichts Besseres als Versuch und Irrtum. Je mehr Sie also tun, desto mehr lernen Sie dabei

Zusammenfassung

  • Eine zentralisierte Protokollierung kann hilfreich sein, wenn Sie versuchen, Probleme mit Servern oder Anwendungen zu identifizieren
  • Der ELK-Server-Stack ist nützlich, um Probleme im Zusammenhang mit dem zentralisierten Protokollierungssystem zu lösen
  • Der ELK-Stack ist eine Sammlung der drei Open-Source-Tools Elasticsearch, Logstash Kibana
  • Elasticsearch ist eine NoSQL-Datenbank
  • Logstash ist das Datenerfassungs-Pipeline-Tool
  • Kibana ist eine Datenvisualisierung, die den ELK-Stack vervollständigt
  • In Cloud-basierten Umgebungsinfrastrukturen sind Leistung und Isolation sehr wichtig
  • Im ELK-Stack ist die Verarbeitungsgeschwindigkeit streng begrenzt Splunk bietet präzise und schnelle Prozesse
  • Netflix, LinkedIn, Tripware und Medium nutzen alle den ELK-Stack für ihr Unternehmen
  • ELK Syslog funktioniert am besten, wenn Protokolle von verschiedenen Apps eines Unternehmens in einer einzigen ELK-Instanz zusammenlaufen
  • Die Handhabung unterschiedlicher Komponenten im Stapel kann schwierig werden, wenn Sie zu komplexen Konfigurationen übergehen

Verweisen Sie auf unsere Fragen und Antworten zum ElasticSearch-Interview sowohl für Neueinsteiger als auch für erfahrene Kandidaten.