Logstash 9.x: Zentralisiertes Pipeline-Management

Veröffentlicht am 2025-08-02 01:00:00

« Alle Vorträge ansehen Kontaktieren Sie uns
Logstash 9.x: Centralized Pipeline Management

Einführung

Wir werden Logstash-Pipelines über Elasticsearch und Kibana konfigurieren.

Wir gehen davon aus, dass Sie Elasticsearch bereits haben und gemäß dieses Tutorial.

Dieses Handbuch basiert auf diesen Dokumentationen:

Zentralisiertes Pipeline-Management mit Logstash

Konfigurieren zentralisierter Pipelines

Anforderungen

Im Video verwenden wir eine Instanz von Ubuntu 24.04, die auf einer VM mit 8 GB Speicher läuft. Die VM läuft in einem lokalen privaten Netzwerk. Wir installieren Elastic Kibana Logstash auf diesem Server.

Schritte

Schritt 1 – Logstash-Benutzer erstellen

Klicken Sie hier, um Kibana > Stack-Verwaltung > Benutzer > Sicherheit > Benutzer erstellen > Benutzer erstellen.

Erstellen Sie dann einen neuen Benutzer mit dem Namen logstash_admin_user und geben Sie ihm die Rollen logstash_admin Und logstash_system.

Schritt 2 – Pipelines erstellen

Klicken Sie hier, um Kibana > Stack-Verwaltung > Ingest > Logstash-Pipelines > Pipeline erstellen.

Aufrufen der Pipeline Demo1 und fügen Sie diese Pipeline ein:

input { file { path => "/var/lib/logstash/data/customers.csv" start_position => "beginning" sincedb_path => "/dev/null" } } filter { csv { separator => "," skip_header => "true" columns => ["email", "first_name", "last_name", "city", "county", "state", "zip", "web"] } mutate { convert => { "zip" => "integer" } } } output { file { path => "/var/lib/logstash/testing/output.txt" } }

Und erstellen Sie eine zweite Pipeline namens Demo2:

input { file { path => "/var/lib/logstash/data/tasks.csv" start_position => "beginning" sincedb_path => "/dev/null" } } filter { csv { separator => "," skip_header => "true" columns => ["task_name", "task_description"] } } output { file { path => "/var/lib/logstash/testing/output.txt" } }

Als nächstes erstellen wir den Testinhalt.

Schritt 3 – Logstash einrichten

Logstash benötigt diese Abhängigkeiten. Führen Sie daher diese Befehle auf beiden aus, falls Sie dies noch nicht getan haben (diese werden beispielsweise auch von Elasticsearch und Kibana verwendet):

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/9.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-9.x.list apt-get update; apt-get install -y apt-transport-https;

Installieren Sie jetzt Logstash:

apt-get install -y logstash;

Holen Sie sich eine Kopie der Elasticsearch CA:

mkdir /etc/logstash/certs cp /etc/elasticsearch/certs/http_ca.crt /etc/logstash/certs chown -R logstash:logstash /etc/logstash

Fügen Sie diese Zeilen hinzu (oder bearbeiten Sie vorhandene):

xpack.management.enabled: true xpack.management.pipeline.id: ["demo1", "demo2" ] xpack.management.elasticsearch.username: logstash_admin_user xpack.management.elasticsearch.password: ABCD1234 xpack.management.elasticsearch.hosts: ["https://192.168.88.7:9200"] xpack.management.elasticsearch.ssl.certificate_authority: "/etc/logstash/certs/http_ca.crt"

Schritt 4 – Testdaten erstellen

mkdir -p /var/lib/logstash/testing
mkdir -p /var/lib/logstash/data

cat > /var/lib/logstash/data/customers.csv <<EOL
E-Mail, Vorname, Nachname, Ort, Landkreis, Bundesland, Postleitzahl, Web
carol.davis@example.net, Carol, Davis, Seattle, King, WA, 98101, www.caroldavisexample.net
faizal@helloworldexample.com, Faizal, Gupta, Kingston, King, WA, 93211, www.helloworldexample.com
EOL

cat > /var/lib/logstash/data/tasks.csv <<EOL
Aufgabenname, Aufgabenbeschreibung
Hausaufgaben machen, Kinder lieben Hausaufgaben
Geschirr spülen, Papa spült gerne ab
EOL

chown -R logstash:logstash /var/lib/logstash

Schritt 5 – Logstash starten

systemctl start logstash.service

Wenn alles funktioniert, sollten Sie eine neue Datei sehen /var/lib/logstash/testing/output.txt mit den Ausgabeergebnissen beider demo1 Und demo2.