
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
.