Logstash 9.x: Gestión centralizada de pipelines

Publicado el 2 de agosto de 2025 a la 1:00:00

« Ver todas las conferencias Contáctenos
Logstash 9.x: Centralized Pipeline Management

Introducción

Configuraremos pipelines de logstash a través de Elasticsearch y Kibana.

Suponemos que ya tienes Elasticsearch y lo has creado según este tutorial.

Esta guía se basa en estas documentaciones:

Gestión centralizada de tuberías de Logstash

Configuración de pipelines centralizados

Requisitos

En el video, usamos una instancia de Ubuntu 24.04 ejecutándose en una máquina virtual con 8 GB de memoria. La máquina virtual se ejecutará en una red privada local. Instalaremos Elastic y Kibana Logstash en este servidor.

Pasos

Paso 1: Crear un usuario de Logstash

Haga clic para Kibana > Gestión de pilas > Usuarios > Seguridad > Crear usuario > Crear usuario.

Luego crea un nuevo usuario llamado logstash_admin_user y darle los roles logstash_admin y logstash_system.

Paso 2: Crear tuberías

Haga clic para Kibana > Gestión de pilas > Ingesta > Pipelines de Logstash > Crear pipeline.

Llamar al oleoducto demostración1 e inserte esta tubería:

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" } }

Y hacer una segunda tubería llamada demostración2:

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" } }

A continuación crearemos el contenido de prueba.

Paso 3: Configurar Logstash

Logstash necesita estas dependencias, así que ejecute estos comandos en ambos si aún no lo ha hecho (por ejemplo, estos también los usan elasticsearch y kibana):

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;

Ahora instala Logstash:

apt-get install -y logstash;

Obtenga una copia de la CA de elasticsearch:

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

Agregue estas líneas (o edite las existentes):

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"

Paso 4 - Crear datos de prueba

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

cat > /var/lib/logstash/data/customers.csv <<EOL
correo electrónico, nombre, apellido, ciudad, condado, estado, código postal, 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
nombre_tarea, descripción_tarea
hacer la tarea, a los niños les encanta la tarea
lavar los platos, a papá le encanta lavar los platos
EOL

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

Paso 5: Iniciar Logstash

systemctl start logstash.service

Si todo funciona, deberías ver un nuevo archivo /var/lib/logstash/testing/output.txt con los resultados de salida de ambos demo1 y demo2.