Engineering

Starte mit Kibana 6.3

Kibana visualisiert die in Elasticsearch gespeicherten Daten und dient somit als Fenster zum Elastic Stack. Es ermöglicht die visuelle Untersuchung und Analyse von Daten in Echtzeit.

Dieser Blog Post beschreibt, wie man mit Kibana 6.3 startet. Dabei werden folgende Themen betrachtet:

  • Installation und erste Schritte mit Kibana 6.3
  • Erstellung von Visualisierungen
  • Erstellung eines Dashboards zur Untersuchung von Log Dateien
  • Aktivierung der Nutzer Authentifizierung
  • Nutzung von Kibana in der Dashboard-Only Mode
  • Erstellung von Schwellwert-Alarmierungen

Als Ergebnis bist du nach Abschluss dieser Schritt für Schritt Anleitung in der Lage aus langweiligen Logdateien aussagekräftige und interaktive Dashboards zu entwickeln.

1.png

Schritt für Schritt zum ersten Dashboard

Schritt 1:  Download, Installation und erster Start

Um Kibana zu nutzen, reicht es die gewünschte Version kostenfrei hier herunterzuladen. Es gibt eigene Downloads für alle gängigen Umgebungen wie Mac, Linux Distributionen und Windows. Zur Installation genügt es, je nach Umgebung i.d.R. das heruntergeladene Paket an die gewünschte Stelle zu entpacken.

Um Kibana zu benutzen, muss außerdem ein aktives Elasticsearch zur Verfügung stehen. Dafür kann entweder ein eigener lokaler Cluster aufgesetzt oder eine Cloud Umgebung genutzt werden.

Anschließend wird Kibana über <Kibana Home>/bin/kibana mittels Kommandozeile gestartet. Windows User, wie ich, starten mit der kibana.bat Datei.

2.jpg

Schritt 2: Daten erkundschaften

Nach erfolgreichem Start lässt sich Kibana über http://localhost:5601/ aufrufen. Man sieht nun die sogenannte Kibana Home Seite. Diese zeigt welche Möglichkeiten Kibana bietet und zusätzlich finden sich hier weiterführende Informationen zum Laden von Daten in Elasticsearch. Falls Du noch keine Daten in Elasticsearch hast findest Du hier die notwendigen Anleitungen dazu.

Sind Daten in Elasticsearch vorhanden die analysiert werden sollen startet man am Besten im Discover Bereich. Dort wird der Nutzer beim ersten Aufruf aufgefordert ein Index Pattern anzulegen.

Index Patterns teilen Kibana mit, welche Elasticsearch-Indizes untersucht werden sollen. Ein Index Pattern kann mit dem kompletten Namen eines einzelnen Index übereinstimmen oder einen Platzhalter (*) enthalten, um mehreren Indizes zu entsprechen.

So legt zum Beispiel Logstash eine Reihe von Indizes im Format logstash-YYYY.MM.DD an. Um nun alle Logdaten aus Mai 2018 abzurufen wäre logstash-2018.05* ein mögliches Index Pattern.

Nach der Anlage des ersten Index Patterns können die Daten nun im Discover Bereich durchsucht werden. Mittels Hinzufügen von einzelnen Feldern (Linke Seite Feld anklicken und anschließend auf Add) lässt sich eine tabellarische Ansicht der Daten erstellen. Über den gleichen Weg lassen sich auch auf einfache Weise neue Filter erzeugen.

Wurde eine Suche erstellt die z.B. auf einem Dashboard verwendet werden soll muss diese zunächst gespeichert werden. Dies ist über den Save Button möglich.

Schritt 3: Visualisieren der Daten

Kibana bringt eine Vielzahl an Visualisierungen mit. Diese reichen von einfachen Kreis- und Liniendiagramme über Heat Maps bis hin zu Kartendarstellungen. Hier sind alle Visualisierungen mit kurzen Erläuterungen aufgelistet.

Auch solche aufwendigen Auswertungen sind per Vega Visualisierung möglich werden in diesem Blog Beitrag allerdings nicht betrachtet.

3.jpg

Um Visualisierungen zu erstellen wählt man im Menü auf der linken Seite den Punkt Visualize aus.

Für die Darstellung der Daten in einer Landkarte mit entsprechend farblich hervorgehobenen Regionen / Ländern gibt es die Region Map Visualisierung. Voraussetzung für eine solche Visualisierung ist, dass die Daten geografisch zugeordnet werden können, also z.B. ein Ländername in jedem Dokument vorhanden ist.

Bei den meisten Visualisierungen wählt man zunächst die Daten aus die für die Visualisierung genutzt werden sollen. Es wird zwischen den vorgefilterten Saved Searches aus dem Discover Bereich (rechts) und den ungefilterten Daten aus den Index Patterns (links) unterschieden.

4.png

Anschließend muss für die Erstellung der Region Map das sogenannte Shape Field gesetzt werden. Dieses Feld gibt an wie die Daten auf die Länder gemappt werden sollen. Im Beispiel wird hier der country_iso_code (Deutschland entspricht DE) verwendet.

5.jpg

Schritt 4: Alles zusammen in einem Dashboard darstellen

Wurden einige Visualisierungen und / oder Suchen erstellt, die miteinander in Beziehung stehen, stellt man diese Auswertungen am Besten in einem Dashboard dar.

Dazu wird zunächst ein neues Dashboard erstellt und anschließend die gewünschten Visualisierungen per Klick hinzugefügt. Über den Tab Saved Search lassen sich so auch die gespeicherten Suchen hinzufügen. Im Anschluss können die einzelnen Visualisierungen nach belieben skaliert und angeordnet werden.

Nach dem Speichern eines Dashboards befindet man sich im interaktiven Anzeigemodus. In diesem Modus kann man die auf dem Dashboard dargestellten Daten nach bestimmten Kriterien durchsuchen und filtern. Einen Filter kann man dabei u.A. bei den meisten Visualisierungen durch einen Klick auf das für das Filtern interessante Kriterium erzeugen (In einem Kreisdiagramm z.B. durch Klick auf eines der Kuchenstücke).

Desweiteren ist es möglich das Dashboard in regelmäßigen Abständen automatisch neuzuladen (Auto-Refresh im Header). Dabei kann es auch im Vollbildmodus angezeigt werden (Full Screen im Header).

Über die Share Funktion lässt sich das Dashboard in andere Applikationen integrieren. Es gibt dabei die Variante es live einzubinden oder als Snapshot. Bindet man das Dashboard als Snapshot ein bleibt die Darstellung unverändert. Im Live Modus passt es sich jeweils an die neuesten Daten an.

Schritt 5: Nutzung der Platin Features

Mit der Version 6.3 wurde die Aktivierung von Platinum Features (früher X-Pack) deutlich vereinfacht. Dies kann nun über Management -> License Management gemacht werden.

Die Platinum Features enthalten:

Die Security Features werden allerdings bei der Aktivierung nicht sofort mit aktiviert. Dazu ist eine Konfigurationsänderung von Elasticsearch und Kibana notwendig.

In der Elasticsearch.yml

xpack.security.enabled: true

In der Kibana.yml

elasticsearch.username: "kibana"
elasticsearch.password: "<Passwort>"

Das Passwort für den vordefinierten Kibana User ändert man durch den folgenden Aufruf in der Kommandozeile bei aktiven Elasticsearch.

<Elasticsearch-Home>\bin\elasticsearch-setup-passwords interactive

Nach dem Start von Kibana wird man zum Login aufgefordert. Beim ersten Aufruf loggt man sich dabei mit dem elastic - User ein. Dieser ist der Super User für den Elastic Stack. Im Anschluss lassen sich dann weitere User bequem per GUI definieren.

Schritt 6: Kibana Funktionalitäten einschränken

Mit der Aktivierung der Platinum Features ist es im Bereich Management nun möglich Rollen und Nutzer für Kibana anzulegen.

So lässt sich auch ein Nutzer einrichten der ausschließlich lesende Berechtigung auf das erstellte Dashboard hat. Dafür muss nur eine neue Rolle mit Read und View_Index_Metadata Privilegien für alle Indizes angelegt werden die für das Dashboard relevant sind.

Anschließend richtet man einen Nutzer ein der die Rollen kibana_dashboard_only_user und die eben angelegte lesende Rolle hat.

Nach einem Login mit dieser Rolle ist zu sehen, dass es einem solchen Nutzer nur möglich ist Dashboards aufzurufen. Änderungen an den Dashboards sind für diesen User nicht möglich.

Weitere Schritte

Wir haben nun kennengelernt wie man die grundlegenden Funktionen von Kibana einsetzen kann. Kibana und der Elastic Stack bieten noch eine Vielzahl weiterer Funktionen die wir hier noch nicht betrachtet haben:

Produkt-Suche und Such-Analyse mit dem Elastic Stack (Deutsch)

Security Analytics and Thread Detection with the Elastic Stack (English)