Saltar al contenido

Elastic Stack: Enriquecer las capacidades de análisis de la empresa

Pila elástica a vista de pájaro

Hemos llegado al punto en nuestra discusión en el que podemos empezar a sumergirnos en las tecnologías que combinadas, forman la Pila Elástica.

Nuestro viaje hacia la recolección de conocimientos comienza con la recolección de datos en bruto que nuestro sistema produce.

Elastic Stack: Enriquecer las capacidades de análisis de la empresa
Elastic Stack: Enriquecer las capacidades de análisis de la empresa

Dentro de la Pila Elástica, dos tecnologías pueden proporcionarnos la capacidad de reunir datos y pasarlos a nuestros motores de análisis y visualización. Presentaré y explicaré ambas.

Logstash – un breve resumen

Con la plataforma de código abierto Logstash, se podría definir una tubería de procesamiento de datos en el lado del servidor con su salida dirigida a su persistencia deseada.

¿Qué es una tubería de procesamiento de datos, en nuestro contexto? Una vez más, estamos hablando de la recopilación de datos, el procesamiento de datos y la salida de datos, al igual que en el contexto más amplio.

Esta vez, sin embargo, estamos hablando de recoger datos en bruto de varias entradas, enviar esos datos a través de filtros y convertir los datos resultantes en productos.

Entradas, filtros y salidas implementadas como plugins.

Probablemente podrás encontrar lo que necesitas en la página de Logstash, pero en caso de que no lo hagas, es bastante sencillo implementar tus propios plugins.

Como un sistema autónomo, Logstash puede y debe ser desplegado como un grupo de múltiples nodos por cada tubería de procesamiento de datos. Esta configuración reduce el riesgo de pérdida de datos y permite la posibilidad de equilibrar la carga de los datos entrantes.

Ejemplo de la vida real

Veamos un ejemplo de una tubería de procesamiento de datos.

Nuestro cliente (masculino) tiene máquinas de Windows. Le gustaría pasar todos los registros de eventos de Windows a la plataforma de análisis.

Configuración de la(s) entrada(s)

Comienza desplegando el agente Logstash en las máquinas de Windows, así como el plugin de entrada de Eventlog, como se describe aquí. Hay muchas opciones de configuración para qué evento enviar y en qué intervalo buscarlos, aunque, para este ejemplo, la siguiente configuración de entrada será suficiente:

Configuración de los filtros

Ahora, una vez que nuestros datos están siendo recogidos por Logstash, porque hemos configurado un plugin de entrada, podemos proceder a la tarea (opcional) de transformar los datos y prepararlos para la transmisión. Esto se hace utilizando un plugin de filtro. Una vez más, una plétora de plugins de filtro ya está disponible para su uso. Si no puede encontrar un filtro deseado, puede enrollar el suyo propio.

Para simplificar, supongamos que el cliente quiere que transmitamos todos los campos del «host» en los mensajes del registro de eventos en minúsculas. Para ello, configuraremos un filtro de mutación que hará precisamente eso.

Configuración de salida

Como habrás adivinado, la configuración de una salida también se hará mediante la configuración de un plugin de salida. Elegiré el plugin de salida de Elasticsearch de la lista de plugins disponibles. Configurar el plugin de salida de Elasticsearch es pan comido, como se puede ver a continuación.

¡Excelente! En este punto entendemos cómo podemos construir una tubería de procesamiento de datos completa usando Logstash mientras que incluimos la recolección de datos de entrada usando plugins de entrada, «masajeando» los datos usando plugins de filtro y los datos de salida usando plugins de salida. Y todo eso se hizo sin escribir una sola línea de código. Genial, ¿verdad?

Latidos – otro breve resumen

Veamos ahora a Beats, la segunda tecnología de la Pila Elástica. Beats nos permitirá reunir y transmitir datos.

En lugar de construir una tubería completa de procesamiento de datos como lo hace Logstash, Beats se centra en hacer una sola cosa de manera fiable y ligera. Esa única cosa puede variar, por supuesto, y hay una amplia colección de latidos disponibles en el sitio web elástico. También hay ritmos desarrollados por la comunidad, a los que también puedes contribuir.

Cada latido es un agente ligero, que funciona en la máquina anfitriona, que se especializa en recoger un solo tipo de datos (por ejemplo, archivo, registro de eventos de Windows, red, tiempo de funcionamiento) y transmitirlos a Logstash o directamente a Elasticsearch (que se revisará en breve).

Al igual que con Logstash, es muy probable que no escribas ni una sola línea de código al usar Beats. Por lo general, será cuestión de unas pocas líneas de configuración y de ejecutar un agente.

Aquí hay un ejemplo simple que demuestra cómo configurar el Winlogbeat, que se encarga de reunir y transmitir los registros de eventos de Windows, y pasarlos a Elasticsearch.

Casi demasiado simple, ¿verdad? Bueno, no se complica mucho más.

Existen los parámetros de configuración previstos, como los necesarios para establecer una conexión segura, y una configuración opcional de la plantilla de mapeo (a fin de trazar un mapa entre los campos transmitidos y los índices de Elasticsearch pertinentes), pero sigue siendo absolutamente una preocupación de configuración.

¿Por qué tanto Beats como Logstash?

Bueno, la verdad es que usar cualquiera de los dos no es obligatorio.

En general, los Beats son muy livianos, y son de un solo uso. Úsalos cuando sepas el contenido que estás enviando. En ese caso es suficiente con enviar los datos directamente a Elasticsearch (o Logstash, opcionalmente).

Logstash, como ya se ha visto, permite crear un completo conducto de datos, que se compone de varias entradas, filtros y salidas. Lleva más carga que el simple uso de latidos individuales.