Der ELK-Stack ist ein Akronym für drei beliebte Open-Source-Projekte:Elasticsearch, Logstash und Kibana. Es ist eine Open-Source- und eine der beliebtesten Protokollverwaltungsplattformen, die Daten aus mehreren Datenquellen sammelt, verarbeitet und visualisiert. Es wird hauptsächlich zur Protokollanalyse in IT-Umgebungen verwendet. Für einen Systemadministrator ist es sehr hilfreich, große Datenmengen zu durchsuchen und zu analysieren, um jederzeit Entscheidungen in Echtzeit treffen zu können.
Elasticsearch:Es ist eine Suchmaschine, die verwendet wird, um alle gesammelten Daten zu speichern.
Kibana:Es bietet eine webbasierte Schnittstelle, die zum Suchen und Visualisieren Ihrer Daten verwendet wird.
Logstash:Es ist eine Datenverarbeitungsschnittstelle, die verwendet wird um Daten aus mehreren Quellen gleichzeitig zu sammeln und die Daten dann an Ihren gewünschten Speicher zu senden.
In diesem Tutorial erklären wir, wie der ELK-Stack auf einem Ubuntu 20.04-Server installiert und konfiguriert wird.
Voraussetzungen
- Ein Ubuntu 20.04 VPS (wir verwenden unser NVMe 8 VPS-Hosting-Paket)
- Zugriff auf das Root-Benutzerkonto (oder Zugriff auf ein Administratorkonto mit Root-Rechten)
Melden Sie sich beim Server an und aktualisieren Sie die Serverbetriebssystempakete
Melden Sie sich zunächst über SSH als Root-Benutzer bei Ihrem Ubuntu 20.04-Server an:
ssh root@IP_Address -p Port_number
Sie müssen „IP_Address“ und „Port_number“ durch die jeweilige IP-Adresse und SSH-Portnummer Ihres Servers ersetzen. Ersetzen Sie außerdem „root“ gegebenenfalls durch den Benutzernamen des Administratorkontos.
Bevor Sie beginnen, müssen Sie sicherstellen, dass alle auf dem Server installierten Ubuntu-Betriebssystempakete auf dem neuesten Stand sind. Sie können dies tun, indem Sie die folgenden Befehle ausführen:
apt-get update -y apt-get upgrade -y
Erforderliche Abhängigkeiten installieren
Bevor Sie beginnen, müssen Sie Java und andere erforderliche Abhängigkeiten auf Ihrem Server installieren. Sie können alle mit dem folgenden Befehl installieren:
apt-get install openjdk-11-jdk wget apt-transport-https curl gnupg2 -y
Sobald alle Pakete installiert sind, überprüfen Sie die installierte Version von Java mit dem folgenden Befehl:
java -version
Sie sollten die folgende Ausgabe erhalten:
openjdk version "11.0.9.1" 2020-11-04 OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04) OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
Elasticsearch installieren
Standardmäßig ist Elasticsearch nicht im Ubuntu-Standard-Repository verfügbar. Sie müssen also das Elasticsearch-Repository zu Ihrem System hinzufügen.
Fügen Sie zuerst den Elasticsearch-Signaturschlüssel mit dem folgenden Befehl hinzu:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
Als nächstes fügen Sie das Repository mit dem folgenden Befehl hinzu:
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list
Sobald das Repository hinzugefügt wurde, aktualisieren Sie das Repository und installieren Sie das Elasticsearch-Paket mit dem folgenden Befehl:
apt-get update -y apt-get install elasticsearch -y
Sobald Elasticsearch installiert ist, starten Sie den Elasticsearch-Dienst und ermöglichen Sie ihm, beim Systemneustart zu starten:
systemctl start elasticsearch systemctl enable elasticsearch
An diesem Punkt wird Elasticsearch gestartet und überwacht Port 9200. Sie können dies mit dem folgenden Befehl überprüfen:
ss -antpl | grep 9200
Sie sollten die folgende Ausgabe erhalten:
LISTEN 0 4096 [::ffff:127.0.0.1]:9200 *:* users:(("java",pid=27757,fd=257)) LISTEN 0 4096 [::1]:9200 [::]:* users:(("java",pid=27757,fd=256))
Sie können die Elasticsearch auch überprüfen, indem Sie eine HTTP-Anfrage senden:
curl -X GET http://localhost:9200
Sie sollten die folgende Ausgabe erhalten:
{ "name" : "ubuntu2004", "cluster_name" : "elasticsearch", "cluster_uuid" : "LhG8-a_eQHyyoRAlQQXBTQ", "version" : { "number" : "7.10.0", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "51e9d6f22758d0374a0f3f5c6e8f3a7997850f96", "build_date" : "2020-11-09T21:30:33.964949Z", "build_snapshot" : false, "lucene_version" : "8.7.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
Logstash installieren und konfigurieren
Logstash ist eine Log-Parsing-Software, die verwendet wird, um Logs zu sammeln und sie auf Elasticsearch zu speichern. Sie können es einfach mit dem folgenden Befehl installieren:
apt-get install logstash -y
Sobald Logstash installiert ist, müssen Sie die Eingabe-, Filter- und Ausgabe-Plugins konfigurieren. Sie können es konfigurieren, indem Sie eine neue Konfigurationsdatei im Verzeichnis /etc/logstash/conf.d/ erstellen:
nano /etc/logstash/conf.d/logstash.conf
Fügen Sie die folgenden Zeilen hinzu:
#Specify listening port for incoming logs from the beats input { beats { port => 5044 } } # Used to parse syslog messages and send it to Elasticsearch for storing filter { if [type] == "syslog" { grok { match => { "message" => "%{SYSLOGLINE}" } } date { match => [ "timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ] } } } # Specify an Elastisearch instance output { elasticsearch { hosts => ["localhost:9200"] index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" } }
Speichern und schließen Sie die Datei, starten Sie dann Logstash und aktivieren Sie es, um beim Systemneustart zu starten.
systemctl start logstash systemctl enable logstash
Kibana installieren und konfigurieren
Kibana visualisiert die auf Elasticsearch gespeicherten Daten über eine webbasierte Schnittstelle. Sie können es mit dem folgenden Befehl installieren:
apt-get install kibana -y
Standardmäßig lauscht Kibana auf localhost. Sie müssen es also für den externen Zugriff konfigurieren. Sie können es konfigurieren, indem Sie die Datei /etc/kibana/kibana.yml:
bearbeitennano /etc/kibana/kibana.yml
Ändern Sie die folgenden Zeilen:
server.host: "your-server-ip" elasticsearch.hosts: ["http://localhost:9200"]
Speichern und schließen Sie die Datei, starten Sie dann den Kibana-Dienst und ermöglichen Sie ihm, beim Systemneustart zu starten:
systemctl start kibana systemctl enable kibana
Filebeat installieren und konfigurieren
Filebeat wird verwendet, um Protokolle zum Parsen an Logstash oder Elasticsearch zu senden. In diesem Abschnitt werden wir Filebeat installieren und konfigurieren, um Protokolle an Logstash zu senden.
Sie können es mit dem folgenden Befehl installieren:
apt-get install filebeat -y
Bearbeiten Sie nach der Installation die Hauptkonfigurationsdatei von Filebeat und konfigurieren Sie sie so, dass Protokolle an Logstash gesendet werden.
nano /etc/filebeat/filebeat.yml
Kommentieren Sie die folgenden Zeilen aus:
#output.elasticsearch: # Array of hosts to connect to. # hosts: ["localhost:9200"]
Entkommentieren Sie die folgenden Zeilen:
output.logstash: hosts: ["localhost:5044"]
Speichern und schließen Sie die Datei, starten Sie dann den Filebeat-Dienst und ermöglichen Sie ihm, beim Systemneustart zu starten:
systemctl start filebeat systemctl enable filebeat
Aktivieren Sie als Nächstes das Filebeat-Systemmodul, das lokale Systemprotokolle untersucht:
filebeat modules enable system
Laden Sie als Nächstes die Indexvorlage mit dem folgenden Befehl:
filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'
Ü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
Sie sollten die folgende Ausgabe erhalten:
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size yellow open filebeat-7.10.0-2020.12.06-000001 hkQTgSbhSKqwYV-L6Dirtg 1 1 0 0 208b 208b green open .apm-custom-link GZekuSDGSh2h3cyaUh-Kuw 1 0 0 0 208b 208b green open .kibana_task_manager_1 wsc1qi8-S6W7xiU6Gb8IUA 1 0 5 23 125.3kb 125.3kb green open .apm-agent-configuration OQ0CeuK0R7mXtevKccGjlQ 1 0 0 0 208b 208b green open .kibana-event-log-7.10.0-000001 qt1r0hCbRb6-vYd5UsJVGA 1 0 2 0 11kb 11kb green open .kibana_1 s7LrkbyERnSezRhyJf-GLw 1 0 9 0 10.3mb 10.3mb
Zugriff auf die Kibana-Weboberfläche
Standardmäßig überwacht Kibana Port 5601 . Sie erreichen ihn über die URL http://your-server-ip:5601
. Sie sollten das Kibana-Dashboard auf dem folgenden Bildschirm sehen:
Klicken Sie nun auf Selbst erkunden . Sie sollten den folgenden Bildschirm sehen:
Herzliche Glückwünsche! Sie haben ELK Stack erfolgreich auf dem Ubuntu 20.04-Server installiert.
Natürlich müssen Sie nichts davon tun, wenn Sie einen unserer Linux-VPS-Hosting-Dienste nutzen. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, dies für Sie einzurichten. Sie sind rund um die Uhr erreichbar und kümmern sich umgehend um Ihr Anliegen.
PS . Wenn Ihnen dieser Beitrag gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen auf der linken Seite oder hinterlassen Sie einfach unten eine Antwort. Danke.