Elastic Stack · 10 min read · Nov 11, 2025

So installieren Sie den Elastic Stack auf Ubuntu 20.04 LTS

Der Elastic Stack (früher ELK Stack) ist eine Gruppe von Open-Source-Software, die von Elastic entwickelt wurde, um Daten aus verschiedenen Quellen zu sammeln. Er ermöglicht es Ihnen, Daten aus verschiedenen Quellen in jedem Format auf der zentralen Elastic Stack-Plattform zu sammeln, zu speichern, zu verarbeiten, zu analysieren und zu visualisieren.

Der Elastic Stack besteht aus mehreren Softwarepaketen: “Elasticsearch” zum Speichern Ihrer Daten, “Kibana” als Dashboard zum Zugreifen auf und Visualisieren Ihrer Daten, der dynamischen Datenpipeline “Logstash” mit erweiterbaren Plugins zur Verarbeitung beliebiger Daten und “Beats” als leichtgewichtige Datenversandplattform, die Daten von Edge-Maschinen sendet.

Der Elastic Stack kann auf Versprechen auf Ihrem Server bereitgestellt werden oder Sie können die SaaS (Software as a Service) offizielle Elastic Cloud erwerben.

In diesem Tutorial zeigen wir Ihnen, wie Sie den Elastic Stack auf einem Ubuntu 20.04-Server installieren. Wir werden Elasticsearch und Kibana auf demselben Server installieren und dann “Filebeat” auf dem anderen Server installieren und konfigurieren, um Protokolle direkt an den Elasticsearch-Server zu senden.

Anforderungen

Für dieses Tutorial verwenden wir zwei Server, die Ubuntu 20.04 ausführen. Die Elastic Stack-Software wird auf dem Server mit 4 GB RAM installiert, und wir verwenden einen anderen Server mit 1 GB als Client für Filebeat.

Was werden wir tun?

  • Elastic Stack-Repository hinzufügen
  • Elasticsearch installieren und konfigurieren
  • Kibana installieren und konfigurieren
  • Nginx als Reverse Proxy für Kibana einrichten
  • Filebeat installieren und konfigurieren
  • Neue Rolle für Kibana-Benutzer einrichten
  • Neues Indexmuster für Filebeat erstellen

Schritt 1 - Elastic Stack-Repository hinzufügen

Zuerst fügen wir den GPG-Schlüssel und das Repository der Elastic Stack-Software zu beiden Ubuntu-Servern hinzu.

Bevor wir fortfahren, installieren Sie ‘apt-transport-https’, um Ihre Softwareinstallation über eine HTTPS-sichere Verbindung abzusichern.

sudo apt install apt-transport-https

Fügen Sie als Nächstes den GPG-Schlüssel und das Repository des Elastic Stacks mit dem folgenden Befehl hinzu.

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -  
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

Jetzt aktualisieren Sie alle verfügbaren Repositories auf dem Ubuntu-System.

sudo apt update

Und Sie sind bereit, die gesamte Elastic-Software auf beiden Servern zu installieren.

Elastic-Repository hinzufügen

Schritt 2 - Elasticsearch installieren und konfigurieren

In diesem Schritt installieren und konfigurieren wir Elasticsearch auf dem Einzelknoten-Server ‘ELK20’ mit der internen IP-Adresse ‘172.16.0.3’.

Bevor Sie Elasticsearch installieren, bearbeiten Sie die Datei ‘/etc/hosts’ mit dem vim-Editor.

vim /etc/hosts

Geben Sie jetzt Ihren Hostnamen mit der internen IP-Adresse wie unten ein.

172.16.0.3    ELK20

Speichern und schließen.

Als Nächstes installieren Sie das Elasticsearch-Paket mit dem folgenden apt-Befehl.

sudo apt install elasticsearch

Sobald die gesamte Installation abgeschlossen ist, gehen Sie in das Verzeichnis ‘/etc/elasticsearch’ und bearbeiten Sie die Konfigurationsdatei ‘elasticsearch.yml’.

cd /etc/elasticsearch/  
vim elasticsearch.yml

Kommentieren Sie ‘node.name’ aus und geben Sie Ihren Server-Hostnamen ein.

node.name: ELK20

Geben Sie in der Zeile ‘network.host’ die IP-Adresse des Servers ein, auf dem der Elasticsearch-Dienst ausgeführt wird, und es wird empfohlen, nur die interne IP-Adresse zu verwenden.

network.host: 172.16.0.3

Kommentieren Sie die Zeile ‘http.port’ aus und lassen Sie sie auf dem Standardwert, der Elasticsearch-Dienst wird auf dem Standardport ‘9200’ ausgeführt.

http.port: 9200

Kommentieren Sie die Zeile ‘cluster.initial_master_nodes’ aus und geben Sie Ihren Server-Hostnamen ein.

cluster.initial_master_nodes: ["ELK20"]

Und zuletzt aktivieren Sie die Elasticsearch-Sicherheit, indem Sie die folgende Konfiguration am Ende der Zeile hinzufügen.

xpack.security.enabled: true

Speichern und schließen.

Laden Sie als Nächstes den Systemd-Dienstmanager neu, starten Sie dann den Elasticsearch-Dienst und fügen Sie ihn zum Systemstart hinzu.

systemctl daemon-reload  
systemctl start elasticsearch  
systemctl enable elasticsearch

Der Elasticsearch-Dienst läuft auf dem Ubuntu 20.04-Server.

Elasticsearch installieren und konfigurieren

Als Nächstes generieren wir das Passwort für den integrierten Benutzer auf Elasticsearch.

Gehen Sie in das Verzeichnis ‘/usr/share/elasticsearch’ und führen Sie den Elasticsearch-Dienstbefehl ‘elasticsearch-setup-passwords’ wie unten aus.

cd /usr/share/elasticsearch/  
bin/elasticsearch-setup-passwords auto -u "http://172.16.0.3:9200"

Geben Sie ‘y’ ein, um zu bestätigen und das Passwort zu generieren.

Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.  
The passwords will be randomly generated and printed to the console.  
Please confirm that you would like to continue [y/N] y

Unten sehen Sie das Ergebnis, das Sie erhalten werden.

Changed password for user apm_system  
PASSWORD apm_system = DP5RpFfbCyL6UpIFO8Q3  
  
Changed password for user kibana_system  
PASSWORD kibana_system = U6gDLoJCqqChqcbD1IYV  
  
Changed password for user kibana  
PASSWORD kibana = U6gDLoJCqqChqcbD1IYV  
  
Changed password for user logstash_system  
PASSWORD logstash_system = KrHaGvHGfkAz12dcSeWo  
  
Changed password for user beats_system  
PASSWORD beats_system = VnUUOtShQoFAGEZ62G7m  
  
Changed password for user remote_monitoring_user  
PASSWORD remote_monitoring_user = xgaLXw6jp3Ses6CZ2hEB  
  
Changed password for user elastic  
PASSWORD elastic = elu2ZlMm4mOkM7fgCeUM

Wie zu sehen ist, wurde das Passwort für einige integrierte Benutzer auf Elasticsearch generiert.

Gambar

Um unsere Elasticsearch-Installation zu testen, führen Sie den curl-Befehl mit dem Standardbenutzer ‘elastic‘ wie unten aus.

curl -X GET -u elastic "http://172.16.0.3:9200/?pretty"

Geben Sie das Passwort für den Benutzer ‘elastic‘ ein, und unten sehen Sie das Ergebnis, das Sie erhalten werden.

Testen der Elasticsearch-Authentifizierung

Als Ergebnis läuft der Elasticsearch-Server mit aktivierter Authentifizierung.

Schritt 3 - Kibana installieren und konfigurieren

In diesem Schritt installieren und konfigurieren wir Kibana auf demselben Server wie Elasticsearch. Wir verbinden Kibana mit dem Elasticsearch-Server mit dem Standardbenutzer ‘kibana_system’ und dem oben generierten Passwort.

Installieren Sie Kibana mit dem folgenden apt-Befehl.

sudo apt install kibana

Sobald die gesamte Installation abgeschlossen ist, gehen Sie in das Verzeichnis ‘/etc/kibana’ und bearbeiten Sie die Konfigurationsdatei ‘kibana.yml’ mit dem vim-Editor.

cd /etc/kibana/  
vim kibana.yml

Kommentieren Sie die folgenden Zeilen aus und ändern Sie die Werte mit Ihren eigenen. Es wird empfohlen, Kibana im lokalen Netzwerk auszuführen, da wir Nginx als Reverse Proxy für Kibana verwenden werden.

server.port: 5601  
server.host: "172.16.0.3"  
server.name: "ELK20"

Ändern Sie danach die ‘elasticsearch.url’ mit Ihrer Elasticsearch-IP-Adresse.

elasticsearch.url: "http://172.16.0.3:9200"

Kommentieren Sie die folgenden Zeilen “elasticsearch.username” und “elasticsearch.password” aus und ändern Sie die Details mit dem Benutzer und Passwort mit Ihren eigenen.

elasticsearch.username: "kibana_system"  
elasticsearch.password: "N88VBkkelfSV3mBfO6Vh"

Speichern und schließen.

Laden Sie als Nächstes den Systemd-Manager mit dem folgenden Befehl neu.

systemctl daemon-reload

Starten Sie danach den Kibana-Dienst und fügen Sie ihn zum Systemstart hinzu.

systemctl start kibana  
systemctl enable kibana

Und der Kibana-Dienst läuft auf dem Ubuntu 20.04-System.

Kibana installieren und konfigurieren

Als Nächstes erstellen wir einen neuen Benutzer, der zum Anmelden im Kibana-Dashboard verwendet wird.

Erstellen Sie einen neuen Benutzer mit dem Namen ‘hakase’ und dem Passwort ‘hakasepasskibana’ mit der Rolle ‘kibana_admin’ wie unten.

curl -X POST -u elastic "http://172.16.0.3:9200/_security/user/hakase?pretty" -H 'Content-Type: application/json' -d'  
{  
  "password" : "hakasepasskibana",  
  "roles" : [ "kibana_admin" ]  
}  
'

Geben Sie das Passwort für den Benutzer ‘elastic’ ein, und Sie erhalten das Ergebnis wie unten.

Kibana-Benutzer mit der Rolle kibana_admin erstellen

Als Ergebnis wurde der neue Benutzer ‘hakase’ erstellt und kann sich im Kibana-Dashboard anmelden.

Schritt 4 - Nginx als Reverse Proxy für Kibana einrichten

In diesem Schritt installieren und konfigurieren wir Nginx als Reverse Proxy für Kibana.

Installieren Sie die Nginx-Pakete mit dem folgenden apt-Befehl.

sudo apt install nginx -y

Sobald die gesamte Installation abgeschlossen ist, gehen Sie in das Verzeichnis ‘/etc/nginx/sites-available/‘ und erstellen Sie eine neue virtuelle Host-Datei ‘kibana’ mit dem vim-Editor.

cd /etc/nginx/sites-available/  
vim kibana

Ändern Sie den Domainnamen und die ‘proxy_pass’-IP-Adresse mit Ihren eigenen und fügen Sie sie ein.

server {  
    listen 80;  
   
    server_name elk.hakase-labs.io;  
   
    location / {  
        proxy_pass http://172.16.0.3:5601;  
        proxy_http_version 1.1;  
        proxy_set_header Upgrade $http_upgrade;  
        proxy_set_header Connection 'upgrade';  
        proxy_set_header Host $host;  
        proxy_cache_bypass $http_upgrade;  
    }  
}

Speichern und schließen.

Aktivieren Sie als Nächstes den Nginx-virtuellen Host für Kibana und überprüfen Sie die Nginx-Konfiguration.

ln -s /etc/nginx/sites-available/kibana /etc/nginx/sites-enabled/  
ginx -t

Stellen Sie sicher, dass es keinen Fehler gibt, und starten Sie dann den Nginx-Dienst neu.

systemctl restart nginx

Als Ergebnis wurde die Installation und Konfiguration von Nginx als Reverse Proxy für Kibana abgeschlossen. Und das Kibana-Dashboard ist jetzt über den Domainnamen ‘elk.hakase-labs.io’ zugänglich.

Nginx als Reverse Proxy für Kibana einrichten

Öffnen Sie Ihren Webbrowser und geben Sie den Domainnamen Ihrer Kibana-Installation in die Adresszeile ein.

http://elk.hakase-labs.io/

Und Sie erhalten die Anmeldeseite von Kibana wie unten.

Kibana-Anmeldeseite

Geben Sie den Benutzer ‘hakase’ mit dem Passwort ‘hakasepass’ ein und klicken Sie auf die Schaltfläche ‘Anmelden‘.

Sobald Sie sich angemeldet haben, werden Sie aufgefordert, die Beispieldaten zu importieren oder Ihre Daten zu erkunden.

Kibana-Option auswählen, um Daten zu erkunden

Klicken Sie auf die Schaltfläche ‘Meine eigenen Daten erkunden‘.

Jetzt erhalten Sie das Kibana-Dashboard wie unten.

Kibana-Dashboard

Als Ergebnis wurde die Installation von Kibana und Nginx abgeschlossen.

Schritt 5 - Filebeat installieren und konfigurieren

In diesem Schritt installieren wir “Filebeat” auf der Client-Maschine mit dem Hostnamen “client01” und der IP-Adresse “xxx.xxx.xxx.xxx”. Filebeat wird Protokolle direkt an den Elasticsearch-Server senden.

Bevor Sie “Filebeat” installieren, stellen Sie sicher, dass das Elastic Stack-Repository zu Ihrem System hinzugefügt wurde.

Jetzt installieren Sie das Filebeat-Paket mit dem folgenden apt-Befehl.

sudo apt install filebeat

Sobald die gesamte Installation abgeschlossen ist, gehen Sie in das Verzeichnis ‘/etc/filebeat’ und bearbeiten Sie die Konfigurationsdatei ‘filebeat.yml’ mit dem vim-Editor.

cd /etc/filebeat/  
vim filebeat.yml

Ändern Sie oben in der Konfiguration ‘filebeat.inputs’ ‘enabled: false’ in ‘enabled: true’ wie unten.

filebeat.inputs:  
- type: log  
  enabled: true  
  paths:  
    - /var/log/*.log

Bewegen Sie sich als Nächstes zur Kibana-Konfiguration und ändern Sie den Host mit der Kibana-IP-Adresse und dem Port, ändern Sie den Benutzernamen mit dem Standardbenutzer ‘kibana’ und das Passwort, das oben generiert wurde.

setup.kibana:  
  host: "172.16.0.3:5601"  
  username: "kibana"    
  password: "U6gDLoJCqqChqcbD1IYV"

Danach wechseln Sie zur Konfiguration ‘output.elasticsearch’ und ändern die Details mit Ihren eigenen.

output.elasticsearch:  
  hosts: ["172.16.0.3:9200"]  
  username: "elastic"  
  password: "elu2ZlMm4mOkM7fgCeUM"

Speichern und schließen.

Laden Sie jetzt den Systemd-Manager neu, starten Sie den Filebeat-Dienst und fügen Sie ihn zum Systemstart hinzu.

systemctl daemon-reload  
  
systemctl start filebeat  
systemctl enable filebeat

Der Filebeat-Dienst läuft auf der Maschine “client01“.

Filebeat installieren und konfigurieren

Als Nächstes müssen wir die Filebeat-Indexvorlage auf den Elasticsearch-Server mit dem folgenden Befehl laden.

filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["http://172.16.0.3:9200"]'

Unten sehen Sie das Ergebnis, das Sie erhalten werden.

Als Ergebnis wurde die Filebeat-Indexvorlage auf den Elasticsearch-Server geladen, und sie wird im Kibana-Dashboard als ‘filebeat-*’ Indexmuster verfügbar sein.

Schritt 6 - Neue Rolle für Kibana-Benutzer einrichten

In diesem Schritt erstellen wir eine neue Elasticsearch-Rolle, die es unserem Benutzer ‘hakase’ ermöglicht, auf alle Indizes auf dem Elasticsearch-Server über die Elasticsearch-API zuzugreifen und diese zu verwalten.

Erstellen Sie eine neue Rolle mit dem Namen ‘events_index‘, die es Benutzern nur erlaubt, Indizes auf dem Elasticsearch-Server zu verwalten, mit dem folgenden Befehl.

curl -XPOST -u elastic 'http://172.16.0.3:9200/_security/role/events_index' -H "Content-Type: application/json" -d '{  
  "indices" : [  
    {  
      "names" : [ "*" ],  
      "privileges" : [ "all" ]  
    }  
  ]  
}'

Neue Rolle Elasticsearch erstellen

Überprüfen Sie danach die Rolle ‘events_index‘ mit dem folgenden Befehl.

curl -X GET -u elastic "http://172.16.0.3:9200/_security/role/events_index?pretty"

Unten sehen Sie das Ergebnis, das Sie erhalten werden.

Rolle Elasticsearch überprüfen

Wie zu sehen ist, hat die Rolle ‘events_index’ nur die Berechtigungen zur Verwaltung von Indizes.

Fügen Sie als Nächstes die Rolle ‘events_index’ zu unserem Benutzer ‘hakase’ mit dem folgenden Befehl hinzu.

curl -X POST -u elastic "http://172.16.0.3:9200/_security/user/hakase?pretty" -H 'Content-Type: application/json' -d'  
{  
  "password" : "hakasepasskibana",  
  "roles" : [ "kibana_admin", "events_index" ]  
}  
'

Geben Sie das Passwort für den Benutzer ‘elastic‘ ein, und die Rolle ‘events_index‘ wurde dem Benutzer ‘hakase‘ zugewiesen.

Überprüfen Sie alle verfügbaren Rollen unter dem Benutzer ‘hakase’ mit dem folgenden Befehl.

curl -X GET -u elastic "http://172.16.0.3:9200/_security/user/hakase?pretty"

Unten sehen Sie das Ergebnis, das Sie erhalten werden.

Rolle dem Benutzer Elasticsearch zuweisen

Als Ergebnis haben wir eine neue Rolle zum Verwalten von Indizes auf dem Elasticsearch-Server erstellt.

Schritt 7 - Neues Indexmuster für Filebeat erstellen

Nachdem wir eine neue Rolle mit dem Namen ‘events_index’ erstellt haben, werden wir ein neues Indexmuster für Filebeat über den Benutzer ‘hakase‘ erstellen.

- Indexmuster erstellen

Klicken Sie im Kibana-Dashboard auf die linke Menüoption, wechseln Sie zum Abschnitt “Verwaltung“ und klicken Sie auf “Stack-Verwaltung“.

Klicken Sie im Abschnitt “Kibana“ auf “Indexmuster“.

Kibana-Indexmuster erstellen

Klicken Sie auf die Schaltfläche “Indexmuster erstellen”, um ein neues Indexmuster zu erstellen.

Geben Sie im Feld “Indexmuster” “filebeat-*“ ein und klicken Sie auf die Schaltfläche “Nächster Schritt“.

Filebeat-Indexmuster in Kibana erstellen

Wählen Sie im Feld “Zeitfilterfeldname” “@timestamp“ aus und klicken Sie auf die Schaltfläche “Indexmuster erstellen“.

Zeitstempel als Standardfilter einrichten

Und das “filebeat-*“ Indexmuster wurde erstellt und als Standardindexmuster ausgewählt (wenn Sie zuvor kein Indexmuster hatten).

Filebeat-Indexmuster wurde erstellt

- Daten in Kibana anzeigen

Um die von Filebeat gesammelten Daten anzuzeigen, klicken Sie auf das Optionsmenü oben links und dann auf “Entdecken“.

Und Sie erhalten alle Daten, die von Filebeat von der Maschine “client01“ gesammelt wurden.

Daten auf der Maschine client01 im Kibana-Dashboard angezeigt

Um Daten basierend auf Ihrem Filter anzuzeigen, können Sie die “KQL“ oder Kibana Query Language verwenden.

Geben Sie die folgende Abfrage im Feld “KQL“ ein.

host.name : client01 and log.file.path: "/var/log/auth.log"

Und Sie erhalten alle Informationen über die SSH-Authentifizierung auf der Maschine “client01”.

Verwendung von KQL Kibana Query Language

Als Ergebnis wurde die Installation des Elastic Stack mit aktivierter Sicherheit auf Ubuntu 20.04 erfolgreich abgeschlossen.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.