Logstash
Zur Navigation springen
Zur Suche springen
Logstash ist ein Java-Programm, welches entweder unter Java 11 oder Java 17 ausgeführt werden sollte.
Debian Installation
- Benötigte Pakete
- apt install apt-transport-https gpg
- Hinzufügen des GPG-Schlüssels zum System-Schlüsselbund und des Elastic-Repository
- curl https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --dearmor -o /usr/share/keyrings/elastic-keyring.gpg
- echo "deb [signed-by=/usr/share/keyrings/elastic-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-8.x.list
- Installation von Logstash
- apt update && apt install -y logstash
- Die Binary wird unter dem Ordner /usr/share/logstash/bin/logstash installiert
Testen der Installation
- cd /usr/share/logstash/bin
- ./logstash -e 'input { stdin { } } output { stdout {} }'
- Dieser Befehl startet logstash, wobei Eingaben aus stdin eingelesen werden und über stdout ausgegeben werden
- Der Startprozess dauert eine Weile. Der Prozess ist bereit, wenn folgendes angezeigt wird
Using bundled JDK: /usr/share/logstash/jdk
...
[INFO ] 2024-02-21 10:41:45.464 [[main]-pipeline-manager] javapipeline - Pipeline Java execution initialization time {"seconds"=>0.73}
[INFO ] 2024-02-21 10:41:45.497 [[main]-pipeline-manager] javapipeline - Pipeline started {"pipeline.id"=>"main"}
The stdin plugin is now waiting for input:
[INFO ] 2024-02-21 10:41:45.512 [Agent thread] agent - Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}
- Nun wird jegliche Eingabe auf die Konsole von Logstash aufgenommen und als Event über stdout ausgegeben
- Wenn man also hello world eintippt:
{
"message" => "hello world",
"@timestamp" => 2024-02-21T09:44:12.754325552Z,
"event" => {
"original" => "hello world"
},
"host" => {
"hostname" => "firewall"
},
"@version" => "1"
}
Konfiguration
- Eine Logstash-Konfiguration muss Input- und Output-Plugins definieren
- Optional können Filter-Regeln hinzugefügt werden
input {
...
}
#filter {
# ...
#}
output {
...
}