Logstash: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 15: Zeile 15:
 
* '''cd ''/usr/share/logstash/bin'' '''
 
* '''cd ''/usr/share/logstash/bin'' '''
 
* '''./logstash -e 'input { stdin { } } output { stdout {} }' '''
 
* '''./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"
 +
}
  
 
= 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

Version vom 21. Februar 2024, 09:45 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"
}

Links