¿Te gustaría resolver algunos de los inconvenientes que trae el trabajar con la gestión de logs? Estos inconvenientes pueden ser por ejemplo la detección de incidencias en tiempo real, el almacenamiento de gran cantidad de información, el tiempo de respuesta y la escalabilidad de un sistema, esto puede llegar a convertirse en un verdadero problema por otra parte el tener que entrar en 40 servidores para encontrar una línea de log específica, tardar horas en buscar información determinada entre tantos ficheros, es como buscar una aguja en un pajar ¿Cierto? Pues no te preocupes esto tiene solución por eso en este artículo te damos a conocer ELK.

Y es que con ELK podrás buscar, analizar y visualizar los datos con mayor facilidad en tableros de información 100% personalizables, además puede manejar eficientemente gran cantidad de datos sin tener que preocuparnos por esto debido a su escalabilidad.

Pero se estarán preguntando aún ¿Qué es ELK? es un conjunto de herramientas de gran potencial de código abierto que se combinan para crear una herramienta de administración de registros permitiendo la monitorización, consolidación y análisis de logs generados en múltiples servidores, estas herramientas son: ElasticSearch, Logstash y Kibana. También pueden ser utilizadas como herramientas independientes, pero la unión de todas ellas hace una combinación perfecta para la gestión de registros como ya hemos mencionado.

ElasticSearch: Motor de búsquedas y análisis donde se almacenan los datos ya optimizados por la indexación, distribuido, tolerante a fallos y alta disponibilidad.

Logstash: Lee los datos de diferentes fuentes simultáneamente, tratarlos en la medida que necesitemos para luego finalmente poder almacenarlos en este caso en ElasticSearch.

Kibana: Permite Visualizar los datos que se encuentran almacenados en ElasticSearch, permitiendo dar forma a sus datos de manera personalizada, en pocas palabras, es la interfaz para la visualización y análisis de datos.

A continuación podemos visualizar mejor el flujo de ELK donde Logstash obtiene todos los mensajes de logs, transformándolos según requiramos, para luego ser almacenados en ElasticSearch permitiendo así visualizarlos y manejarlos con Kibana.

Imagen 0 en ¿QUÉ ES ELK? ElasticSearch, Logstash y Kibana

Entre los problemas que trata de solventar Logstash se encuentran:

  • Falta de Consistencia: Dificultad para realizar búsquedas entre los distintos formatos de logs que generan los diferentes dispositivos, es decir, cada dispositivo tiene su propio formato de logs.
  • Formato de Tiempo: Cada log puede tener un tipo de formato de tiempo diferente por ejemplo: Oct 04 12:15:21, 020289 07:23:24, 150260505, entre otros.
  • Descentralización: Significa que los logs se encuentran repartidos en todos los distintos servidores que tengamos disponibles y para encontrar algún log en específico se tendría que buscar en cada servidor hasta encontrar dicho log. Es sencillo realizar esta tarea cuando se tienen pocos servidores, pero cuando se trata de 60 servidores o más la tarea es bastante compleja.
  • Falta de Conocimiento: Existen usuarios finales que utilizan servicios, en caso de que le ocurra alguna falla necesitan monitorizar dicho servicio para indagar que le sucedió, pero probablemente nunca han trabajado con logs y desconocen la ruta de los logs, como se actualizan, y puede que no entiendan lo que expresa una línea de log.

No podemos dejar de mencionar que a estos tres pilares (ElasticSearch, Logstash, Kibana) también se le suman dos componentes adicionales:

Beats: Para la recopilación de datos entre plataformas y puede enviar estos datos a ElasticSearch directamente o a Logstash.

X-Pack: El componente más reciente de la pila ELK ofrece algunos plugins como de seguridad, alertas, monitorización de todo el sistema, grafos y machine learning.

Con la suma de estos dos componentes a la pila ELK ahora el término sería sustituido por lo que conocemos como Elastic Stack.

Artículo desarrollado a partir del vídeo por Jhuly Acosta