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

Was ist der ELK-Stack?

Der 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 Protokollen 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 gewartet.

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

In diesem ELK-Stack-Tutorial lernen wir nun etwas über ELK archiStruktur:

Hier ist das Einfache archiStruktur des ELK-Stapels

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

Wenn Sie mit sehr großen Datenmengen arbeiten, benötigen Sie möglicherweise Kafka oder RabbitMQ buffering und Resilienz. 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.

Mit Elasticsearch können Sie auch große Datenmengen speichern, durchsuchen und analysieren. Es wird hauptsächlich als zugrunde liegende Engine für Anwendungen verwendet, die Suchanforderungen erfüllt haben. Es wurde in Suchmaschinenplattformen für moderne Web- und Mobilanwendungen übernommen. Neben einer Schnellsuche bietet das Tool auch complex Analysen und viele erweiterte Funktionen.

Funktionen der elastischen Suche

  • Der Open-Source-Suchserver ist in Java geschrieben
  • Wird zum Indizieren jeglicher Art von Heterogen verwendetneouns Daten
  • 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
Gruppe Ein Cluster ist eine Sammlung von Knoten, die zusammen Daten speichern 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. zB Kundendaten, Produktkatalog. Es ist sehr nützlich bei der Durchführung von Indizierungs-, Such-, Aktualisierungs- und Löschvorgängen. Es 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. Die Scherbe ist die atomic 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:

  • zufuhr: Ü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
  • Output: Entscheidungsträger für verarbeitetes Ereignis oder Protokoll

Funktionen Logstash

Jetzt hier LogStash Tutorial, lernen wir die Funktionen von kennen LogStash:

  • 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
  • ELCH 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 dient zur Visualisierung der Elasticsearch-Dokumente und hilft Entwicklern, einen schnellen Einblick in diese zu erhalten. Das Kibana-Dashboard bietet verschiedene interaktive Diagramme, Geodaten und Grafiken zur Visualisierung von Kommunikationplex verlangt.

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 für sich selbst verwendetarching eine bestimmte Zeichenfolge
Suchen auf Feldebene Es wird für sich selbst verwendetarching für eine Zeichenfolge in einem bestimmten Feld
Logische Aussagen Es wird verwendet, um Suchen zu einer logischen Aussage zusammenzufassen.
Suche in der Nähe Es wird für sich selbst verwendetarching Begriffe innerhalb einer bestimmten Zeichennähe.

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 elastischen 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 Schneiden und Würfeln logstash Meldet sich bei Elasticsearch an
  • 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-, Diagrammerstellungs-, 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 Analyse des Webverkehrs, 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.
Der Elk-Stack bietet aufgrund von Kibana keine Solaris-Portabilität. Splunk bietet 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 Searching, Analyse und Visualisierung sind erst möglich, nachdem der ELK-Stack eingerichtet ist. 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.

Case Studies

NetFlix

Netflix ist stark vom ELK-Stack abhängig. Das Unternehmen verwendet den ELK-Stack, um das Sicherheitsprotokoll des Kundendienstbetriebs zu überwachen und zu analysieren. Es ermöglicht ihnen, Dokumente aus mehr als fünfzehn Clustern, die fast 800 Knoten umfassen, zu indizieren, zu speichern und zu durchsuchen.

LinkedIn

Die bekannte Social-Media-Marketing-Website LinkedIn verwendet den ELK-Stack zur Überwachung von Leistung und Sicherheit. Das IT-Team integrierte ELK mit Kafka, 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.

Medium

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 Ruby. Python. PHP, Perl, .NET, Java und JavaScript und mehr
  • Verfügbarkeit von Bibliotheken für verschiedene Programmier- und Skriptsprachen

Nachteile

  • Verschiedene Komponenten im Stapel können schwierig zu handhaben sein, wenn Sie mit dem Com fortfahrenplex Setup
  • 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
  • Verschiedene Komponenten im Stapel können schwierig zu handhaben sein, wenn Sie mit dem Com fortfahrenplex Setup

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