Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen

Hallo, mein Name ist Eugene, ich bin B2B-Teamleiter bei Citymobil. Eine der Aufgaben unseres Teams besteht darin, Integrationen für die Bestellung eines Taxis bei Partnern zu unterstützen. Um einen stabilen Service zu gewährleisten, müssen wir immer verstehen, was in unseren Microservices passiert. Und dafür müssen Sie die Protokolle ständig überwachen.

In Citymobil verwenden wir den ELK-Stack (ElasticSearch, Logstash, Kibana), um mit Protokollen zu arbeiten, und die dort ankommenden Datenmengen sind riesig. Es ist ziemlich schwierig, in dieser Masse an Anfragen, die nach der Bereitstellung von neuem Code auftreten können, Probleme zu finden. Und für ihre visuelle Identifizierung verfügt Kibana über einen Dashboard-Bereich.

Auf Habré gibt es eine ganze Reihe von Artikeln mit Beispielen für die Einrichtung eines ELK-Stacks zum Empfangen und Speichern von Daten, aber es gibt keine relevanten Materialien zum Erstellen eines Dashboards. Daher möchte ich zeigen, wie man in Kibana eine visuelle Darstellung von Daten basierend auf eingehenden Protokollen erstellt.

Einstellung

Um es klarer zu machen, habe ich ein Docker-Image mit ELK und Filebeat erstellt. Und in einen kleinen Behälter gegeben программу in Go, das in unserem Beispiel Testprotokolle generiert. Ich werde die Konfiguration von ELK nicht im Detail beschreiben, dazu ist auf Habré genug geschrieben.

Klonen Sie das Konfigurations-Repository docker-compose und ELK-Einstellungen und starten Sie es mit dem Befehl docker-compose up. Ich habe absichtlich keinen Schlüssel hinzugefügt -dum den Fortschritt des ELK-Stacks zu sehen.

git clone https://github.com/et-soft/habr-elk
cd habr-elk
docker-compose up

Wenn alles richtig konfiguriert ist, sehen wir einen Eintrag in den Protokollen (vielleicht nicht sofort, der Vorgang des Startens eines Containers mit dem gesamten Stapel kann mehrere Minuten dauern):

{"type":"log","@timestamp":"2020-09-20T05:55:14Z","tags":["info","http","server","Kibana"],"pid":6,"message":"http server running at http://0:5601"}

An die Adresse localhost:5061 Kibana sollte geöffnet werden.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Das Einzige, was wir konfigurieren müssen, ist die Erstellung eines Indexmusters für Kibana mit Informationen darüber, welche Daten angezeigt werden sollen. Dazu führen wir eine Curl-Anfrage aus oder führen eine Reihe von Aktionen in der grafischen Oberfläche aus.

$ curl -XPOST -D- 'http://localhost:5601/api/saved_objects/index-pattern'
    -H 'Content-Type: application/json'
    -H 'kbn-xsrf: true'
    -d '{"attributes":{"title":"logstash-*","timeFieldName":"@timestamp"}}'

Erstellen eines Indexmusters über die GUI
Wählen Sie zum Konfigurieren den Abschnitt „Erkennen“ im linken Menü aus und gelangen Sie zur Seite zur Erstellung von Indexmustern.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Durch Klicken auf die Schaltfläche „Indexmuster erstellen“ gelangen wir zur Seite zur Indexerstellung. Geben Sie im Feld „Name des Indexmusters“ „logstash-*“ ein. Wenn alles richtig konfiguriert ist, zeigt Kibana unten die Indizes an, die unter die Regel fallen.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Wählen Sie auf der nächsten Seite das Schlüsselfeld mit Zeitstempel aus, in unserem Fall ist es das @timestamp.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Dadurch wird die Seite mit den Indexeinstellungen angezeigt. Derzeit sind jedoch keine weiteren Maßnahmen unsererseits erforderlich.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen

Jetzt können wir wieder zum Abschnitt „Entdecken“ gehen, wo wir die Protokolleinträge sehen.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen

Dashboard

Klicken Sie im linken Menü auf den Abschnitt Dashboard-Erstellung und gelangen Sie zur entsprechenden Seite.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Klicken Sie auf „Neues Dashboard erstellen“ und gelangen Sie auf die Seite zum Hinzufügen von Objekten zum Dashboard.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Klicken Sie auf die Schaltfläche „Neu erstellen“ und das System fordert Sie auf, die Art der Datenanzeige auszuwählen. Kibana hat eine große Anzahl davon, aber wir werden uns mit der Erstellung einer grafischen Darstellung des „vertikalen Balkens“ und einer tabellarischen „Datentabelle“ befassen. Andere Präsentationsarten werden auf ähnliche Weise konfiguriert. 
Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Einige verfügbare Objekte sind mit B und E gekennzeichnet, was bedeutet, dass das Format experimentell ist oder sich im Betatest befindet. Im Laufe der Zeit kann sich das Format ändern oder ganz aus Kibana verschwinden.

Vertikaler Balken

Für das Beispiel „Vertikaler Balken“ erstellen wir ein Histogramm des Verhältnisses erfolgreicher und erfolgloser Antwortstatus unseres Dienstes. Am Ende der Einstellungen erhalten wir folgende Grafik:

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Wir klassifizieren alle Anfragen mit einem Antwortstatus < 400 als erfolgreich und >= 400 als problematisch.

Um ein „Vertikales Balkendiagramm“ zu erstellen, müssen wir eine Datenquelle auswählen. Wählen Sie das Indexmuster aus, das wir zuvor erstellt haben.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Standardmäßig wird nach Auswahl einer Datenquelle ein einzelnes durchgezogenes Diagramm angezeigt. Lass es uns einrichten.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Klicken Sie im Block „Buckets“ auf die Schaltfläche „Hinzufügen“, wählen Sie „X-Asis“ und richten Sie die X-Achse ein. Lassen Sie uns die Zeitstempel der Einträge im Protokoll entlang dieser Achse beiseite legen. Wählen Sie im Feld „Aggregation“ „Datumshistogramm“ und im „Feld“ „@timestamp“ aus, um das Zeitfeld anzugeben. Belassen wir „Mindestintervall“ im Status „Auto“ und es passt sich automatisch an unsere Anzeige an. 

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Wenn wir auf die Schaltfläche „Aktualisieren“ klicken, sehen wir alle 30 Sekunden eine Grafik mit der Anzahl der Anfragen.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Nun richten wir die Spalten entlang der Y-Achse ein. Jetzt zeigen wir die Gesamtzahl der Anfragen im ausgewählten Zeitintervall an.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Ändern wir den Wert „Aggregation“ in „Sum Bucket“, wodurch wir Daten für erfolgreiche und erfolglose Anfragen kombinieren können. Wählen Sie im Block Bucket -> Aggregation die Aggregation nach „Filters“ aus und stellen Sie die Filterung nach „statusCode >= 400“ ein. Und im Feld „Benutzerdefinierte Beschriftung“ geben wir unseren Namen des Indikators an, um eine verständlichere Anzeige in der Legende im Diagramm und in der allgemeinen Liste zu ermöglichen.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Durch Klicken auf die Schaltfläche „Aktualisieren“ unter dem Einstellungsblock erhalten wir eine Grafik mit Problemanfragen.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Wenn Sie auf den Kreis neben der Legende klicken, erscheint ein Fenster, in dem Sie die Farbe der Spalten ändern können.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Fügen wir nun Daten zu erfolgreichen Anfragen zum Diagramm hinzu. Klicken Sie im Abschnitt „Metriken“ auf die Schaltfläche „Hinzufügen“ und wählen Sie „Y-Achse“.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
In der erstellten Metrik nehmen wir die gleichen Einstellungen vor wie bei fehlerhaften Anfragen. Lediglich im Filter geben wir „statusCode < 400“ an.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Durch die Änderung der Farbe der neuen Spalte erhalten wir eine Anzeige des Verhältnisses problematischer und erfolgreicher Anfragen.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Wenn Sie oben auf dem Bildschirm auf die Schaltfläche „Speichern“ klicken und den Namen angeben, wird das erste Diagramm im Dashboard angezeigt.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen

Datentabelle

Betrachten Sie nun die tabellarische Ansicht „Datentabelle“. Erstellen wir eine Tabelle mit einer Liste aller angeforderten URLs und der Anzahl dieser Anfragen. Wie im Beispiel mit dem vertikalen Balken wählen wir zunächst eine Datenquelle aus.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Danach wird auf dem Bildschirm eine Tabelle mit einer Spalte angezeigt, die die Gesamtzahl der Anfragen für das ausgewählte Zeitintervall anzeigt.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Wir werden nur den Block „Buckets“ ändern. Klicken Sie auf die Schaltfläche „Hinzufügen“ und wählen Sie „Zeilen teilen“.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Wählen Sie im Feld „Aggregation“ die Option „Begriffe“ aus. Und wählen Sie im erscheinenden Feld „Feld“ „url.keyword“ aus.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Durch Angabe des Werts „URL“ im Feld „Benutzerdefiniertes Label“ und Klicken auf „Aktualisieren“ erhalten wir die gewünschte Tabelle mit der Anzahl der Anfragen für jede der URLs für den ausgewählten Zeitraum.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Klicken Sie am oberen Bildschirmrand erneut auf die Schaltfläche „Speichern“ und geben Sie den Namen der Tabelle an, beispielsweise URLs. Kehren wir zum Dashboard zurück und sehen uns die beiden erstellten Ansichten an.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen

Arbeiten mit Dashboard

Beim Erstellen des Dashboards legen wir in den Anzeigeobjekteinstellungen nur die Hauptansichtsparameter fest. Es macht keinen Sinn, Daten für Filter in Objekten anzugeben, zum Beispiel „Datumsbereich“, „Filterung nach Useragent“, „Filterung nach Anfrageland“ usw. Viel komfortabler ist es, im Abfragepanel, das sich über den Objekten befindet, den gewünschten Zeitraum anzugeben oder die nötige Filterung einzustellen.

Erstellen eines Dashboards in Kibana zur Überwachung von Protokollen
Die in diesem Bereich hinzugefügten Filter werden auf das gesamte Dashboard angewendet und alle Anzeigeobjekte werden entsprechend den tatsächlich gefilterten Daten neu erstellt.

Abschluss

Kibana ist ein leistungsstarkes Tool, mit dem Sie beliebige Daten auf bequeme Weise visualisieren können. Ich habe versucht, die Einstellung der beiden Hauptanzeigearten anzuzeigen. Aber auch andere Typen sind auf ähnliche Weise konfiguriert. Und die Fülle an Einstellungen, die ich „hinter den Kulissen“ gelassen habe, ermöglicht es Ihnen, Diagramme sehr flexibel an Ihre Bedürfnisse anzupassen.

Source: habr.com

Kommentar hinzufügen