Der ELK-Stack ist eine Datenanalyseplattform mit vollem Funktionsumfang und besteht aus Elasticsearch, Logstash und dem Open-Source-Tool Kibana. Es hilft Ihnen, Protokolle zentral zu speichern und zu verwalten, und gibt Ihnen die Möglichkeit, die Probleme zu analysieren.
Dieser Artikel hilft Ihnen bei der Installation des ELK-Stacks unter Debian 10 / Debian 9.
Installieren Sie den ELK-Stack
Elasticsearch – Es speichert eingehende Protokolle von Logstash und bietet die Möglichkeit, die Protokolle/Daten in Echtzeit zu durchsuchen
Logstash – Verarbeitung (Sammeln, Anreichern und Senden an Elasticsearch) von eingehenden Protokollen, die von Beats (Forwarder) gesendet werden.
Kibana – Bietet Visualisierung von Ereignissen und Protokollen.
Beats – Wird auf Client-Rechnern installiert und sendet Protokolle über das Beats-Protokoll an Logstash oder Elasticsearch.
Installieren Sie Java
Elasticsearch erfordert entweder OpenJDK oder Oracle JDK, das auf Ihrem Computer verfügbar ist. Hier verwende ich für diese Demo OpenJDK.
sudo apt updatesudo apt install -y openjdk-11-jre
Überprüfen Sie die Java-Version.
Java-Version
Ausgabe:
openjdk version „11.0.7“ 2020-04-14OpenJDK Runtime Environment (build 11.0.7+10-post-Debian-3deb10u1)OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Debian-3deb10u1 , gemischter Modus, Teilen)
Wenn Sie OracleJDK verwenden möchten, lesen Sie:
LESEN:So installieren Sie Oracle Java unter Debian 10 / Debian 9
Elastic-Repository hinzufügen
Installieren Sie wget und HTTPS-Unterstützung für apt.
sudo apt install -y wget apt-transport-https curl
ELK-Pakete können aus dem Elastic-Repository bezogen werden.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -echo "deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
Elasticsearch installieren und konfigurieren
Zunächst installieren wir nun den Elasticsearch-Server, eine Open-Source-Suchmaschine auf Basis von Lucene. Es bietet eine in Echtzeit verteilte, mandantenfähige Volltextsuchmaschine mit einer HTTP-Webschnittstelle und schemafreien JSON-Dokumenten.
Elasticsearch speichert von Logstash gesendete Daten und zeigt sie auf Benutzeranfragen über Kibana an.
Installieren Sie Elasticsearch mit dem folgenden Befehl.
sudo apt updatesudo apt install -y elasticsearch-oss
Starten Sie den Elasticsearch-Dienst.
sudo systemctl start elasticsearchsudo systemctl enable elasticsearch
Warten Sie einige Minuten und führen Sie den folgenden Befehl aus, um den Status der Elasticsearch-REST-Schnittstelle anzuzeigen.
curl -X GET http://localhost:9200
Ausgabe:
{ „name“ :„debian10“, „cluster_name“ :„elasticsearch“, „cluster_uuid“ :„6y4OcEnYS3qkN_AetQAYMQ“, „version“ :{ „number“ :„7.8.0“, „build_flavor“ :„oss“ , „build_type“ :„deb“, „build_hash“ :„757314695644ea9a1dc2fecd26d1a43856725e65“, „build_date“ :„2020-06-14T19:35:50.234439Z“, „build_snapshot“ :false, „lucene_version“ :„8.5.1“, "minimum_wire_compatibility_version" :"6.8.0", "minimum_index_compatibility_version" :"6.0.0-beta1" }, "tagline" :"You Know, for Search"}
Die obige Ausgabe bestätigt, dass Elasticsearch einwandfrei funktioniert.
Logstash installieren und konfigurieren
Logstash ist eine Open-Source-Engine zur Datenerfassung und Protokollanalyse. Es sammelt Protokolle, analysiert und speichert sie für die Suche auf Elasticsearch. Für Logstash sind mehr als 160 Plug-ins verfügbar, die die Möglichkeit bieten, verschiedene Arten von Ereignissen ohne zusätzliche Arbeit zu verarbeiten.
sudo apt install -y logstash-oss
Die Logstash-Konfigurationsdatei besteht aus drei Abschnitten, nämlich Eingabe, Filter und Ausgabe. Sie können alle drei Abschnitte in einer einzigen Datei oder einer separaten Datei für jeden Abschnitt ablegen und mit .conf enden.
Hier verwenden wir eine einzelne Datei zum Platzieren von Eingabe-, Filter- und Ausgabeabschnitten. Erstellen Sie eine Konfigurationsdatei im Verzeichnis /etc/logstash/conf.d/.
sudo nano /etc/logstash/conf.d/beats-syslog.conf
Im Eingabebereich konfigurieren wir Logstash so, dass es auf Port 5044 auf eingehende Protokolle von Beats (Forwarder) lauscht, die sich auf Client-Computern befinden.
input { beats { port => 5044 ssl => false }}
Im Filterabschnitt werden wir Grok verwenden, um Protokolle zu parsen, bevor sie zum Speichern an Elasticsearch gesendet werden.
Der folgende Grok-Filter sucht nach beschrifteten Syslog-Protokollen und versucht, sie zu parsen, um einen strukturierten Index zu erstellen.
filter {if [type] =="syslog" { grok { match => { "message" => "%{SYSLOGLINE}" } } date {match => [ "timestamp", "MMM d HH:mm :ss", "MMM tt HH:mm:ss" ]} }}
Weitere GROK-Filtermuster finden Sie hier.
Im Ausgabeabschnitt definieren wir, wo die Protokolle gespeichert werden sollen, im Falle des ELK-Stacks natürlich Elasticsearch.
output { elasticsearch { hosts => localhost index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" }stdout { codec => rubydebug }}
Starten und aktivieren Sie nun den Logstash-Dienst.
sudo systemctl start logstashsudo systemctl enable logstash
Wenn Sie auf ein Problem stoßen, sehen Sie sich die Logstash-Datei an.
sudo cat /var/log/logstash/logstash-plain.log
Kibana installieren und konfigurieren
Kibana bietet die Visualisierung von Daten, die auf Elasticsearch gespeichert sind. Installieren Sie Kibana mit dem folgenden Befehl.
sudo apt install -y kibana-oss
Standardmäßig lauscht Kibana auf dem lokalen Host, was bedeutet, dass Sie von einem anderen Computer aus nicht auf die Kibana-Weboberfläche zugreifen können. Datei /etc/kibana/kibana.yml bearbeiten.
sudo nano /etc/kibana/kibana.yml
Nehmen Sie Änderungen an der unteren Zeile mit Ihrer Server-IP-Adresse vor.
server.host:"192.168.0.10"
Starten und aktivieren Sie Kibana beim Start des Computers.
sudo systemctl start kibanasudo systemctl enable kibana
Filebeat installieren
Filebeat ist eine Software, die auf dem Client-Rechner läuft. Abhängig von der Konfiguration werden Protokolle zum Parsen an den Logstash-Server oder zum Speichern an Elasticsearch gesendet.
Installieren Sie wget und HTTPS-Unterstützung für apt.
sudo apt install -y wget apt-transport-https curl
ELK-Pakete können aus dem Elastic-Repository bezogen werden.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -echo "deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
Installieren Sie Filebeat mit dem folgenden Befehl.
sudo apt updatesudo apt install -y filebeat-oss
Die Hauptkonfigurationsdatei von Filebeat ist /etc/filebeat/filebeat.yml.
sudo nano /etc/filebeat/filebeat.yml
Wir müssen diese Datei bearbeiten, um Protokolle an den Logstash-Server zu senden.
Die folgenden Konfigurationen senden Syslog (/var/log/syslog) an den Logstash-Server. Für diese Demo habe ich /var/log/*.log auskommentiert, um zu vermeiden, dass alle Protokolle an den Logstash-Server gesendet werden.
Kommentieren Sie im Abschnitt Outputs den Abschnitt output.elasticsearch:aus, da wir keine Protokolle bei Elasticsearch speichern werden.
Gehen Sie nun zur Zeile output.logstash:und ändern Sie die Einträge, um Protokolle an Logstash zu senden, und geben Sie den Pfad zur kopierten SSL-Datei an.
Hinweis: Ersetzen Sie „192.168.0.10“ durch die IP-Adresse des Logstash-Servers.
Starten Sie den Filebeat-Dienst neu.
sudo systemctl restart filebeat
Zugriff auf Kibana
Sie können über die folgende URL auf die Kibana-Weboberfläche zugreifen.
http://deine-ip-adresse:5601/ODER
http://Ihr-Server-Name:5601Bei Ihrer ersten Anmeldung müssen Sie den Filebeat-Index zuordnen. Klicken Sie auf Selbst erkunden um ein Indexmuster zu erstellen.

Klicken Sie auf das Menü (Hamburger-Symbol)>> Stapelverwaltung>>Indexmuster>> Indexmuster erstellen .

Geben Sie Folgendes in das Feld Indexmuster ein und klicken Sie auf Nächster Schritt.
filebeat-*

Wählen Sie @timestamp aus und klicken Sie dann auf Indexmuster erstellen.
@Zeitstempel

Gehen Sie die Felder im Index und ihren von Elasticsearch erfassten Kerntyp durch.

Klicken Sie im linken Navigationsbereich auf Entdecken, um die eingehenden Protokolle von einem Client-Rechner anzuzeigen.

Schlussfolgerung
Das ist alles. Ich hoffe, Sie haben gelernt, wie man den ELK-Stack auf Debian 10 / Debian 9 installiert. Bitte teilen Sie Ihr Feedback im Kommentarbereich mit.