Der ELK-Stack besteht aus einer Reihe von Anwendungen zum Abrufen und Verwalten von Protokolldateien. In der Softwareentwicklungsbranche spielen Protokolldateien eine wichtige Rolle, um das Problem zu identifizieren und das Problem zu beheben. Der ELK-Stack ist eine Sammlung verschiedener Open-Source-Anwendungstools wie Elasticsearch , Kibana, und Logstash . ELK kann verwendet werden, um die Protokolle zu sammeln, zu durchsuchen und zu visualisieren, die aus jeder Quelle in jedem Muster mithilfe einer Abfrage generiert wurden. In diesem Artikel lernen wir, wie man den ELK-Stack unter Ubuntu und Debian installiert und konfiguriert.
Voraussetzungen:
- Neuer Ubuntu 20.04 oder Debian 10 Server
- Privilegiertes Root-Konto
- Richtige Internetverbindung
Installieren Sie Java
Die Installation des ELK-Stacks erfordert eine Java-Umgebung. Führen Sie den folgenden Befehl aus, um Java unter Ubuntu/Debian
zu installieren$ sudo apt install openjdk-8-jdk
Überprüfen Sie die Installation, indem Sie die Java-Version überprüfen
$ java -version
Ausgabe:
Installieren und konfigurieren Sie Elasticsearch
Sobald Java installiert ist, ist es jetzt an der Zeit, Elasticsearch zu installieren und zu konfigurieren. Da Elasticsearch-Pakete unter Ubuntu/Debian nicht standardmäßig verfügbar sind, müssen wir das apt-Repository von elasticsearch hinzufügen. Führen Sie den folgenden Befehl aus, um den GPG-Repository-Schlüssel hinzuzufügen.
$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Erstellen Sie nun die Repository-Datei mit dem Befehl.
$ echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
Sobald die Repository-Datei erstellt ist, kann Elasticsearch mit dem Befehl installiert werden.
$ sudo apt update
$ sudo apt install elasticsearch
Die Standardkonfigurationsdatei von Elasticsearch befindet sich unter /etc/elasticsearch/elasticsearch.yml . Verwenden Sie einen beliebigen Texteditor und kommentieren Sie die Zeilen aus:
network.host: localhost
http.port: 9200
Elasticsearch starten und aktivieren
$ sudo systemctl start elasticsearch
$ sudo systemctl enable elasticsearch
Führen Sie den folgenden Befehl aus, um den Status und die Details von Elasticsearch anzuzeigen
$ curl -X GET "localhost:9200"
Ausgabe:
Logstash installieren und konfigurieren
Das Logstash-Paket ist standardmäßig in Ubuntu/Debian-Systemen verfügbar. Führen Sie zur Installation den folgenden Befehl aus.
$ sudo apt install logstash
Starten und aktivieren Sie den Dienst
$ sudo systemctl start logstash
$ sudo systemctl enable logstash
Überprüfen Sie den Dienst mit dem Befehl
$ systemctl status logstash
Das Standardkonfigurationsverzeichnis von logstash ist /etc/logstash/conf.d/ . Sobald die Installation abgeschlossen ist INPUT , FILTER und AUSGABE Pipelines können basierend auf den erforderlichen Anwendungsfällen konfiguriert werden.
Kibana installieren und konfigurieren
Kibana ist ein webbasiertes GUI-Tool, das zum Analysieren und Parsen der gesammelten Protokolle verwendet wird. Kibana ist im Standard-Repository von Ubuntu/Debian verfügbar. Führen Sie den folgenden Befehl aus, um das Paket zu installieren.
$ sudo apt install kibana
Gehen Sie zum Konfigurieren von Kibana in das Standardkonfigurationsverzeichnis und kommentieren Sie die folgenden Zeilen aus
$ sudo vim /etc/kibana/kibana.yml
server.port: 5601 server.host: "localhost" elasticsearch.hosts: ["http://localhost:9200"]
Starten und aktivieren Sie den Dienst
$ sudo systemctl start kibana
$ sudo systemctl enable kibana
Lassen Sie den Kibana-Port in der Firewall zu
$ sudo ufw allow 5601/tcp
Greifen Sie nun über die URL http://localhost:5601
auf das Kibana-Dashboard zu
Filebeat installieren und konfigurieren
Filebeat wird zum Senden von Protokollen an Elasticsearch und Logstash zum Parsen verwendet. Filebeat ist standardmäßig im Ubuntu/Debian-Repository verfügbar. Führen Sie zur Installation den folgenden Befehl aus.
$ sudo apt install filebeat -y
Um den Filebeat zu konfigurieren, gehen Sie in das Standardkonfigurationsverzeichnis und kommentieren Sie Folgendes aus.
$ sudo vim /etc/filebeat/filebeat.yml
# output.elasticsearch: # Array of hosts to connect to . # hosts: ["localhost:9200"]
Entkommentieren Sie die folgende Zeile und speichern Sie die Datei
output.logstash: hosts: [“localhost:5044”]
Aktivieren Sie im nächsten Schritt das Filebeat-Systemmodul
$ sudo filebeat modules enable system
Führen Sie nun den folgenden Befehl aus, um die Indexvorlage zu laden
$ sudo filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'
Filebeat-Dienst starten und aktivieren
$ sudo systemctl start filebeat
$ sudo systemctl enable filebeat
Überprüfen Sie den Status
$ sudo systemctl status filebeat
Schlussfolgerung
In diesem Artikel habe ich behandelt, wie man den ELK-Stack auf Debian/Ubuntu richtig installiert und konfiguriert. Außerdem haben wir gelernt, wie man verschiedene Komponenten wie Kibana, Logstash und Kibana verwendet, um die Protokolle aus beliebigen Quellen zu analysieren und zu visualisieren.