Logstash: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „Logstash ist ein Java-Programm, welches entweder unter Java 11 oder Java 17 ausgeführt werden sollte = Debian Installation = * Benötigte Pakete * '''apt in…“) |
|||
| (12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | Logstash ist ein Java-Programm, welches entweder unter Java 11 oder Java 17 ausgeführt werden sollte | + | Logstash ist ein Java-Programm, welches entweder unter Java 11 oder Java 17 ausgeführt werden sollte. |
= Debian Installation = | = Debian Installation = | ||
* Benötigte Pakete | * Benötigte Pakete | ||
| − | * '''apt install apt-transport-https''' | + | * '''apt install apt-transport-https gpg''' |
* Hinzufügen des GPG-Schlüssels zum System-Schlüsselbund und des Elastic-Repository | * 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" | | + | * '''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 | * Installation von Logstash | ||
* '''apt update && apt install -y 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 { | ||
| + | ... | ||
| + | } | ||
= Links = | = Links = | ||
* https://www.elastic.co/guide/en/logstash/8.12/getting-started-with-logstash.html | * https://www.elastic.co/guide/en/logstash/8.12/getting-started-with-logstash.html | ||
Aktuelle Version vom 6. März 2024, 07:34 Uhr
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 {
...
}