Installieren und Konfigurieren von Elastic Search unter Debian

Table of Contents

This post is also available in: English

Voraussetzungen

Für diese Installation benötigen Sie einen Rechner, auf dem Debian installiert ist.
Du
Hier erfahren Sie, wie Sie einen virtuellen Computer in Azure vorbereiten.

Grundlegende Kenntnisse in der Verwendung eines Linux-Terminals können ebenfalls erforderlich sein, da die
Die gesamte Installation erfolgt ohne grafische Oberfläche.

Installation

1. Installieren von Elastic Search und Kibana

  1. Greifen Sie auf Ihr Linux-Terminal zu.
  2. Fügen Sie den öffentlichen Elastic-Signaturschlüssel hinzu, indem Sie Folgendes ausführen:
  3. sudo wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
Möglicherweise wird eine Fehlermeldung angezeigt, die besagt, dass „gnupg nicht gefunden wurde“. Wenn diese Meldung erscheint, installieren Sie gnupg, indem Sie den folgenden Befehl ausführen: sudo apt-get install gnupg
  1. Laufen:
  2. sudo apt-get install apt-transport-https.
  3. Speichern Sie das elastische Repository mit:
  4. echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] <a href="https://artifacts.elastic.co/packages/8.x/apt"> https://artifacts.elastic.co/packages/8.x/apt</a> stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list.
  5. Aktualisieren Sie Ihre Paketinformationen mit:
  6. sudo apt-get update.
  7. Installieren Sie Elastic Search, indem Sie Folgendes ausführen:
  8. sudo apt-get install elasticsearch.

Während der Installation von elasticsearch sollte so etwas auftauchen:

  1. Speichern Sie das Kennwort für den integrierten Elastic-Superuser. Es wird später benötigt.
  2. Installieren Sie kibana, indem Sie Folgendes ausführen:
sudo apt-get install kibana .
  1. Laufen:
  2. systemctl daemon-reload.
  3. Aktivieren Sie Elastic Search und Kibana, indem Sie Folgendes ausführen:
  4. systemctl enable elasticsearch.service und: systemctl enable kibana.service.

2. Überprüfen, ob Elastic Search ausgeführt wird

  1. Starten Sie Elastic Search, indem Sie Folgendes ausführen:
  2. sudo systemctl start elasticsearch.service.
  3. Überprüfen Sie, ob Sie auf Elastic zugreifen können, indem Sie zu https://YOURMACHINEIP:9200 gehen, wobei YOURMACHINEIP die IP-Adresse Ihres Computers ist. Wenn Sie nicht auf die Website zugreifen können, stellen Sie sicher, dass Sie den Port 9200 in Azure für die Öffentlichkeit geöffnet haben (in einigen Linux-Distributionen wie Red Hat ist es möglicherweise auch erforderlich, den Port innerhalb des virtuellen Computers zu öffnen).

3. Verbinden von Elastic Search mit Kibana

Kibana ist das visuelle Frontend für die Elastic Stack-Anwendungen.
Im Moment benötigen wir Kibana, um einen Benutzer einzurichten und zu konfigurieren, der als Bindeglied zwischen KanBo und Elastic Search verwendet wird, aber in Zukunft könnte es für Visualisierungen von Daten in KanBo verwendet werden.
Es gibt zwei Möglichkeiten, den Elastic Search-Service mit dem Kibana-Service zu verbinden:

  1. So generieren Sie ein Registrierungstoken für Kibana: Führen Sie Folgendes aus:
  2. sudo./usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana.

  1. Gehen Sie zu YOURMACHINEIP:5601 (ohne https).
  2. Fügen Sie das Registrierungstoken in das Fenster ein.
  3. Klicken Sie auf "Elastic konfigurieren".

  1. Danach erscheint dieses Fenster:

  1. Laufen: sudo ./usr/share/kibana/bin/kibana-verification-code.

Es wird ein Code generiert:

  1. Geben Sie diesen Code ein und klicken Sie auf "Bestätigen".

4. Creating a user for KanBo

  1. Stellen Sie sicher, dass Sie diese Zeile in Ihrer KanBo web.config haben:
  2. <elastic key=”55a42c0f7fc8e9444ba6e22370d8339c”/>. The key here is the encryption key and is a random String of min. 30 characters. This key will not be used anywhere in the configuration and is used to encrypt the communication between KanBo and elastic as additional layer of security.
  3. Speichern Sie die Datei web.config.
  4. Öffnen Sie Kibana und melden Sie sich mit dem Benutzernamen "elastic" an und verwenden Sie das Passwort des integrierten Elastic-Superusers aus "Elastic Search und Kibana installieren".

  1. Wenn dieses Fenster erscheint, klicken Sie auf "Auf eigene Faust erkunden".
  2. Suchen Sie in der Suchleiste oben auf der Website nach "Rollen" und wählen Sie es mit "Gehe zu" aus.

  1. Klicken Sie danach auf "Rolle erstellen".

  1. Suchen Sie in der Suchleiste oben auf der Website nach "Rollen" und wählen Sie es mit "Gehe zu" aus.

  1. Konfigurieren Sie diese Optionen dann auf die gleiche Weise, wie sie im Screenshot konfiguriert sind.
    • Cluster-Berechtigungen: Verwalten manage_security
    • Ausführen als-Berechtigungen: *
    • Indizes: kanbosearch.*
    • Privilegien: alle
  2. Nachdem Sie eine Rolle erstellt haben, suchen Sie in der oberen Leiste nach "Benutzer" und wählen Sie "Gehe zu".

  1. Und erstellen Sie einen Benutzer auf diese Weise:

Es empfiehlt sich, denselben Benutzernamen wie den Rollennamen zu verwenden. Das Passwort wird nicht generiert und von Ihnen festgelegt.

  1. Wählen Sie für den Bereich "Rollen" die Rolle aus, die Sie im vorherigen Schritt erstellt haben: "admin-KanBoSearch".
  2. Speichern Sie den Benutzernamen und das Passwort für später.
  3. Stoppen Sie Kibana, indem Sie Folgendes ausführen:
  4. sudo systemctl stop kibana.service, da es vorerst nicht benötigt wird.

5. Connecting KanBo with Elastic Search

  1. Gehen Sie zu KanBo Setup (https://yourkanbo.com/setup), zeigen Sie das erweiterte Setup an und klicken Sie auf Elastic.

  1. Wenn die Option "Elastisch" nicht angezeigt wird, starten Sie das KanBo neu und versuchen Sie es erneut.
  • Die Eingabe für die Felder im Abschnitt "Verbindung" sollte wie folgt lauten:
    URL: https://YOURMACHINEIP:9200.
    Ersetzen Sie YOURMACHINEIP durch die IP-Adresse Ihrer Elastic Search-VM. Der Port 9200 ist der Port, auf dem die elastische Suche ausgeführt wird.
  • Benutzer: Der Benutzername aus "Erstellen eines Benutzers für KanBo", Schritt 8
  • Passwort: Das Passwort aus "Erstellen eines Benutzers für KanBo", Schritt 8
  • Name des Mandanten: kanbosearch

  1. Klicken Sie auf Registrieren und Ihr KanBo wird mit dem Elastic Search-Service verbunden.
  2. Indizieren Sie alle Ihre Daten, indem Sie im Abschnitt "Datenimport" die Option "Alle" auswählen, das Kontrollkästchen "Reinigen" aktivieren und auf "Ausführen" klicken.

Warten Sie, bis Elastic alles indiziert hat.

  1. Starten Sie Ihr KanBo mit IIS neu ( KanBo Pool stoppen / starten).
  2. Ihr KanBo verwendet jetzt Elastic Search!


Fehlerbehebung

Fehler beim Registrieren der elastischen Verbindung: Fehler beim Elastic Ping.

Dieser Fehler tritt immer dann auf, wenn eine der Eingaben im Abschnitt "Verbindung" falsch ist (nicht nur die URL) oder wenn KanBo keine Verbindung zur angegebenen IP herstellen kann. Bitte stellen Sie sicher, dass:

  1. Die URL beginnt mit https://, die Maschinen-IP ist korrekt und wird am Ende von ":9200" gefolgt.
  2. Der Benutzername und das Passwort sind korrekt.
  3. Der Mandantenname enthält nicht den ".*"-Teil, der in den Indizes einer Rolle vorhanden war, die wir in Kibana erstellt haben
  4. Falls der Elastic Search-Dienst nicht auf demselben Computer wie KanBo gehostet wird, stellen Sie sicher, dass diese URL vom KanBo aus zugänglich ist.

Überprüfen Sie, ob der Benutzer in Kibana ordnungsgemäß konfiguriert ist

  1. Starten Sie Kibana, gehen Sie zur Kibana-URL und melden Sie sich an.
  2. Gehen Sie zu Rollen und klicken Sie auf die von Ihnen erstellte Rolle.

  1. Stellen Sie sicher, dass die Clusterberechtigungen, die ausführenden Berechtigungen, die Indizes und die Berechtigungen gemäß den vorherigen Schritten konfiguriert sind. Achten Sie auch darauf, dass Indizes mit ".*" enden.
  2. Gehen Sie zu Benutzer und klicken Sie auf den Benutzer, den Sie erstellt haben.
  3. Stellen Sie sicher, dass diesem Benutzer die richtige Rolle zugewiesen ist.
  4. Wenn Sie sich bei dem Passwort unsicher sind, können Sie es zurücksetzen, indem Sie auf "Passwort ändern" klicken.


Offene Ports innerhalb des Geräts

Es ist möglich, dass der Port 9200 von der Firewall innerhalb des virtuellen Computers blockiert wird (und wenn Sie einen virtuellen Computer in Azure gehostet haben, wurde der Port möglicherweise auch nicht in der Netzwerkeinstellung des virtuellen Computers aktiviert, weitere Informationen finden Sie im Artikel zum Vorbereiten des virtuellen Computers in Azure). Um den Port auf einer Debian-VM zu öffnen, führen Sie sudo iptables -I INPUT 1 -p tcp --dport 9200 -j ACCEPT


Herstellen einer Verbindung mit Elastic Search, die auf einem virtuellen Hyper-V-Computer gehostet wird

Wenn Sie sich entschieden haben, Ihre virtuelle Elastic Search-Maschine auf Hyper-V zu hosten, muss Ihre Hostmaschine den Datenverkehr an den Port der Maschine an den Port einer VM umleiten. Um das zu tun:

  1. Öffnen Sie Routing und RAS.
  2. Doppelklicken Sie auf "Ethernet".

  1. Gehen Sie zu "Dienste und Ports" und klicken Sie auf "Hinzufügen".

  1. Fügen Sie eine Beschreibung hinzu (z. B. "ElasticSearch"), lassen Sie "Auf dieser Schnittstelle" und das Protokoll "TCP" ausgewählt. Geben Sie unter Eingehender Port "9200" ein. Geben Sie unter private Adresse die IP-Adresse Ihrer VM ein, und geben Sie unter ausgehenden Port 9200 (den Port, den Elastic Search verwendet) ein und klicken Sie auf OK.

  1. Nachdem dies erledigt ist, klicken Sie auf "Übernehmen" und jetzt sollten Sie in der Lage sein, eine Verbindung zu Elastic Search herzustellen, die auf Ihrer virtuellen Hyper-V-Maschine gehostet wird.

War dieser Beitrag hilfreich?

Bitte kontaktieren Sie uns, wenn Sie weitere Fragen haben.