Elasticsearch und Kibana: Installation und grundlegende Nutzung auf Ubuntu 16.04

Elasticsearch ist eine leistungsstarke, produktionsreife Suchmaschine in Java. Es kann als eigenständige Suchmaschine für das Web oder als Suchmaschine für E-Commerce-Webanwendungen verwendet werden.

eBay, Facebook und Netflix sind einige der Unternehmen, die diese Plattform nutzen. elasticsearch ist so beliebt, weil es mehr als nur eine Suchmaschine ist. Es ist auch eine leistungsstarke Analysemaschine und ein Protokollverwaltungs- und Abrufsystem. Das Beste daran ist, dass es sich um Open Source handelt und frei verwendet werden kann. Kibana ist das Visualisierungswerkzeug von elastic.

In diesem Tutorial werden wir die Installationsschritte für Elasticsearch durchgehen, gefolgt von der Installation von Kibana. Dann werden wir Kibana verwenden, um Daten zu speichern und abzurufen.

1 Installation von Java

Da Elasticsearch in Java geschrieben ist, muss es zuerst installiert werden. Verwenden Sie die folgenden Befehle, um die Open-Source-Versionen von JRE und JDK zu installieren:

 sudo apt-get install default-jre
 sudo apt-get install default-jdk

Diese beiden Befehle installieren die neuesten open-jre und open-jdk auf Ihrem System. Ich werde hier JAVA 8 verwenden. Die folgenden Bilder zeigen die Ausgabe, die Sie erhalten, wenn Sie kein Java installiert haben und die obigen Befehle ausführen.

Installation von Java JRE

Installation von Java JDK

2 Elastische Suche installieren

Elasticsearch 5 wurde kürzlich veröffentlicht. Es hat einige massive Änderungen gegenüber seinen Vorgängerversionen von 2.x. Zum Zeitpunkt der Erstellung dieses Artikels ist die Version 5.2.2 die neueste Version und wir werden diese installieren. Befolgen Sie daher die folgenden Schritte zur Installation.

mkdir elasticsearch; cd elasticsearch

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.deb

Damit sollte die.deb-Datei mit dem Herunterladen beginnen. Es wird ähnlich wie das Bild unten aussehen:

Elastische Suche herunterladen

Sobald der Download erfolgreich abgeschlossen ist, können wir ihn installieren, indem wir den folgenden Befehl ausführen. Die Ergebnisse einer erfolgreichen Installation sind unten aufgeführt.

sudo dpkg -i elasticsearch-5.2.2.deb

Elastische Suche installieren

3 Konfigurieren und Ausführen der elastischen Suche

Die elastische Suche läuft als Hintergrundprozess ab. Aber bevor wir damit beginnen, müssen wir die Konfigurationsdatei bearbeiten, um das aktuelle System als Host mit der Engine hinzuzufügen. Verwenden Sie den folgenden Befehl, um die Konfigurationsdatei zu öffnen:

sudo gedit /etc/elasticsearch/elasticsearch.yml

Sobald sich der Editor öffnet, müssen Sie die Zeile auskommentieren:

#network.host: 192.168.0.1

und ändern Sie dann die IP auf localhost, wie in der Abbildung unten gezeigt:

Jetzt sind wir bereit, den Prozess zu starten. Verwenden Sie die folgenden Befehle:

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch
sudo systemctl restart elasticsearch

Diese drei Befehle fügen dem Systemdämon den Prozess Elasticsearch hinzu, so dass er automatisch startet, wenn Ihr System hochfährt, und dann den Prozess selbst neu startet. Um zu testen, ob das System betriebsbereit ist, verwenden Sie den folgenden Befehl. Die Ausgabe sollte dem unten gezeigten Bild ähnlich sein.

curl -XGET "http://localhost:9200"

Elastische Suche testen

4 Kibana installieren

Laden Sie die Deb-Datei herunter und installieren Sie sie mit den folgenden Befehlen:

 wget https://artifacts.elastic.co/downloads/kibana/kibana-5.2.2-amd64.deb
sudo dpkg -i kibana-5.2.2-amd64.deb

Wenn Sie während der Ausführung des zweiten Befehls aufgefordert werden, die vorhandene Kibana-Konfigurationsdatei zu ändern, können Sie die Eingabetaste drücken, um die Standardeinstellungen beizubehalten und den Wettbewerb zu beenden. Sobald es installiert ist, wird es ähnlich wie das untenstehende Bild aussehen.

Kibana installieren

5 Kibana konfigurieren und betreiben

in der Kibana-Konfigurationsdatei die folgenden Zeilen auskommentieren:

server.port:
server.host:
server.name:
elasticsearch.name:
kibana.index:

Verwenden Sie den folgenden Befehl, um die Konfigurationsdatei zu öffnen. Die Datei, nachdem Sie die Änderungen vorgenommen haben, sollte wie in der folgenden Abbildung aussehen:

sudo gedit /etc/kibana/kibana.yml

„server.name“ kann alles sein, also zögere nicht, es zu ändern. Sobald diese Änderungen vorgenommen wurden, speichern und schließen Sie die Datei. Das letzte, was Sie tun müssen, ist, den Kibana-Prozess zur Liste der Systemprozesse hinzuzufügen, so dass er bei jedem Systemstart automatisch startet. Führen Sie die folgenden Befehle aus:

sudo systemctl daemon-reload
sudo systemctl enable kibana
sudo systemctl start kibana

Sobald diese Befehle ausgeführt wurden, können Sie Ihren Webbrowser öffnen und mit der folgenden URL testen, ob er korrekt installiert wurde. Das folgende Bild zeigt, wie es aussehen soll:

http://localhost:5601

Das ist es. Das ist es. Sie haben nun Kibana und Elasticsearch erfolgreich installiert.

6 Grundverwendung

Wir können das von Kibana bereitgestellte Dienstprogramm „Dev Tools“ verwenden, um mit Elasticsearch zu sprechen. Es bietet eine übersichtliche und einfache Schnittstelle, um die Befehle als JSON-Objekte auszuführen. Wir werden mit der Kern-Engine über eine REST-Schnittstelle interagieren.

Gehen Sie zu den „Dev Tools“, indem Sie auf das Symbol auf der linken Seite klicken. Sie können auch die folgende URL verwenden:

http://localhost:5601/app/kibana#/dev_tools/

Sobald es geladen ist, erhalten Sie eine „Welcome to Console“ Einführung in die Benutzeroberfläche. Du kannst das lesen oder einfach auf den „Get To Work„-Button am unteren Rand des Intro klicken. Sobald Sie auf diese Schaltfläche klicken, sieht die Benutzeroberfläche wie in der folgenden Abbildung aus:

Verwendung von Kibana

Auf der linken Seite werden wir die Befehle eingeben und auf der rechten Seite erhalten wir die Ausgabe. Lassen Sie uns versuchen, einige Daten an die Suchmaschine zu senden und zu speichern.

6.1 Erstellen eines Indexes

Die Daten werden in einem Index gespeichert. Um einen Index zu erstellen, verwenden wir den Befehl PUT. Die Anfrage JSON enthält den Namen des Index und einige optionale Einstellungen, die wir vornehmen können. Der folgende Befehl ist ein Beispiel für die Erstellung eines Index namens „student“.

PUT student
{
 "settings": {
 "number_of_shards": 3

}
}

Du kannst dies auf den „Dev Tools“ eingeben und den grünen Play-Button daneben drücken, um es zu starten, die Ausgabe wird ähnlich wie im unteren Bild sein:

Index in Kibana erstellen

6.2 Einfügen einiger Daten in den Index

Wir werden die POST-Aufrufe verwenden, um Daten in den Index einzufügen. Die einzufügenden Daten liegen in Form von JSON vor und so können wir nun die Studenten in den Index aufnehmen. Der Befehl lautet :

POST student/course
{
"name":"james",
"course": "mathematics"
}

Im obigen Befehl gibt „course“ die Art der Daten an, die indiziert werden sollen. Aus der Antwort können Sie ersehen, dass auch dieser Eintrag eine eindeutige ID hat. Im folgenden Befehl sehen Sie, dass es nach „course“ einen weiteren Parameter gibt, so können Sie angeben, was die ID für diesen Schülereintrag ist. Auf diese Weise wird sich elasticsearch nicht die Mühe machen, eine ID zu erstellen, sondern diese als ID für diesen Datensatz verwenden.

POST student/course/2
{
"name":"tina",
"course": "physics"
}

Es folgen die Bilder, die die Antwort der Suchmaschine zeigen, wenn beide Befehle ausgeführt werden:

Elastisches Suchverhalten

Kibana Konsole

6.3 Daten aus dem Index holen

Sie können auch Daten aus verschiedenen Feldern aus dem gespeicherten Datensatz oder Eintrag abrufen. Jeder Eintrag, den wir im vorherigen Schritt gespeichert haben, wird in der Elastischen Suche als Dokument bezeichnet. Wir werden den GET-Aufruf verwenden, um Dokumente aus dem Index zu holen. So können Sie ein Dokument über das Feld „Name“ abrufen:

GET student/course/_search
{
"query": {
"term": {
"name": {
"value": "james"
}
}
}
}

Dieser Befehl durchsucht den Index „Student“ nach Dokumenten vom Typ „Kurs“ und versucht, einen Begriff mit dem Feldnamen „Name“, der den Wert „James hat, zu finden. Da es im Index einen Schüler namens James gibt, erhalten wir eine Antwort, wie im Bild unten gezeigt:

Abfrage Elastischer Suchindex

Dies waren nur die Grundlagen, es gibt eine Menge Dinge, die mit Elasticsearch erledigt werden können und es sind viele Erkundungen erforderlich, um dieses Framework zu beherrschen und es bestmöglich zu nutzen.

Das könnte dich auch interessieren …