
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
.