So installierst du OpenSearch unter Debian 11

OpenSearch ist ein von der Community betriebenes Projekt von Amazon und ein Fork von Elasticsearch und Kibana. Es ist eine vollständig quelloffene Suchmaschine und Analyse-Suite mit reichhaltigen Features und innovativen Funktionen. Die Hauptkomponenten des OpenSearch-Projekts sind OpenSearch (eine Abspaltung von Elasticsearch) und die OpenSearch Dashboards (eine Abspaltung von Kibana). Beide Komponenten bieten Funktionen wie Unternehmenssicherheit, Alarmierung, maschinelles Lernen, SQL, Indexstatusverwaltung und mehr.

OpenSearch ist zu 100 % quelloffen und unter der Apache 2.0-Lizenz lizenziert. Mit OpenSearch kannst du auf einfache Weise Daten aufnehmen, sichern, durchsuchen, aggregieren, anzeigen und analysieren, z. B. für Log-Analysen, Anwendungssuche, Unternehmenssuche und vieles mehr.

In diesem Lernprogramm wirst du OpenSearch – eine Open-Source-Such-, Analyse- und Visualisierungssuite – auf dem Debian 11-Server installieren. Dazu lädst du das OpenSearch-Paket herunter und installierst es manuell auf deinem Debian-System. Außerdem richtest du sichere SSL/TLS-Zertifikate für OpenSearch ein und sicherst den Einsatz mit Authentifizierung und Autorisierung.

Außerdem installierst du OpenSearch Dashboards – ein Open-Source-Visualisierungstool – und konfigurierst es mit OpenSearch. Am Ende hast du eine Datenanalyse- und Visualisierungssuite auf deinem Debian-Server installiert und kannst deine Daten über Tools wie fluentd, Logstash, filebeat und viele andere senden.

Vorraussetzungen

Um diesen Leitfaden auszuführen, brauchst du die folgenden Voraussetzungen

  • Ein Server mit einer Debian 11 Installation und mindestens 8 GB RAM. In diesem Beispiel wird ein Debian-System mit dem Hostnamen„node1“ und der lokalen IP-Adresse„192.168.5.50“ verwendet.
  • Ein Nicht-Root-Benutzer mit sudo/root-Administrator-Rechten.

Wenn diese Voraussetzungen erfüllt sind, kannst du die Installation von OpenSearch jetzt starten.

System einrichten

Im ersten Schritt wirst du deinen Debian-Server für den Einsatz von OpenSearch einrichten und optimieren. Du richtest den System-Hostnamen und den fqdn ein, deaktivierst Memory Paging und Swap und erhöhst die Anzahl der maximalen Memory Maps.

Das Deaktivieren von Memory Paging und Swapping auf dem OpenSearch-Host verbessert die Leistung. Für die maximalen Memory Maps musst du für die Produktion eine Zahl von mindestens 262144 einstellen.

Führe den unten stehenden Befehl „hostnamectl“ aus, um den System-Hostnamen einzurichten. Dann fügst du die fqdn-Konfiguration in die Datei„/etc/hosts“ ein. In diesem Beispiel sollte der Hostname „node1“ mit dem fqdn „node1.hwdomain.lan“ sein.

sudo hostnamectl set-hostname node1
echo "192.168.5.50  node1.hwdomain.lan  node1" >> /etc/hosts

Überprüfe nun den fqdn deines Servers mit dem unten stehenden Befehl hostname. In diesem Beispiel sollte der fqdn des Servers „node1.hwdomain.lan“ sein.

hostname -f

Ausgabe:

fqdn einrichten

Als nächstes musst du den Swap auf deinem System deaktivieren. Egal, ob du Swap über eine Partition oder eine Datei verwendest, die Swap-Konfiguration wird in der Datei „/etc/fstab“ gespeichert.

Führe den folgenden Befehl aus, um den Swap auf deinem System zu deaktivieren. Der Befehl „sed“ deaktiviert den Swap dauerhaft über die Datei „/etc/fstab„, indem er ein Komma„#“ an den Anfang der Zeile mit den Swap-Einstellungen setzt. Mit dem Befehl „swapoff“ wird der Swap in der aktuellen Sitzung deaktiviert.

sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
sudo swapoff -a

Überprüfe den Swap-Status mit dem unten stehenden Befehl. Wenn er deaktiviert ist, solltest du in der Swap-Sektion die Ausgabe„0“ erhalten.

free -m

Ausgabe:

Swap deaktivieren

Zum Schluss fügst du der Datei „/etc/sysctl.conf“ eine Konfiguration hinzu, um die maximale Speicherkapazität deines Systems zu erhöhen.

Führe den folgenden Befehl aus, um den Parameter „vm.max_map_count=262144“ in die Datei „/etc/sysctl.conf“ einzufügen. Wende die Änderungen dann mit dem Befehl „sysctl -p“ an.

sudo echo "vm.max_map_count=262144" >> /etc/sysctl.conf
sudo sysctl -p

Überprüfe die max memory maps, indem du den folgenden Befehl ausführst. Wenn du erfolgreich warst, sollte die maximale Speicherkapazität „262144“ betragen.

cat /proc/sys/vm/max_map_count

Ausgabe:

vmmax Einrichtung

Wenn dein System konfiguriert und optimiert ist, kannst du OpenSearch darauf installieren.

Herunterladen von OpenSearch

OpenSearch kann auf viele Arten installiert werden. In diesem Beispiel wirst du OpenSearch per Tarball installieren. In diesem Schritt erstellst du einen neuen Systembenutzer „opensearch“, lädst das OpenSearch-Tarball-Paket herunter und richtest das OpenSearch-Installationsverzeichnis mit den richtigen Berechtigungen und Eigentümern ein.

Zuerst fügst du den neuen Systembenutzer „opensearch“ mit dem unten stehenden Befehl hinzu.

sudo adduser --system --shell /bin/bash -U 10001 --no-create-home opensearch

Füge eine neue Gruppe „opensearch“ mit dem unten stehenden Befehl groupadd hinzu. Dann fügst du den Systembenutzer„opensearch“ mit dem usermod-Befehl zur Gruppe„opensearch“ hinzu.

sudo groupadd opensearch
sudo usermod -aG opensearch opensearch

Erstelle nun ein neues Home-Verzeichnis „/home/opensearch“ und ändere den Besitz des Home-Verzeichnisses „/home/opensearch“ auf den Benutzer„opensearch„.

mkdir -p /home/opensearch
sudo chown -R opensearch /home/opensearch

Ausgabe:

Benutzer und Gruppe einrichten

Als nächstes lädst du das OpenSource-Paket mit dem Befehl wget herunter. Sobald der Download abgeschlossen ist, entpackst du die Datei mit dem unten stehenden tar-Befehl. In diesem Beispiel wirst du OpenSearch 2.4.1 installieren. Die neueste Version von OpenSearch findest du auf der offiziellen Download-Seite.

wget https://artifacts.opensearch.org/releases/bundle/opensearch/2.4.1/opensearch-2.4.1-linux-x64.tar.gz
tar xf opensearch-2.4.1-linux-x64.tar.gz

Nachdem das OpenSearch-Paket entpackt ist, verschiebe das entpackte Verzeichnis nach „/opt/opensearch“. Dies wird das Hauptinstallationsverzeichnis für OpenSearch. Führe dann den Befehl chown aus, um den Eigentümer des Verzeichnisses „/opt/opesearch“ auf den Benutzer„opensearch“ zu ändern.

mv opensearch-2.4.1 /opt/opensearch
sudo chown -R opensearch /opt/opensearch

Ausgabe:

Download Eröffnungssuche

Nachdem du das OpenSearch-Paket heruntergeladen hast, hast du das Zielinstallationsverzeichnis auf „/opt/opensearch“ eingestellt. Als Nächstes wirst du deine OpenSearch-Installation einrichten und konfigurieren.

OpenSearch konfigurieren

In diesem Schritt richtest du OpenSearch so ein, dass es auf einer bestimmten IP-Adresse und auf einem einzelnen Knoten läuft, aktivierst die OpenSearch-Sicherheitsplugins und legst den maximalen Heap-Speicher für den OpenSearch-Prozess fest. All das kannst du tun, indem du die OpenSearch-Konfigurationsdatei „/opt/opensearch/config/opensearch.yml“ und die OpenSearch-JVM-Optionsdatei „config/jvm.options“ bearbeitest.

Verschiebe das Arbeitsverzeichnis mit dem cd-Befehl nach‚/opt/opensearch‚.

cd /opt/opensearch

Öffne die OpenSearch-Konfigurationsdatei„config/opensearch.yml“ mit dem unten stehenden nano-Editor-Befehl.

sudo nano config/opensearch.yml

Füge die folgenden Zeilen in die Datei ein.

# Bind OpenSearch to interface or IP address
network.host: 192.168.5.50

# OpenSearch deployment type
discovery.type: single-node

# Re-enable security plugins
plugins.security.disabled: false

Speichere und beende die Datei„config/opensearch.yml„, wenn du fertig bist.

offene Suche läuft

Details zu den Parametern:

  • Der Parameter ’network.host‘ wird verwendet, um OpenSearch an eine bestimmte IP-Adresse zu binden. In diesem Beispiel wird die OpenSearch auf der internen IP-Adresse„192.168.5.50“ laufen.
  • Der Parameter‚discovery.type: single-node‚ wird verwendet, wenn du OpenSearch auf einem einzelnen Knoten einsetzen willst.
  • Der Parameter„plugins.security.disabled“ wird auf„false“ gesetzt, was bedeutet, dass das Sicherheits-Plugin für OpenSearch aktiviert wird.

Als nächstes öffnest du die Datei„config/jvm.options“ mit dem unten stehenden nano-Editor-Befehl.

sudo nano config/jvm.options

Passe den maximalen Heap-Speicher für den OpenSearch-Prozess an. Diese Einstellung hängt vom verfügbaren Speicher oder RAM deines Servers ab. In diesem Beispiel werden 2 GB Speicher für OpenSearch zugewiesen.

-Xms2g
-Xmx2g

Speichere und beende die Datei„config/jvm.options„, wenn du fertig bist.

max heap memory opensearch

Führe abschließend den folgenden Befehl aus, um eine Umgebungsvariable„OPENSEARCH_JAVA_HOME“ für deine aktuelle Sitzung einzurichten. Das OpenSearch-Paket enthält die erforderlichen Java- und JDK-Pakete, die im Verzeichnis „/opt/opensearch/jdk“ zu finden sind.

export OPENSEARCH_JAVA_HOME=/opt/opensearch/jdk
echo $OPENSEARCH_JAVA_HOME

Nachdem du die grundlegenden OpenSearch-Konfigurationen vorgenommen hast, wirst du als Nächstes TLS-Zertifikate erzeugen und den OpenSearch-Einsatz sichern.

TLS-Zertifikate generieren

In diesem Schritt generierst du mehrere Zertifikate, die zur Sicherung des OpenSearch-Einsatzes verwendet werden. Du sicherst die Node-to-Node-Kommunikation mit TLS-Zertifikaten ab und sicherst den REST-Layer-Verkehr zwischen Client und Server über TLS.

Im Folgenden findest du eine Liste der Zertifikate, die du erstellen wirst:

  • Root-CA-Zertifikate: Diese Zertifikate werden zum Signieren anderer Zertifikate verwendet.
  • Admin-Zertifikate: Diese Zertifikate werden verwendet, um administrative Rechte zu erhalten und alle Aufgaben im Zusammenhang mit dem Sicherheits-Plugin auszuführen.
  • Node- und Client-Zertifikate: Diese Zertifikate werden von den Knoten und Clients innerhalb des OpenSearch-Clusters verwendet.

Bevor du loslegst, führe den folgenden Befehl aus, um ein neues Verzeichnis„/opt/opensearch/config/certs“ zu erstellen, und verschiebe dein Arbeitsverzeichnis dorthin. Dieses Verzeichnis wird zum Speichern von TLS-Zertifikaten verwendet.

mkdir -p /opt/opensearch/config/certs; cd /opt/opensearch/config/certs

Erzeugen von Root-CA-Zertifikaten

Erstelle einen privaten Schlüssel für die Root-CA-Zertifikate wie unten beschrieben.

openssl genrsa -out root-ca-key.pem 2048

Erstelle nun ein selbstsigniertes Root-CA-Zertifikat mit dem unten stehenden Befehl. Du kannst auch die Werte im Parameter„-subj“ mit deinen Angaben ändern.

openssl req -new -x509 -sha256 -key root-ca-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=ROOT" -out root-ca.pem -days 730

Damit solltest du den privaten Schlüssel der Root-CA„root-ca-key.pem“ und das Root-CA-Zertifikat „root-ca.pem“ erhalten.

Ausgabe:

Wurzelzertifikate erzeugen

Admin-Zertifikate generieren

Erstelle den neuen privaten Schlüssel des Admin-Zertifikats„admin-key-temp.pem“ mit dem folgenden Befehl.

openssl genrsa -out admin-key-temp.pem 2048

Konvertiere den Standard-Admin-Schlüssel in das PKCS#8-Format. Für die Java-Anwendung musst du den standardmäßigen privaten Schlüssel in einen PKCS#12-kompatiblen Algorithmus (3DES) umwandeln. Damit sollte dein privater Schlüssel„admin-key.pem“ lauten.

openssl pkcs8 -inform PEM -outform PEM -in admin-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out admin-key.pem

Als Nächstes führst du den folgenden Befehl aus, um die CSR (Certificate Signing Request) aus dem privaten Schlüssel„admin-key.pem“ zu erzeugen. Die erzeugte CSR sollte nun die Datei„admin.csr“ sein.

Da dieses Zertifikat für die Authentifizierung des erweiterten Zugangs verwendet wird und nicht an einen Host gebunden ist, kannst du in der„CN„-Konfiguration alles verwenden.

openssl req -new -key admin-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=A" -out admin.csr

Zum Schluss führst du den folgenden Befehl aus, um die Admin-CSR mit dem Root-CA-Zertifikat und dem privaten Schlüssel zu signieren. Die Ausgabe des Admin-Zertifikats ist die Datei„admin.pem„.

openssl x509 -req -in admin.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out admin.pem -days 730

Dein Admin-Zertifikat sollte nun die Datei„admin.pem“ sein, die mit Root-CA-Zertifikaten signiert ist. Und der private Schlüssel ist die Datei„admin-key.pem„, die in das PKCS#8-Format konvertiert wurde.

Ausgabe:

Admin-Zertifikate generieren

Knotenzertifikate generieren

Der Prozess der Erstellung von Knotenzertifikaten ist ähnlich wie bei den Admin-Zertifikaten. Allerdings kannst du den CN-Wert mit dem Hostnamen oder der IP-Adresse deines Knotens angeben.

Erstelle den privaten Schlüssel des Knotens mit dem unten stehenden Befehl.

openssl genrsa -out node1-key-temp.pem 2048

Konvertiere den privaten Schlüssel des Knotens in das PKCS#8-Format. Dein privater Knotenschlüssel sollte nun„node1-key.pem“ heißen.

openssl pkcs8 -inform PEM -outform PEM -in node1-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out node1-key.pem

Als Nächstes erstellst du eine neue CSR für das Knotenzertifikat. Achte darauf, dass du den„CN„-Wert durch den Hostnamen deines Knotens ersetzt. Dieses Zertifikat ist an Hosts gebunden, und du musst den CN-Wert mit dem Hostnamen oder der IP-Adresse deines OpenSearch-Knotens angeben.

openssl req -new -key node1-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=node1.hwdomain.lan" -out node1.csr

Bevor du das Knotenzertifikat signierst, führe den folgenden Befehl aus, um eine SAN-Erweiterungsdatei„node1.ext“ zu erstellen. Diese enthält den Hostnamen oder FQDN oder die IP-Adresse des Knotens.

echo 'subjectAltName=DNS:node1.hwdomain.lan' > node1.ext

Zum Schluss signierst du die CSR-Datei des Knotenzertifikats mit dem Root-CA-Zertifikat und dem privaten Zertifikat mit dem folgenden Befehl.

openssl x509 -req -in node1.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out node1.pem -days 730 -extfile node1.ext

Damit ist dein Knotenzertifikat eine„node1.pem„-Datei und der private Schlüssel ist„node1-key.pem„.

Ausgabe:

Knotenzertifikate erzeugen

Einrichten von Zertifikaten

Führe den folgenden Befehl aus, um das temporäre Zertifikat, die CSR und die SAN-Erweiterungsdatei zu entfernen.

rm *temp.pem *csr *ext
ls

Zeugnisse auflisten

Konvertiere das Root-CA-Zertifikat in das .crt-Format.

openssl x509 -outform der -in root-ca.pem -out root-ca.crt

Füge das Root-CA-Zertifikat mit dem unten stehenden Befehl zu deinem Debian-System hinzu. Kopiere die Datei root-ca.crt in das Verzeichnis „/usr/local/share/ca-certificates/“ und lade das neue Root-CA-Zertifikat in dein System.

sudo cp root-ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates

Die Ausgabe„1 hinzugefügt“ bestätigt, dass die neuen Root-CA-Zertifikate zu deinem System hinzugefügt wurden.

conver add root ca certificate

Führe abschließend den folgenden Befehl aus, um die richtigen Berechtigungen und Eigentumsrechte für deine Zertifikate einzurichten. Der Eigentümer des Verzeichnisses „/opt/opensearch/config/certs“ sollte der Benutzer„opensearch“ mit der Berechtigung 0700 sein. Und für alle Zertifikatsdateien sollte die Berechtigung 0600 sein.

sudo chown -R opensearch /opt/opensearch/config/certs
sudo chmod 0700 /opt/opensearch/config/certs
sudo chmod 0600 /opt/opensearch/config/certs/*.pem
sudo chmod 0600 /opt/opensearch/config/certs/*.crt

Eigentumszertifikate einrichten

Hinzufügen von TLS-Zertifikaten zu OpenSearch

Nachdem die TLS-Zertifikate erstellt wurden, sind die Root-CA, die Admin-Zertifikate und die Node-Zertifikate vorhanden. Als Nächstes fügst du Zertifikate zur OpenSearch-Konfigurationsdatei „/opt/opensearch/config/opensearch.yml“ hinzu. In diesem Beispiel erstellst du ein neues Bash-Skript, das Zertifikate und TLS-Sicherheits-Plugin-Einstellungen zu OpenSearch hinzufügt.

Erstelle eine neue Datei„add.sh“ mit dem unten stehenden nano-Editor-Befehl.

nano add.sh

Füge die folgenden Zeilen in die Datei ein. Achte darauf, dass du den korrekten Pfad deiner Zertifikatsdateien und der OpenSearch-Konfigurationsdatei angibst.

#! /bin/bash

# Before running this script, make sure to replace the /path/to your OpenSearch directory,
# and remember to replace the CN in the node’s distinguished name with a real
# DNS A record.

echo „plugins.security.ssl.transport.pemcert_filepath: /opt/opensearch/config/certs/node1.pem“ | sudo tee -a /opt/opensearch/config/opensearch.yml
echo „plugins.security.ssl.transport.pemkey_filepath: /opt/opensearch/config/certs/node1-key.pem“ | sudo tee -a /opt/opensearch/config/opensearch.yml
echo „plugins.security.ssl.transport.pemtrustedcas_filepath: /opt/opensearch/config/certs/root-ca.pem“ | sudo tee -a /opt/opensearch/config/opensearch.yml
echo „plugins.security.ssl.http.enabled: true“ | sudo tee -a /opt/opensearch/config/opensearch.yml
echo „plugins.security.ssl.http.pemcert_filepath: /opt/opensearch/config/certs/node1.pem“ | sudo tee -a /opt/opensearch/config/opensearch.yml
echo „plugins.security.ssl.http.pemkey_filepath: /opt/opensearch/config/certs/node1-key.pem“ | sudo tee -a /opt/opensearch/config/opensearch.yml
echo „plugins.security.ssl.http.pemtrustedcas_filepath: /opt/opensearch/config/certs/root-ca.pem“ | sudo tee -a /opt/opensearch/config/opensearch.yml
echo „plugins.security.allow_default_init_securityindex: true“ | sudo tee -a /opt/opensearch/config/opensearch.yml
echo „plugins.security.authcz.admin_dn:“ | sudo tee -a /opt/opensearch/config/opensearch.yml
echo “  – ‚CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'“ | sudo tee -a /opt/opensearch/config/opensearch.yml
echo „plugins.security.nodes_dn:“ | sudo tee -a /opt/opensearch/config/opensearch.yml
echo “  – ‚CN=node1.dns.a-record,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'“ | sudo tee -a /opt/opensearch/config/opensearch.yml
echo „plugins.security.audit.type: internal_opensearch“ | sudo tee -a /opt/opensearch/config/opensearch.yml
echo „plugins.security.enable_snapshot_restore_privilege: true“ | sudo tee -a /opt/opensearch/config/opensearch.yml
echo „plugins.security.check_snapshot_restore_write_privileges: true“ | sudo tee -a /opt/opensearch/config/opensearch.yml
echo „plugins.security.restapi.roles_enabled: [\“all_access\“, \“security_rest_api_access\“]“ | sudo tee -a /opt/opensearch/config/opensearch.yml

Speichere und beende die Datei, wenn du fertig bist.

Mache die Datei„add.sh“ ausführbar und führe sie aus. Das neue TLS-Sicherheits-Plugin für OpenSearch sollte der OpenSearch-Konfigurationsdatei‚/opt/opensearch/config/opensearch.yml‘ hinzugefügt werden.

chmod +x add.sh
./add.sh

Ausgabe:

tls zu opensearch hinzufügen

Wenn du die OpenSearch-Konfigurationsdatei ‚/opt/opensearch/config/opensearch.yml‘ überprüfst, solltest du die neuen Einstellungen wie folgt am Ende der Konfigurationsdatei sehen.

tls-Konfiguration öffnet die Suche

Jetzt hast du TLS-Zertifikate zu OpenSearch hinzugefügt und die Sicherheitsplugins aktiviert. Im nächsten Schritt sicherst du OpenSearch mit Authentifizierung und Autorisierung, indem du einen neuen Benutzer in OpenSearch anlegst.

Benutzer in OpenSearch anlegen

Bevor du beginnst, führe den folgenden Befehl aus, um die Umgebungsvariable für„OPENSEARCH_JAVA_HOME“ einzurichten und die OpenSearch-Sicherheitstools ausführbar zu machen.

export OPENSEARCH_JAVA_HOME=/opt/opensearch/jdk
chmod 755 /opt/opensearch/plugins/opensearch-security/tools/*.sh

generieren hat Passwort

Verschiebe dein Arbeitsverzeichnis nach„/opt/opensearch/plugins/opensearch-security/tools“ und führe das Skript„hash.sh“ aus, um ein Hash-Passwort für OpenSearch zu erzeugen.

cd /opt/opensearch/plugins/opensearch-security/tools
./hash.sh

Gib dein Passwort ein und kopiere das generierte Hash-Passwort.

Ausgabe:

Admin-Hash-Passwort generieren

Führe nun das Skript„hash.sh“ erneut aus, um ein weiteres Hash-Passwort zu generieren, das für OpenSearch Dashboards verwendet werden soll. Gib das neue Passwort ein und kopiere das generierte Hash-Passwort.

./hash.sh

Nachdem du den Passwort-Hash generiert hast, richtest du einen OpenSearch-Benutzer über die Konfigurationsdatei „internal_users.yml“ ein.

Verschiebe dein Arbeitsverzeichnis nach„/opt/opensearch/config/opensearch-security/“ und öffne die Datei „internal_users.yml“ mit dem unten stehenden nano-Editor-Befehl.

cd /opt/opensearch/config/opensearch-security/
sudo nano internal_users.yml

Entferne die Standard-Benutzereinstellungen und ersetze sie durch die folgenden Zeilen. Achte darauf, dass du das Hash-Passwort durch dein generiertes Passwort ersetzt. Damit erstellst du zwei OpenSearch-Benutzer, den„admin„-Benutzer und den„kibanaserver„-Benutzer, die von OpenSearch Dashboards verwendet werden.

...
...
admin:
   hash: "$2y$12$ChrsBPaDAJsuel.HXFi2Ie2Jn1MpdzXA4Nd1jeyXf65N97RDJc3Ky"
   reserved: true
   backend_roles:
   - "admin"
   description: "Admin user"

kibanaserver:
hash: „$2y$12$wIeuRDp5txoJ3d6.lyybJOPwoRaizuuBvlKKzAGdAiu.I/qaX8hXu“
reserved: true
description: „Demo OpenSearch Dashboards user“

Speichere und beende die Datei„internal_users.yml„, wenn du fertig bist.

Einrichtung der Benutzersuche

Als Nächstes führst du den folgenden Befehl aus, um dem Benutzer„opensearch“ die Rechte am OpenSearch-Installationsverzeichnis zu geben. Melde dich dann als Benutzer„opensearch“ an.

sudo chown -R opensearch /opt/opensearch
su - opensearch

Wechsle in das Verzeichnis„/opt/opensearch/bin“ und starte deine OpenSearch-Installation. OpenSearch sollte jetzt auf der lokalen IP-Adresse‚192.168.5.50‚ mit dem Standardport‚9200‚ laufen.

cd /opt/opensearch/bin
./opensearch

Du solltest eine ähnliche Ausgabe wie diese erhalten:

Öffne die Suche, um neue Benutzer anzulegen

Öffne nun ein neues Terminal, verbinde dich mit deinem OpenSearch-Server und melde dich als Benutzer „opensearch“ an.

su - opensearch

Verschiebe das Arbeitsverzeichnis nach„/opt/opensearch/plugins/opensearch-security/tools“ und führe das Skript„securityadmin.sh“ wie folgt aus. Achte darauf, dass du die IP-Adresse des OpenSearch-Hosts und den Pfad der Admin-Zertifikate änderst.

Dadurch wird eine Verbindung zum OpenSearch-Server hergestellt und die neuen Änderungen werden auf die OpenSearch-Benutzer angewendet, die du in der Datei„internal_users.yml“ konfiguriert hast.

cd /opt/opensearch/plugins/opensearch-security/tools
OPENSEARCH_JAVA_HOME=/opt/opensearch/jdk ./securityadmin.sh -h 192.168.5.50 -p 9200 -cd /opt/opensearch/config/opensearch-security/ -cacert /opt/opensearch/config/certs/root-ca.pem -cert /opt/opensearch/config/certs/admin.pem -key /opt/opensearch/config/certs/admin-key.pem -icl -nhnv

Ausgabe:

neue Benutzer anmelden

Gehe nun zurück zum ersten Terminal und beende den OpenSearch-Server, indem du die Taste „Strg+c“ drückst. Starte dann den OpenSearch Server erneut.

./opensearch

Jetzt läuft der OpenSearch Server mit einem neuen Benutzer.

Gehe zurück zur zweiten Terminalsitzung und führe den folgenden Befehl aus, um deinen OpenSearch-Server zu überprüfen. Damit wirst du dich als OpenSearch-Benutzer„admin“ und„kibanaserver“ authentifizieren. Achte außerdem darauf, dass du das Passwort für jeden Benutzer änderst.

curl https://192.168.5.50:9200 -u admin:password -k
curl https://192.168.5.50:9200 -u kibanaserver:kibanapass -k

Wenn die Authentifizierung erfolgreich war, solltest du die Details deines OpenSearch-Servers sehen.

Ausgabe – authentifiziert als‚admin‚ Benutzer

OpenSearch-Benutzer verifizieren

Ausgabe – authentifiziert als‚kibanaserver‚-Benutzer.

Überprüfen Sie die Eröffnungssuche

Damit hast du die Authentifizierung und Autorisierung auf dem OpenSearch-Server erfolgreich konfiguriert. Wechsle nun zurück zur ersten Terminalsitzung und drücke Strg+c, um das Terminal für den OpenSearch-Prozess zu öffnen.

Im nächsten Schritt richtest du eine systemd-Dienstdatei ein, mit der der OpenSearch-Server ausgeführt wird.

OpenSearch als Systemd-Dienst starten

In diesem Lernprogramm wirst du den OpenSearch-Server im Hintergrund als systemd-Dienst ausführen. Dazu musst du eine neue systemd-Dienstdatei erstellen, den systemd-Manager neu laden und dann OpenSearch mit dem Dienstprogramm systemctl starten und aktivieren.

Erstelle eine neue systemd-Dienstdatei„/etc/systemd/system/opensearch.service“ mit dem unten stehenden nano-Editor-Befehl.

sudo nano /etc/systemd/system/opensearch.service

Füge die folgenden Zeilen in die Datei ein.

[Unit]
Description=OpenSearch
Wants=network-online.target
After=network-online.target

[Service]
Type=forking
RuntimeDirectory=data

WorkingDirectory=/opt/opensearch
ExecStart=/opt/opensearch/bin/opensearch -d

User=opensearch
Group=opensearch
StandardOutput=journal
StandardError=inherit
LimitNOFILE=65535
LimitNPROC=4096
LimitAS=infinity
LimitFSIZE=infinity
TimeoutStopSec=0
KillSignal=SIGTERM
KillMode=process
SendSIGKILL=no
SuccessExitStatus=143
TimeoutStartSec=75

[Install]
WantedBy=multi-user.target

Speichere und schließe die Datei, wenn du fertig bist.

Als Nächstes führst du den folgenden systemctl-Befehl aus, um den systemd-Manager neu zu laden und die Änderungen zu übernehmen.

sudo systemctl daemon-reload

Starte und aktiviere dann den OpenSearch-Dienst mit dem unten stehenden systemctl-Befehl. Damit sollte der OpenSearch-Dienst nun im Hintergrund als systemd-Dienst laufen und aktiviert sein, d.h. OpenSearch wird beim Systemstart automatisch gestartet.

sudo systemctl start opensearch
sudo systemctl enable opensearch

Ausgabe:

start enable opensearch service

Überprüfe nun den OpenSearch-Dienst, um sicherzustellen, dass der Dienst läuft. Du solltest eine Ausgabe sehen, dass der OpenSearch-Dienst läuft und jetzt aktiviert ist.

sudo systemctl status opensearch

Ausgabe:

Überprüfen Sie den Öffnungsdienst

Du kannst den OpenSearch-Server auch mit dem Befehl curl überprüfen, um dich gegenüber OpenSearch zu authentifizieren.

curl https://192.168.5.50:9200 -u admin:password -k
curl https://192.168.5.50:9200 -u kibanaserver:kibanapass -k

Wenn OpenSearch läuft, solltest du authentifiziert werden und detaillierte Informationen über deine OpenSearch-Installation erhalten.

Für OpenSearch admin Benutzer.

Überprüfen Sie die Öffnungskurve

Für den Benutzer kibanaserver.

OpenSearch-Anmeldung überprüfen

Du kannst die Liste der offenen Ports auf deinem System auch mit dem ss-Befehl unten überprüfen. Du solltest sehen, dass die Ports 9200 und 9300 von der Java-Anwendung, also dem OpenSearch-Server, geöffnet sind.

ss -tulpn

Ausgabe:

Öffnende Ports überprüfen

Damit hast du die Installation von OpenSearch abgeschlossen. Sie läuft jetzt unter der lokalen IP-Adresse 192.168.5.50 mit dem Standardport 9200. Sie läuft im Hintergrund als systemd-Dienst und wird beim Systemstart automatisch gestartet.

Installation von OpenSearch Dashboards

In diesem Schritt lädst du das OpenSearch Dashboards-Paket herunter und installierst es manuell per Tarball. Außerdem legst du fest, wie das OpenSearch Dashboard laufen soll und wie du dich mit Benutzername und Passwort mit dem OpenSearch-Server verbinden kannst.

Lade das OpenSearch Dashboards-Paket mit dem folgenden wget-Befehl herunter.

wget https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.4.1/opensearch-dashboards-2.4.1-linux-x64.tar.gz

Sobald der Download abgeschlossen ist, extrahiere das OpenSearch Dashboards-Paket mit dem folgenden tar-Befehl. Du solltest ein neues Verzeichnis„opensearch-dashboards-2.4.1“ erhalten.

tar xf opensearch-dashboards-2.4.1-linux-x64.tar.gz

Dashboard von opensearch herunterladen

Verschiebe das OpenSearch Dashboard-Verzeichnis nach„/opt/opensearch-dashboards„. Dann änderst du die Eigentumsrechte an diesem Verzeichnis auf den Benutzer „opensearch“.

mv opensearch-dashboards-* /opt/opensearch-dashboards
sudo chown -R opensearch /opt/opensearch-dashboards

Als Nächstes verschiebst du dein Arbeitsverzeichnis nach„/opt/opensearch-dashboards“ und öffnest die OpenSearch Dashboards-Konfigurationsdatei„config/opensearch_dashboards.yml“ mit dem unten stehenden nano-Editor.

cd /opt/opensearch-dashboards
sudo nano config/opensearch_dashboards.yml

Hebe die Kommentare in den folgenden Zeilen auf und ersetze die Werte der einzelnen Parameter durch deine Einstellungen. In diesem Beispiel lässt du die OpenSearch Dashboards auf dem Standard-Port„5601“ und der Server-IP-Adresse„192.168.5.50“ laufen.

# OpenSearch Dashboards is served by a back end server. This setting specifies the port to use.
server.port: 5601

# Specifies the address to which the OpenSearch Dashboards server will bind. IP addresses and host names are both valid values.
# The default is ‚localhost‘, which usually means remote machines will not be able to connect.
# To allow connections from remote users, set this parameter to a non-loopback address.
server.host: „192.168.5.50“

Als nächstes fügst du die folgenden Zeilen am Ende der Zeile ein. Achte darauf, dass du die Parameter„opensearch.hosts„,„opensearch.username“ und„opensearch.password“ mit deinen OpenSearch-Serverdaten änderst.

opensearch.hosts: [https://192.168.5.50:9200]
opensearch.ssl.verificationMode: none
opensearch.username: kibanaserver
opensearch.password: kibanapass

Speichere und beende die Datei„config/opensearch_dashboards.yml„, wenn du fertig bist.

Dashboard für die Eröffnungssuche einrichten

Jetzt hast du OpenSearch Dashboard heruntergeladen und es für die Verbindung mit dem OpenSearch-Server konfiguriert. Als Nächstes richtest du eine systemd-Dienstdatei ein, die zum Ausführen der OpenSearch Dashboards verwendet wird.

Ausführen von OpenSearch Dashboards als Systemd-Dienst

In diesem Schritt erstellst du einen neuen systemd-Dienst, der zum Ausführen der OpenSearch Dashboards verwendet wird.

Erstelle eine neue systemd-Dienstdatei „/etc/systemd/system/opensearch-dashboards.service“ mit dem unten stehenden nano-Editor-Befehl.

sudo nano /etc/systemd/system/opensearch-dashboards.service

Füge die folgenden Zeilen in die Datei ein.

[Unit]
Description=OpenSearch-Dashboards
Wants=network-online.target
After=network-online.target opensearch.service

[Service]
Type=simple
User=opensearch
Environment=NODE_ENV=production
Environment=CONFIG_PATH=/opt/opensearch-dashboards/config/opensearch_dashboards.yml
WorkingDirectory=/opt/opensearch-dashboards
ExecStart=/opt/opensearch-dashboards/bin/opensearch-dashboards
StandardOutput=journal
StandardError=inherit
Restart=on-failure

[Install]
WantedBy=multi-user.target

Speichere und beende die Datei, wenn du fertig bist.

Als Nächstes führst du den folgenden systemctl-Befehl aus, um den systemd-Manager neu zu laden und die neuen Änderungen zu übernehmen.

sudo systemctl daemon-reload

Starte und aktiviere dann den OpenSearch Dashboards-Dienst mit dem unten stehenden systemctl-Befehl. Damit sollte der OpenSearch Dashboards Dienst laufen und aktiviert sein, d.h. der OpenSearch Dashboard Dienst wird beim Systemstart automatisch gestartet.

sudo systemctl start opensearch-dashboards
sudo systemctl enable opensearch-dashboards

start enable opensearch dashboards

Überprüfe den OpenSearch Dashboards-Dienst mit dem unten stehenden Befehl.

sudo systemctl status opensearch-dashboards

Die Ausgabe„active (running)“ bestätigt, dass der OpenSearch Dashboards-Dienst läuft. Und die Ausgabe ‚…; enabled;…‘ bestätigt, dass der Dienst aktiviert ist.

Überprüfen Sie die Eröffnungssuche

Damit läuft OpenSearch Dashboards jetzt auf deinem Debian-Server mit der Standard-Konfigurationsdatei „/opt/opensearch-dashboards/config/opensearch_dashboards.yml„. Es läuft auf dem Standard-Port 5601 mit der Server-IP-Adresse 192.168.5.50

Zugriff auf OpenSearch Dashboards

Öffne deinen Webbrowser und rufe die IP-Adresse von OpenSearch Dashboards mit Port 5601 auf (d.h.: http:192.168.5.50:5601). Du siehst nun die Anmeldeseite von OpenSearch Dashboards.

Gib deinen Benutzernamen und dein Passwort ein, die du erstellt hast. In diesem Beispiel ist der Benutzer„kibanaserver„. Klicke dann auf die Schaltfläche„Anmelden„, um zu bestätigen und dich bei OpenSearch Dashboards anzumelden.

login opensearch

Wenn die Anmeldung erfolgreich war, solltest du die folgende Seite mit der Meldung „Willkommen bei OpenSearch Dashboards“ erhalten. Du kannst nun auf„Daten hinzufügen“ klicken, um neue Daten zu deinem OpenSearch-Server hinzuzufügen, oder auf„Meine eigenen erforschen“ für eine spätere Einrichtung.

Dashboard öffnen Suche

Um sicherzustellen, dass OpenSearch Dashboards mit dem OpenSearch-Server verbunden ist, führst du die folgenden Schritte durch:

Klicke im linken Menü auf den Abschnitt „Verwaltung“ und dann auf„Dev Tools„.

Entwicklungswerkzeuge Öffnet die Dashboards

Gib nun die Abfrage„GET /“ in die Konsole ein und klicke auf die Schaltfläche „Abspielen“. Wenn die Abfrage erfolgreich war, solltest du auf der rechten Seite eine Ausgabe mit detaillierten Informationen über deinen OpenSearch-Server sehen. Außerdem kannst du oben rechts den HTTP-Code„200 – OK“ sehen, der bestätigt, dass die Abfrage ohne Fehler ausgeführt wurde.

opensearch dashboards dev tools verify opensearch server

Damit hast du die Installation von OpenSearch Dashboards auf dem Debian-Server per Tarball abgeschlossen. Außerdem hast du OpenSearch Dashboard so konfiguriert, dass es sich mit dem OpenSearch-Server verbindet.

Fazit

In diesem Tutorial hast du OpenSearch über Tarball auf dem Debian 11 Server installiert. Außerdem hast du OpenSearch mit TLS-Zertifikaten abgesichert, die Authentifizierung und Autorisierung aktiviert und die Benutzer in OpenSearch konfiguriert. Außerdem hast du OpenSearch so konfiguriert, dass es als systemd-Dienst läuft und einen Debian Linux-Server für den Einsatz von OpenSearch optimiert.

Du hast auch die OpenSearch Dashboards per Tarball auf dem Debian-Server installiert. Du hast OpenSearch Dashboards so konfiguriert, dass es als systemd-Dienst läuft, OpenSearch Dashboards mit dem OpenSearch Server verbunden und die Authentifizierung aktiviert und die Installation von OpenSearch und OpenSearch Dashboards erfolgreich überprüft.

Mit dieser Einrichtung kannst du nun mehr über OpenSearch erfahren, indem du OpenSearch Cluster einsetzt, zusätzliche Authentifizierungen einrichtest und vieles mehr. Mehr über OpenSearch erfährst du in der offiziellen Dokumentation von OpenSearch.

Das könnte dich auch interessieren …