GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie den ELK-Stack (Elasticsearch, Logstash und Kibana) unter Ubuntu 18.04 / 20.04

Einführung

Der ELK-Stack ist eine Reihe von Anwendungen zum Abrufen und Verwalten von Protokolldateien.

Es ist eine Sammlung von drei Open-Source-Tools, Elasticsearch , Kibana und Logstash . Der Stack kann mit Beats weiter ausgebaut werden , ein leichtgewichtiges Plugin zum Aggregieren von Daten aus verschiedenen Datenströmen.

In diesem Tutorial erfahren Sie, wie Sie den ELK-Software-Stack auf Ubuntu 18.04/20.04 installieren.

Voraussetzungen

  • Ein Linux-System mit Ubuntu 20.04 oder 18.04
  • Zugriff auf ein Terminalfenster/eine Befehlszeile (Suche > Terminal )
  • Ein Benutzerkonto mit sudo oder root Privilegien
  • Java-Version 8 oder 11 (erforderlich für Logstash)

Schritt 1:Abhängigkeiten installieren

Installieren Sie Java

Für den ELK-Stack muss Java 8 installiert sein. Einige Komponenten sind mit Java 9 kompatibel, aber nicht mit Logstash.

Wenn Sie Java 8 bereits installiert haben, fahren Sie mit Nginx installieren fort.

1. Wenn Sie Java 8 nicht installiert haben, installieren Sie es, indem Sie ein Terminalfenster öffnen und Folgendes eingeben:

sudo apt-get install openjdk-8-jdk

2. Wenn Sie dazu aufgefordert werden, geben Sie y ein und drücken Sie Enter damit der Vorgang abgeschlossen werden kann.

Installieren Sie Nginx

Nginx fungiert als Webserver und Proxyserver. Es wird verwendet, um den passwortgeschützten Zugriff auf das Kibana-Dashboard zu konfigurieren.

1. Installieren Sie Nginx, indem Sie Folgendes eingeben:

sudo apt-get install nginx

2. Wenn Sie dazu aufgefordert werden, geben Sie y ein und drücken Sie Enter damit der Vorgang abgeschlossen werden kann.

Schritt 2:Elastisches Repository hinzufügen

Elastische Repositorys ermöglichen den Zugriff auf die gesamte Open-Source-Software im ELK-Stack. Um sie hinzuzufügen, importieren Sie zunächst den GPG-Schlüssel.

1. Geben Sie Folgendes in ein Terminalfenster ein, um den PGP-Schlüssel für Elastic zu importieren:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

2. Das System sollte mit OK antworten , wie im Bild unten zu sehen.


3. Als nächstes installieren Sie apt-transport-https Paket:

sudo apt-get install apt-transport-https

4. Fügen Sie das Elastic-Repository zur Repository-Liste Ihres Systems hinzu:

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee –a /etc/apt/sources.list.d/elastic-7.x.list

Schritt 3:Elasticsearch installieren

1. Aktualisieren Sie vor der Installation von Elasticsearch die Repositories, indem Sie Folgendes eingeben:

sudo apt-get update

2. Installieren Sie Elasticsearch mit dem folgenden Befehl:

sudo apt-get install elasticsearch

Elasticsearch konfigurieren

1. Elasticsearch verwendet eine Konfigurationsdatei, um zu steuern, wie es sich verhält. Öffnen Sie die Konfigurationsdatei zur Bearbeitung in einem Texteditor Ihrer Wahl. Wir werden nano:

verwenden
sudo nano /etc/elasticsearch/elasticsearch.yml

2. Sie sollten eine Konfigurationsdatei mit mehreren verschiedenen Einträgen und Beschreibungen sehen. Scrollen Sie nach unten, um die folgenden Einträge zu finden:

#network.host: 192.168.0.1
#http.port: 9200

3. Kommentieren Sie die Zeilen aus, indem Sie den Hash löschen (# ) unterzeichnen am Anfang beider Zeilen und ersetzen Sie 192.168.0.1 mit localhost .

Es sollte lauten:

network.host: localhost
http.port: 9200

4. Finden Sie direkt darunter die Discovery Sektion. Wir fügen eine weitere Zeile hinzu, da wir einen Single-Node-Cluster konfigurieren:

discovery.type: single-node

Weitere Einzelheiten finden Sie im Bild unten.

5. Standardmäßig JVM-Heap-Größe ist auf 1GB eingestellt. Wir empfehlen, ihn auf nicht mehr als die Hälfte Ihres Gesamtspeichers einzustellen. Öffnen Sie die folgende Datei zum Bearbeiten:

sudo nano /etc/elasticsearch/jvm.options

6. Suchen Sie die Zeilen, die mit -Xms beginnen und -Xmx . Im folgenden Beispiel ist das Maximum (-Xmx ) und Minimum (-Xms ) ist auf 512 MB festgelegt.

Elasticsearch starten

1. Starten Sie den Elasticsearch-Dienst, indem Sie systemctl ausführen Befehl:

sudo systemctl start elasticsearch.service

Es kann einige Zeit dauern, bis das System den Dienst startet. Bei Erfolg erfolgt keine Ausgabe.

2. Aktivieren Sie Elasticsearch, um beim Booten zu starten:

sudo systemctl enable elasticsearch.service

Elasticsearch testen

Verwenden Sie den curl Befehl, um Ihre Konfiguration zu testen. Geben Sie Folgendes ein:

curl -X GET "localhost:9200"

Der Name Ihres Systems sollte angezeigt werden, und ElasticSearch für den Clusternamen. Dies zeigt an, dass Elasticsearch funktionsfähig ist und auf Port 9200 lauscht .

Schritt 4:Kibana installieren

Es wird empfohlen, als nächstes Kibana zu installieren. Kibana ist eine grafische Benutzeroberfläche zum Analysieren und Interpretieren gesammelter Protokolldateien.

1. Führen Sie den folgenden Befehl aus, um Kibana zu installieren:

sudo apt-get install kibana

2. Warten Sie, bis der Vorgang abgeschlossen ist. Sobald Sie fertig sind, ist es an der Zeit, Kibana zu konfigurieren.

Kibana konfigurieren

1. Als nächstes öffnen Sie die kibana.yml Konfigurationsdatei zum Bearbeiten:

sudo nano /etc/kibana/kibana.yml

2. Löschen Sie # Zeichen am Anfang der folgenden Zeilen, um sie zu aktivieren:

#server.port: 5601
#server.host: "your-hostname"
#elasticsearch.hosts: ["http://localhost:9200"]

Die oben genannten Zeilen sollten wie folgt aussehen:

server.port: 5601
server.host: "localhost"
elasticsearch.hosts: ["http://localhost:9200"]

3. Speichern Sie die Datei (Strg+o ) und beenden (Strg+ x ).

Kibana starten und aktivieren

1. Starten Sie den Kibana-Dienst:

sudo systemctl start kibana

Es erfolgt keine Ausgabe, wenn der Dienst erfolgreich gestartet wird.

2. Als nächstes konfigurieren Sie Kibana so, dass es beim Booten gestartet wird:

sudo systemctl enable kibana

Verkehr auf Port 5601 zulassen

Wenn die UFW-Firewall auf Ihrem Ubuntu-System aktiviert ist, müssen Sie Datenverkehr auf Port 5601 zulassen um auf das Kibana-Dashboard zuzugreifen.

Führen Sie in einem Terminalfenster den folgenden Befehl aus:

sudo ufw allow 5601/tcp

Die folgende Ausgabe sollte anzeigen:

Kibana testen

Um auf Kibana zuzugreifen, öffnen Sie einen Webbrowser und navigieren Sie zur folgenden Adresse:

http://localhost:5601

Das Kibana-Dashboard wird geladen.

Wenn Sie eine „Kibana-Server noch nicht bereit“ erhalten überprüfen Sie, ob die Elasticsearch- und Kibana-Dienste aktiv sind.

Schritt 5:Logstash installieren

Logstash ist ein Tool, das Daten aus verschiedenen Quellen sammelt. Die gesammelten Daten werden von Kibana geparst und in Elasticsearch gespeichert.

Installieren Sie Logstash, indem Sie den folgenden Befehl ausführen:

sudo apt-get install logstash

Logstash starten und aktivieren

1. Starten Sie den Logstash-Dienst:

sudo systemctl start logstash

2. Aktivieren Sie den Logstash-Dienst:

sudo systemctl enable logstash

3. Führen Sie den folgenden Befehl aus, um den Status des Dienstes zu überprüfen:

sudo systemctl status logstash

Logstash konfigurieren

Logstash ist ein hochgradig anpassbarer Teil des ELK-Stacks. Konfigurieren Sie nach der Installation dessen INPUT , FILTER und AUSGABE Pipelines nach Ihrem individuellen Anwendungsfall.

Alle benutzerdefinierten Logstash-Konfigurationsdateien werden in /etc/logstash/conf.d/ gespeichert .

Schritt 6:Filebeat installieren

Dateischlag ist ein leichtgewichtiges Plugin zum Sammeln und Versenden von Protokolldateien. Es ist das am häufigsten verwendete Beats-Modul. Einer der Hauptvorteile von Filebeat ist, dass es langsamer wird, wenn der Logstash-Dienst mit Daten überlastet wird.

Installieren Sie Filebeat, indem Sie den folgenden Befehl ausführen:

sudo apt-get install filebeat

Warten Sie, bis die Installation abgeschlossen ist.

Filebeat konfigurieren

Filebeat sendet standardmäßig Daten an Elasticsearch. Filebeat kann auch so konfiguriert werden, dass Ereignisdaten an Logstash gesendet werden.

1. Um dies zu konfigurieren, bearbeiten Sie die filebeat.yml Konfigurationsdatei:

sudo nano /etc/filebeat/filebeat.yml

2. Unter der Elasticsearch o Ausgabe kommentieren Sie die folgenden Zeilen aus:

# output.elasticsearch:
   # Array of hosts to connect to.
   # hosts: ["localhost:9200"]

3. Unter der Logstash-Ausgabe Entfernen Sie das Hash-Zeichen (# ) in den folgenden zwei Zeilen:

# output.logstash
     # hosts: ["localhost:5044"]

Es sollte so aussehen:

output.logstash
     hosts: ["localhost:5044"]

Weitere Einzelheiten finden Sie im Bild unten.

4. Als nächstes aktivieren Sie das Filebeat-System Modul, das lokale Systemprotokolle untersucht:

sudo filebeat modules enable system

Die Ausgabe sollte Enabled system lauten .

5. Laden Sie als nächstes die Indexvorlage:

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

Das System erledigt einige Aufgaben, scannt Ihr System und stellt eine Verbindung zu Ihrem Kibana-Dashboard her.

Filebeat starten und aktivieren

Starten und aktivieren Sie den Filebeat-Dienst:

sudo systemctl start filebeat
sudo systemctl enable filebeat

Empfang von Daten durch Elasticsearch überprüfen

Überprüfen Sie abschließend, ob Filebeat Protokolldateien zur Verarbeitung an Logstash sendet. Nach der Verarbeitung werden die Daten an Elasticsearch gesendet.

curl -XGET http://localhost:9200/_cat/indices?v

Ubuntu
  1. So installieren Sie Elasticsearch, Logstash und Kibana (ELK Stack) unter CentOS 8

  2. So installieren Sie Elastic Stack (Elasticsearch, Logstash und Kibana) unter CentOS 8

  3. So installieren Sie Elasticsearch, Logstash und Kibana 4 auf Ubuntu 14.04 / 15.04

  4. So installieren Sie den ELK-Stack unter Ubuntu 16.04

  5. Installieren Sie Elasticsearch, Logstash und Kibana auf Ubuntu 20.04

So installieren Sie den ELK-Stack unter CentOS 8

So installieren Sie den ELK-Stack unter Ubuntu 18.04 LTS

So installieren Sie den ELK-Stack unter Ubuntu 20.04 LTS

So installieren Sie Elasticsearch Logstash Kibana (Elastic Stack) unter Ubuntu 18.04

So installieren Sie den ELK-Stack unter Debian 8

So installieren Sie den ELK-Stack unter Ubuntu 20.04