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:
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:
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:
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:
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:
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.
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.
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:
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:
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:
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
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.
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
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:
Wenn du die OpenSearch-Konfigurationsdatei ‚/opt/opensearch/config/opensearch.yml‘ überprüfst, solltest du die neuen Einstellungen wie folgt am Ende der Konfigurationsdatei sehen.
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
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:
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.
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 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:
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
Ausgabe – authentifiziert als‚kibanaserver‚-Benutzer.
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:
Ü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:
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.
Für den Benutzer kibanaserver.
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:
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
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.
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
Ü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.
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.
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.
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„.
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.
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.