LogStash: Procesamiento y Análisis de Datos
Esta formación profundiza en el uso de LogStash, una herramienta esencial para el procesamiento y transformación de datos...

La suite ELK (Elasticsearch, Logstash y Kibana) se ha convertido en uno de los estándares más utilizados para la gestión y análisis de datos. Dentro de ella, Logstash cumple un papel clave: recoger información de múltiples fuentes, transformarla y enviarla a sistemas de almacenamiento o visualización. En este artículo aprenderás cómo usar Logstash dentro del ecosistema ELK y cómo crear tu primer pipeline básico para procesar datos de manera práctica.
En cualquier organización moderna, los datos se han convertido en un recurso estratégico. Sin embargo, la mayoría de las veces no llegan en un formato listo para su análisis: proceden de sistemas heterogéneos, con estructuras distintas y volúmenes cada vez mayores.
La suite ELK (Elasticsearch, Logstash y Kibana) se ha consolidado como una de las herramientas más utilizadas para resolver este desafío. Ofrece un ecosistema completo para recoger, procesar, almacenar y visualizar información, con un enfoque flexible y escalable.
Dentro de este conjunto, Logstash destaca por su capacidad de ingestar datos desde múltiples fuentes, transformarlos mediante filtros y enviarlos a destinos como Elasticsearch u otros sistemas. Es el motor que convierte datos dispersos en información lista para ser consultada y analizada.
En este artículo exploraremos cómo usar Logstash dentro de la suite ELK, desde su instalación básica hasta la creación de un primer pipeline sencillo de entrada, filtro y salida. El objetivo es que puedas dar tus primeros pasos con esta herramienta de manera práctica y aplicada.
La suite ELK es un conjunto de herramientas desarrollado por Elastic que se ha convertido en referente para el análisis y la gestión de datos en tiempo real. Su nombre proviene de las siglas de sus tres componentes principales: Elasticsearch, Logstash y Kibana. En conjunto, ofrecen una solución potente y escalable para procesar grandes volúmenes de información de manera centralizada.
Cada uno de estos componentes cumple un rol específico, pero es la combinación de los tres lo que convierte a ELK en una solución completa de observabilidad y análisis.
El valor diferencial de Logstash reside en su capacidad para actuar como un intermediario inteligente entre las fuentes de datos y el sistema de almacenamiento. No solo recoge información, también la transforma mediante filtros que permiten limpiar, enriquecer y dar formato homogéneo a los datos.
Esto significa que, antes de llegar a Elasticsearch, la información ya está procesada de manera que los analistas y los sistemas pueden trabajar con ella sin inconsistencias ni ruido innecesario. En proyectos de observabilidad, seguridad o analítica, este paso marca la diferencia entre datos útiles y datos inservibles.
El ecosistema ELK, con Logstash como motor de ingesta, se aplica en múltiples escenarios:
Estos casos de uso muestran por qué ELK es una de las soluciones más extendidas para la gestión de información en entornos modernos: permite unificar datos dispersos y transformarlos en insights accionables.
Antes de crear un pipeline, el primer paso es instalar Logstash en tu sistema. La instalación es sencilla y está disponible para distintos entornos, lo que permite adaptarla tanto a entornos de desarrollo como de producción.
Para trabajar con Logstash necesitas un entorno que cumpla con algunos requisitos mínimos:
Asegurarte de cumplir con estos requisitos evita problemas de rendimiento o errores en la instalación.
Elastic proporciona paquetes oficiales que facilitan la instalación en distintas plataformas. La forma más habitual es usar los paquetes precompilados o los repositorios oficiales:
# Importar la clave GPG de Elastic
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
# Instalar el repositorio de Elastic
sudo apt-get install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list
# Actualizar repositorios e instalar Logstash
sudo apt-get update
sudo apt-get install logstash
Con esta instalación tendrás Logstash disponible en tu sistema y listo para configurarse.
Una vez instalado, conviene comprobar que Logstash se ha configurado correctamente. Para ello, ejecuta el comando de versión, que mostrará la información de la instalación.
# Comprobar la versión instalada de Logstash
logstash --version
Si el sistema responde mostrando la versión instalada, significa que Logstash está operativo y listo para ejecutar tu primer pipeline.
Para sacar el máximo partido a Logstash no basta con instalarlo: es importante conocer la estructura de archivos y directorios donde se guardan las configuraciones y logs. Esta organización facilita la gestión de proyectos reales y evita errores al desplegar pipelines.
Logstash utiliza varios archivos clave que conviene identificar desde el principio:
.conf
que se cargarán en paralelo.Cada uno de estos archivos se encuentra normalmente en el directorio config
dentro de la instalación de Logstash.
El directorio conf.d
es el lugar habitual para guardar los archivos .conf
que definen los pipelines. Cada archivo puede representar un flujo de procesamiento independiente, aunque en producción se recomienda estructurarlos con nombres claros:
input_syslog.conf
: pipeline encargado de recoger y parsear logs de sistema.filter_enrichment.conf
: pipeline que añade información adicional a los datos.output_elasticsearch.conf
: pipeline que envía resultados a Elasticsearch.Organizar los pipelines de esta manera permite escalar configuraciones y reutilizar bloques en distintos entornos.
Logstash genera registros que ayudan a depurar y comprobar el estado de los pipelines. Los más importantes son:
logs
, muestran errores, advertencias y mensajes de depuración.Conocer esta estructura básica es esencial para mantener entornos estables y facilitar el trabajo colaborativo en proyectos con varios pipelines.
Un pipeline de Logstash se compone de tres secciones: input, filter y output. La entrada define de dónde llegan los datos, los filtros transforman y enriquecen la información y la salida determina el destino final. La sintaxis se define en archivos .conf
y la referencia oficial está en la documentación de Logstash.
La estructura mínima de un pipeline es declarativa. Cada bloque puede incluir varios plugins. Por ejemplo, input { stdin {} }
para leer desde la consola, filter { grok { ... } mutate { ... } }
para parsear y normalizar, y output { stdout {} elasticsearch { ... } }
para enviar a varios destinos. Puedes consultar la guía de plugins en la referencia de plugins de Logstash.
Para tener una visión rápida de las opciones más habituales en Logstash, a continuación se muestra una tabla con ejemplos de inputs, filtros y outputs comunes. Esta referencia te servirá como guía práctica cuando empieces a diseñar tus propios pipelines.
Tipo | Plugin común | Uso principal | Ejemplo de aplicación |
---|---|---|---|
Input | file |
Leer datos desde archivos locales | Ingestar logs de /var/log/syslog |
Input | beats |
Recibir datos de Filebeat | Centralizar logs de múltiples servidores |
Input | jdbc |
Consultar bases de datos SQL | Extraer registros periódicos para análisis |
Filtro | grok |
Parsear texto mediante expresiones | Separar campos de un log de Apache |
Filtro | mutate |
Renombrar, convertir o eliminar campos | Normalizar IDs y convertir valores numéricos |
Filtro | date |
Parsear y estandarizar fechas | Convertir cadenas a formato ISO8601 |
Output | stdout |
Mostrar resultados en consola | Debug en fase de desarrollo |
Output | elasticsearch |
Indexar datos en Elasticsearch | Crear índices diarios para eventos |
Output | file |
Guardar datos en un archivo | Exportar resultados procesados en CSV |
Esta tabla no sustituye la exploración de la lista oficial de plugins de Logstash, pero funciona como un mapa rápido de los recursos más usados en proyectos reales.
A continuación puedes ver un ejemplo básico de la estructura mínima de un pipeline en Logstash, que servirá como punto de partida para crear configuraciones más completas.
input {
stdin {}
}
filter {
# Filtros opcionales; se añadirán en el ejemplo práctico
}
output {
stdout { codec => rubydebug }
}
Esta estructura hace que Logstash sea muy flexible: puedes combinar múltiples entradas y salidas, encadenando filtros para limpiar y enriquecer los datos.
Crearemos un pipeline sencillo que:
stdin
para facilitar las pruebas.mutate
.timestamp
si falta.stdout
y envía a Elasticsearch.Usaremos filtros mutate
y date
; la referencia de mutate
está en la documentación del filtro mutate y la de date
en date filter.
input {
stdin { codec => json }
}
filter {
# Asegurar tipos y normalizaciones básicas
mutate {
convert => { "amount" => "float" }
rename => { "userId" => "user_id" }
strip => ["message"]
}
# Si llega un campo @timestamp como string, parsearlo
date {
match => ["@timestamp", "ISO8601", "yyyy-MM-dd HH:mm:ss,SSS"]
target => "@timestamp"
timezone => "UTC"
}
# Si no llega @timestamp, crear uno ahora
if !("@timestamp" in [@metadata]) and ![timestamp] {
mutate { add_field => { "ingested_at" => "%{@timestamp}" } }
}
}
output {
stdout { codec => rubydebug }
elasticsearch {
hosts => ["http://localhost:9200"]
index => "events-%{+YYYY.MM.dd}"
action => "index"
}
}
Con este ejemplo tendrás un pipeline reproducible para validar tu entorno y la conexión con Elasticsearch.
Para ejecutar un pipeline, utiliza logstash -f pipeline.conf
. Enviaremos un evento de prueba en formato JSON por la entrada estándar y verificaremos tanto la salida en consola como el índice creado en Elasticsearch. La salida a Elasticsearch usa el plugin oficial documentado en Elasticsearch output.
# Ejecutar el pipeline
logstash -f pipeline.conf
# En otra terminal, enviar un evento de prueba por stdin
echo '{"userId":"u-123","amount":"42.5","message":" purchase completed ","@timestamp":"2025-10-07T10:30:00Z"}' | logstash -f pipeline.conf
# Comprobar documentos en Elasticsearch (requiere curl)
curl -s "http://localhost:9200/events-*/_search?pretty&size=1"
Si ves el evento enriquecido en la consola y confirmas su indexación en Elasticsearch, tu entorno de ELK habrá procesado correctamente el primer flujo de datos.
Cuando empiezas a trabajar con Logstash es fácil cometer errores que afectan al rendimiento o a la claridad de las configuraciones. Adoptar buenas prácticas desde el inicio te permitirá mantener pipelines más estables y escalables.
Logstash permite ejecutar varios pipelines en paralelo, y cada uno se define en un archivo .conf
. Para evitar confusiones:
conf.d
.input_syslog.conf
o pipeline_elasticsearch.conf
.La documentación oficial sobre configuración está en la guía de pipelines de Logstash.
Los pipelines de Logstash pueden generar errores silenciosos si no se monitorizan. Para evitarlo:
--config.test_and_exit
para validar configuraciones antes de desplegar.INFO
o DEBUG
cuando estés depurando un pipeline.dead_letter_queue
para capturar eventos problemáticos sin interrumpir el flujo.Más detalles sobre gestión de logs están disponibles en la documentación de monitoring de Logstash.
Uno de los puntos fuertes de Logstash es su ecosistema de plugins. Los más habituales al empezar son:
file
, beats
, jdbc
.grok
, mutate
, date
.stdout
, elasticsearch
, file
.La lista completa se encuentra en el catálogo oficial de plugins de Logstash.
Elegir los plugins adecuados desde el inicio te permitirá reducir la complejidad y mantener pipelines más fáciles de escalar.
Además de una buena organización y el uso correcto de plugins, es fundamental tener en cuenta aspectos de seguridad y rendimiento cuando se despliegan pipelines en entornos reales.
En el plano de la seguridad:
input
y output
..conf
, utilizando gestores de secretos o variables de entorno.En el plano del rendimiento:
jvm.options
para configurar la memoria de la JVM, garantizando que Logstash pueda procesar cargas altas sin cuellos de botella.pipeline.workers
y pipeline.batch.size
permiten optimizar el rendimiento ajustando el número de hilos y el tamaño de lotes procesados.persistent queues
para evitar pérdida de datos en caso de caídas, especialmente en entornos críticos.Aplicar estas medidas desde el inicio asegura que los pipelines sean no solo funcionales, sino también seguros, estables y preparados para producción.
Logstash es mucho más que una herramienta para mover datos: es el corazón del pipeline en la suite ELK. Su capacidad para recoger información de múltiples fuentes, transformarla mediante filtros y enviarla a destinos como Elasticsearch o sistemas externos lo convierte en un componente esencial en cualquier estrategia de análisis y observabilidad.
Empezar con Logstash no requiere un conocimiento avanzado, pero sí seguir un enfoque práctico: instalarlo correctamente, crear tu primer pipeline sencillo y familiarizarte con los plugins básicos. A partir de ahí, puedes evolucionar hacia configuraciones más complejas y adaptadas a tu entorno.
La clave está en combinar teoría con práctica, apoyándote en la documentación oficial y siguiendo buenas prácticas que garanticen la estabilidad de los pipelines en producción. Con ello, Logstash se convierte en una herramienta versátil para convertir datos en valor real.
También te puede interesar
Esta formación profundiza en el uso de LogStash, una herramienta esencial para el procesamiento y transformación de datos...
Esta formación está diseñada para profesionales que desean ampliar sus conocimientos en Elasticsearch, una poderosa herramienta de búsqueda...
Con este curso adquirirás los conocimientos básicos para empezar a trabajar con Elasticsearch, aprendiendo a desplegar la plataforma...