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

So installieren Sie Logstash unter Ubuntu 18.04

Logstash ist ein kostenloses Open-Source-Tool und die weltweit beliebteste Protokollanalyseplattform zum Sammeln, Analysieren und Speichern von Protokollen für die zukünftige Verwendung. Logstash wird mit einer Vielzahl von Plugins und einer sehr ausdrucksstarken Vorlagensprache geliefert, die die Transformation von Datenströmen erleichtert. Logstash ist ein Teil des ELK-Stacks, aber Sie können es auch unabhängig verwenden. Logstash ist in der Lage, mithilfe von Eingabe-Plug-ins aus jeder Datenquelle zu ziehen, eine Vielzahl von Datentransformationen anzuwenden und die Daten mithilfe von Ausgabe-Plug-ins an eine große Anzahl von Zielen zu senden.

In diesem Tutorial zeigen wir Ihnen, wie Sie Logstash auf einem Ubuntu 18.04-Server installieren und konfigurieren.

Voraussetzungen

  • Ein Server mit Ubuntu 18.04.
  • Auf Ihrem Server ist ein Root-Passwort konfiguriert.

Erste Schritte

Bevor Sie beginnen, aktualisieren Sie Ihr System mit der neuesten Version. Sie können dies tun, indem Sie den folgenden Befehl ausführen:

apt-get update -y
apt-get upgrade -y

Sobald Ihr System aktualisiert ist, starten Sie es neu, um die Änderungen zu übernehmen.

Installieren Sie Java

Stellen Sie vor der Installation von Java sicher, dass entweder Java 8 oder Java 11 installiert ist. Sie können Java 8 mit dem folgenden Befehl installieren:

apt-get install openjdk-8-jdk -y

Überprüfen Sie nach der Installation von Java die Java-Version mit dem folgenden Befehl:

Java-Version

Sie sollten die folgende Ausgabe sehen:

openjdk Version "1.8.0_162"OpenJDK Runtime Environment (Build 1.8.0_162-8u162-b12-1-b12)OpenJDK 64-Bit Server VM (Build 25.162-b12, Mixed Mode)

Installieren Sie Logstash

Vor der Installation von Logstash müssen Sie Elasticsearch auf Ihrem Server installieren. Standardmäßig ist Elasticsearch auf dem Ubuntu 18.04-Server nicht verfügbar. Sie müssen also das Repository für Elasticsearch hinzufügen.

Installieren Sie zuerst das erforderliche Paket mit dem folgenden Befehl:

apt-get install apt-transport-https -y

Laden Sie als Nächstes den Elasticsearch GPG-Schlüssel herunter und fügen Sie ihn mit dem folgenden Befehl hinzu:

wget -qO - https://packages.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

Als nächstes installieren Sie Elasticsearch und Logstash mit dem folgenden Befehl:

apt-get install elasticsearch logstash -y

Sobald beide Pakete installiert sind, starten Sie Logstash und Elasticsearch und aktivieren Sie sie nach dem Systemneustart mit dem folgenden Befehl:

systemctl start logstash
systemctl aktiviert logstash
systemctl startet elastische Suche
systemctl aktiviert elastische Suche

Sie können den Status von Logstash auch mit dem folgenden Befehl überprüfen:

Systemctl-Status-Logstash

Sie sollten die folgende Ausgabe sehen:

? logstash.service - logstash Geladen:geladen (/etc/systemd/system/logstash.service; deaktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Mi 2019-11-20 10:13:22 UTC; Vor 5s Haupt-PID:3790 (Java) Aufgaben:13 (Grenze:1110) CGroup:/system.slice/logstash.service ??3790 /usr/bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly 20. November 10:13:22 ubuntu systemd[1]:Logstash gestartet.

Standardmäßig überwacht Elasticsearch Port 9200. Sie können dies mit dem folgenden Befehl überprüfen:

netstat -ant | grep 9200

Sie sollten die folgende Ausgabe sehen:

tcp6 0 0 127.0.0.1:9200 :::* HÖREN tcp6 0 0 ::1:9200 :::* HÖREN 

Logstash konfigurieren

Die Logstash-Konfiguration ist einer der herausforderndsten Teile eines jeden Systemadministrators. Die Logstash-Konfiguration besteht aus drei Hauptkonfigurationsabschnitten:Logstash-Eingaben, Logstash-Filter und Logstash-Ausgaben. Jeder Abschnitt ist für unterschiedliche Funktionen verantwortlich und verwendet unterschiedliche Logstash-Plugins.

Logstash-Eingabe konfigurieren

Zuerst müssen Sie eine Eingabekonfigurationsdatei beats-input.conf erstellen, um Daten von Beats auf TCP-Port 5044 zu empfangen:

nano /etc/logstash/conf.d/beats-input.conf

Fügen Sie die folgenden Zeilen hinzu:

input { beats { port => 5044 }}

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Logstash-Filter konfigurieren

Als nächstes müssen Sie ein Filter-Plugin konfigurieren, um Ereignisse zu verarbeiten, die von den Beats empfangen werden. Hier werden wir Beats konfigurieren, um SSH-Authentifizierungsereignisse von Ubuntu-Systemen zu sammeln. Erstellen Sie dazu eine neue Filterkonfigurationsdatei ssh-auth-filter.conf:

nano /etc/logstash/conf.d/ssh-auth-filter.conf

Fügen Sie die folgenden Zeilen hinzu:

filter { grok { match => { "message" => "%{SYSLOGTIMESTAMP:timestamp}\s+%{IPORHOST:dst_host}\s+%{WORD:syslog_program}\[\d+\]:\s+(? \w+\s+password)\s+for\s+%{USER:auth_user}\s+from\s+%{SYSLOGHOST:src_host}.*" } add_field => { "activity" => "SSH Logins " } add_tag ​​=> "linux_auth" }} 

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Logstash-Ausgabe konfigurieren

Als Nächstes müssen Sie Ausgabe-Plugins konfigurieren, damit Logstash Ereignisdaten an bestimmte Ziele senden kann.

Hier erstellen wir eine Logstash-Ausgabekonfigurationsdatei, die Daten an Elasticsearch sendet, das auf einem lokalen Host ausgeführt wird.

nano /etc/logstash/conf.d/elasticsearch-output.conf

Fügen Sie die folgenden Zeilen hinzu:

output { elasticsearch { hosts => ["localhost:9200"] manage_template => false index => "ssh_auth-%{+YYYY.MM}" } stdout { codec => rubydebug }}

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den Logstash-Dienst neu, um die Änderungen zu übernehmen:

systemctl startet logstash neu

Logstash testen

Logstash ist jetzt installiert und konfiguriert. Es ist Zeit zu testen, ob es funktioniert oder nicht.

Sie können die Logstash-Konfiguration mit dem folgenden Befehl überprüfen:

sudo -u logstash /usr/share/logstash/bin/logstash --path.settings /etc/logstash -t

Wenn alles in Ordnung ist, sollten Sie die folgende Ausgabe sehen:

Senden von Logstash-Protokollen an /var/log/logstash, das jetzt über log4j2.properties [2019-11-26T06:27:48,104] konfiguriert wird [INFO ][logstash.setting.writabledirectory] Verzeichnis erstellen {:setting=>" path.queue", :path=>"/var/lib/logstash/queue"}[2019-11-26T06:27:48,119][INFO ][logstash.setting.writabledirectory] Verzeichnis erstellen {:setting=>"path .dead_letter_queue", :path=>"/var/lib/logstash/dead_letter_queue"}[2019-11-26T06:27:50,331][INFO ][org.reflections.Reflections] Reflections brauchten 47 ms, um 1 URL zu scannen und zu produzieren 20 Schlüssel und 40 Werte Konfiguration OK[2019-11-26T06:27:51,899][INFO ][logstash.runner ] Using config.test_and_exit mode. Ergebnis der Konfigurationsvalidierung:OK. Beenden von Logstash

Herzliche Glückwünsche! Sie haben Logstash erfolgreich auf dem Ubuntu 18.04-Server installiert und konfiguriert.


Ubuntu
  1. So installieren Sie R unter Ubuntu 20.04

  2. So installieren Sie XWiki unter Ubuntu 20.04

  3. So installieren Sie phpBB unter Ubuntu 20.04

  4. So installieren Sie MongoDB unter Ubuntu 20.04

  5. So installieren Sie R unter Ubuntu 18.04

So installieren Sie Go in Ubuntu 20.04

So installieren Sie Go unter Ubuntu 22.04

So installieren Sie Jenkins unter Ubuntu 18.04

So installieren Sie Ruby unter Ubuntu 18.04

So installieren Sie Kanboard unter Ubuntu 20.04

So installieren Sie OpenMAINT unter Ubuntu 20.04