8.1 Konfiguration eines Index für Docker-Logs
Zur Demonstration habe ich ein Docker-Image mit ELK und Filebeat erstellt, das ein Testprogramm zur Generierung von Logs enthält. In diesem Beispiel fokussieren wir uns auf die Konfiguration eines Index für Docker-Logs in Kibana.
Schritt 1: Repository klonen und ELK-Stack starten
Lade das Repository mit den Docker Compose-Konfigurationen für den ELK-Stack herunter und starte es:
git clone https://github.com/et-soft/habr-elk
cd habr-elk
docker compose up
Zur Bequemlichkeit wurde der Schalter -d
ausgelassen, damit man den Startprozess des ELK-Stacks sehen kann. Der Start kann einige Minuten dauern. Nach einem erfolgreichen Start sollte im Log folgender Eintrag erscheinen:
{"type":"log","@timestamp":"2020-09-20T05:55:14Z","tags":["info","http","server","Kibana"],
"pid":6,"message":"http server running at http://0:5601"}
Schritt 2: Zugriff auf Kibana
Öffne einen Webbrowser und gehe zu http://localhost:5601.

Schritt 3: Konfiguration des Indexes für Logs
Wähle im linken Menü von Kibana den Bereich Discover, um zur Seite zur Erstellung eines Index zu gelangen.

Schritt 4: Erstellen eines neuen Index
Klicke auf die Schaltfläche Create index pattern, um das Einstellungsformular zu öffnen. Gib im Feld Index pattern name logstash-*
ein. Wenn die Konfiguration korrekt ist, zeigt Kibana die Indexe an, die dem Muster entsprechen.

Schritt 5: Auswahl des Zeitfeldes
Wähle auf der nächsten Seite das Schlüsselfeld mit dem Zeitstempel — @timestamp
.

Schritt 6: Überprüfung des Index
Nach Abschluss der Konfiguration siehst du die Einstellungsseite des Index. Jetzt sind keine weiteren Aktionen erforderlich.

Schritt 7: Ansicht der Logs
Gehe zurück in den Bereich Discover, wo die Log-Einträge aus den Docker-Containern angezeigt werden.

8.2 Dashboards erstellen, um Logs zu visualisieren
Schritt 1. Dashboards für die Visualisierung der Logs erstellen
Im linken Menü klicken wir auf den Bereich "Dashboard" – das bringt uns direkt auf die Seite, wo Dashboards erstellt werden.

Schritt 2. Tippen wir auf „Create new dashboard“, und wir werden auf den Bildschirm weitergeleitet, wo Objekte zu diesem Dashboard hinzugefügt werden können.

Schritt 3. Klicken wir auf die Schaltfläche „Create new“, und Kibana schlägt vor, wie die Daten dargestellt werden sollen. Es gibt viele Optionen, aber als Beispiel betrachten wir zwei – Grafiken im Stil von „Vertical Bar“ und tabellarische Darstellung „Data Table“. Alles andere wird auf ähnliche Weise konfiguriert.

8.3 Histogramm der Logs
Lass uns als Beispiel ein „Vertical Bar“-Histogramm erstellen, das das Verhältnis von erfolgreichen und fehlgeschlagenen Serviceanfragen zeigt. Nach der Konfiguration erhalten wir etwas Ähnliches:

Erfolgreich sind Anfragen mit einem Antwortcode < 400, und alle >= 400 betrachten wir als problematisch.
Zuerst müssen wir die Datenquelle für das Diagramm auswählen. Wir nehmen das zuvor erstellte Index Pattern.

Nach der Auswahl der Quelle erscheint standardmäßig ein allgemeines Diagramm. Lass uns das anpassen.

Im Abschnitt „Buckets“ klickst du auf „Add“, wählst „X-axis“ und konfigurierst die X-Achse. Auf ihr werden Zeitstempel angezeigt. Im Feld „Aggregation“ wählst du „Date Histogram“, und im Feld „Field“ gibtst du „@timestamp“ an. Das Feld „Minimum interval“ kannst du auf „Auto“ lassen.

Klicke auf „Update“, und das Diagramm zeigt die Anzahl der Anfragen alle 30 Sekunden an.

Jetzt kümmern wir uns um die Konfiguration der Y-Achse. Momentan zeigt sie die Gesamtanzahl der Anfragen im Zeitintervall an. Ändern wir die Aggregation auf „Sum Bucket“, um erfolgreiche und problematische Anfragen hinzuzufügen. Im Abschnitt Bucket → Aggregation wählst du „Filters“ und setzt den Filter: „statusCode >= 400“. Im Feld „Custom label“ gibst du einen verständlichen Namen für die Metrik ein.

Klicke auf „Update“, und das Diagramm zeigt nur problematische Anfragen an.

Möchtest du die Farbe der Balken ändern? Klicke auf den Kreis in der Legende des Diagramms, und ein Fenster zur Farbauswahl erscheint.

Jetzt fügen wir Daten zu erfolgreichen Anfragen hinzu. Im Abschnitt „Metrics“ klickst du auf „Add“ und wählst „Y-axis“. Konfiguriere es ähnlich, aber für den Filter gibst du „statusCode < 400“ an.

Ändere die Farbe für den neuen Balken, und wir erhalten eine Visualisierung des Verhältnisses von erfolgreichen zu problematischen Anfragen.

Vergiss nicht, das Diagramm zu speichern. Klicke auf „Save“ oben auf dem Bildschirm. Gib einen Namen an, und es erscheint auf dem Dashboard.

8.4 Log-Tabelle
Lass uns eine „Data Table“ erstellen, um eine Liste aller URLs, zu denen Anfragen gesendet wurden, und deren Anzahl zu sehen. Wir fangen an, wie auch bei Vertical Bar, mit der Auswahl der Datenquelle.

Nach der Auswahl der Datenquelle erscheint auf dem Bildschirm eine Tabelle mit einer Spalte, die die Gesamtanzahl der Anfragen für den ausgewählten Zeitraum zeigt.

Jetzt konfigurieren wir die Tabelle. Geh zum Block „Buckets“, klicke auf „Add“ und wähle „Split rows“.

Im Feld „Aggregation“ wähle „Terms“, und im Feld „Field“ gib „url.keyword“ ein.

Im Feld „Custom label“ gib eine verständliche Bezeichnung ein, zum Beispiel „Url“. Dann klicke auf „Update“ – und unsere Tabelle ist fertig. Sie zeigt die Anzahl der Anfragen zu jeder URL für den ausgewählten Zeitraum an.

Um die Tabelle zu speichern, klicke oben auf dem Bildschirm auf „Save“, gib einen Namen ein (zum Beispiel „Urls“) und kehre zurück zum Dashboard. Jetzt sehen wir beide von uns erstellten Anzeigen.

GO TO FULL VERSION