Logstash - Introducción

Logstash es una herramienta basada en los patrones de filtro / canalizaciones para recopilar, procesar y generar los registros o eventos. Ayuda a centralizar y realizar análisis en tiempo real de registros y eventos de diferentes fuentes.

Logstash está escrito en el lenguaje de programación JRuby que se ejecuta en la JVM, por lo que puede ejecutar Logstash en diferentes plataformas. Recopila diferentes tipos de datos como registros, paquetes, eventos, transacciones, datos de marca de tiempo, etc., de casi todos los tipos de fuentes. La fuente de datos puede ser datos sociales, comercio electrónico, artículos de noticias, CRM, datos de juegos, tendencias web, datos financieros, Internet de las cosas, dispositivos móviles, etc.

Características generales de Logstash

Las características generales de Logstash son las siguientes:

  • Logstash puede recopilar datos de diferentes fuentes y enviarlos a múltiples destinos.

  • Logstash puede manejar todo tipo de datos de registro como registros de Apache, registros de eventos de Windows, datos sobre protocolos de red, datos de entrada estándar y muchos más.

  • Logstash también puede manejar solicitudes http y datos de respuesta.

  • Logstash proporciona una variedad de filtros, que ayudan al usuario a encontrar más significado en los datos analizándolos y transformándolos.

  • Logstash también se puede utilizar para manejar datos de sensores en Internet de las cosas.

  • Logstash es de código abierto y está disponible bajo la licencia Apache versión 2.0.

Conceptos clave de Logstash

Los conceptos clave de Logstash son los siguientes:

Objeto de evento

Es el objeto principal de Logstash, que encapsula el flujo de datos en la canalización de Logstash. Logstash usa este objeto para almacenar los datos de entrada y agregar campos adicionales creados durante la etapa de filtrado.

Logstash ofrece una API de eventos a los desarrolladores para manipular eventos. En este tutorial, este evento se conoce con varios nombres como Evento de datos de registro, Evento de registro, Datos de registro, Datos de registro de entrada, Datos de registro de salida, etc.

Tubería

Se compone de etapas de flujo de datos en Logstash desde la entrada hasta la salida. Los datos de entrada se ingresan en la tubería y se procesan en forma de evento. Luego envía a un destino de salida en el formato deseable del usuario o del sistema final.

Entrada

Esta es la primera etapa de la canalización de Logstash, que se utiliza para obtener los datos en Logstash para su posterior procesamiento. Logstash ofrece varios complementos para obtener datos de diferentes plataformas. Algunos de los complementos más utilizados son: File, Syslog, Redis y Beats.

Filtrar

Esta es la etapa intermedia de Logstash, donde tiene lugar el procesamiento real de eventos. Un desarrollador puede usar patrones Regex predefinidos por Logstash para crear secuencias para diferenciar entre los campos en los eventos y los criterios para los eventos de entrada aceptados.

Logstash ofrece varios complementos para ayudar al desarrollador a analizar y transformar los eventos en una estructura deseable. Algunos de los complementos de filtro más utilizados son: Grok, Mutate, Drop, Clone y Geoip.

Salida

Esta es la última etapa en la canalización de Logstash, donde los eventos de salida se pueden formatear en la estructura requerida por los sistemas de destino. Por último, envía el evento de salida después del procesamiento completo al destino mediante complementos. Algunos de los complementos más utilizados son: Elasticsearch, File, Graphite, Statsd, etc.

Ventajas de Logstash

Los siguientes puntos explican las diversas ventajas de Logstash.

  • Logstash ofrece secuencias de patrones de expresiones regulares para identificar y analizar los diversos campos en cualquier evento de entrada.

  • Logstash admite una variedad de servidores web y fuentes de datos para extraer datos de registro.

  • Logstash proporciona múltiples complementos para analizar y transformar los datos de registro en cualquier formato deseado por el usuario.

  • Logstash está centralizado, lo que facilita el procesamiento y la recopilación de datos de diferentes servidores.

  • Logstash admite muchas bases de datos, protocolos de red y otros servicios como fuente de destino para los eventos de registro.

  • Logstash utiliza el protocolo HTTP, que permite al usuario actualizar las versiones de Elasticsearch sin tener que actualizar Logstash en un paso de bloqueo.

Desventajas de Logstash

Los siguientes puntos explican las diversas desventajas de Logstash.

  • Logstash usa http, lo que afecta negativamente el procesamiento de los datos de registro.

  • Trabajar con Logstash a veces puede ser un poco complejo, ya que necesita una buena comprensión y análisis de los datos de registro de entrada.

  • Los complementos de filtro no son genéricos, por lo que es posible que el usuario deba encontrar la secuencia correcta de patrones para evitar errores en el análisis.

En el próximo capítulo, entenderemos qué es ELK Stack y cómo ayuda a Logstash.