¿Qué es y para qué sirve Elastic Stack? (Elasticsearch, Logstash, Kibana y Beats)

¿Qué es y para qué sirve Elastic Stack? (Elasticsearch, Logstash, Kibana y Beats)

La respuesta corta a ¿Qué es Elasticsearch?, se sintetiza en lo siguiente:

Elastisearch es una solución de búsqueda de código abierto basada en Lucene y desarrollada por Shay Banon

Sin embargo, hay una diferencia muy grande entre lo que es Elasticsearch y todas las soluciones que se pueden atender mediante el Elastic Stack; razón por la cuál, vamos a entender los conceptos generales del stack para luego dar algunos ejemplos de casos de uso concretos de la industria.

Elasticstack

En primer lugar, está el concepto Elastic Stack (ELK), el cual es el nombre que se le otorgó al conjunto de productos que Elastic, como compañía liberó. Inicialmente, estos eran Elasticsearch, Logstash y Kibana; los cuales detallaremos a continuación:

Elasticsearch

Es el corazón del stack, siendo el motor de almacenamiento, búsqueda, procesamiento e indexación de datos. Se caracteriza por ser distribuido, lo que permite su crecimiento horizontal almacenando grandes cantidades de datos no estructurados mediante documentos JSON. A diferencia de otros motores similares, su diferencial es la velocidad, pues es excelente para buscar y visualizar información en tiempo real.

Logstash

La forma más sencilla de definir Logstash, es describirlo como un ETL (acrónimo del concepto Extract Transform, Load). En otras palabras, Logtash permite llevar información desde cualquier origen a Elasticsearch. Por ejemplo, si los sistemas de información de tu compañía almacenan su información en bases de datos estructuradas como SAP HANA, Oracle, SQL Server, MySQL o cualquier otro, Logtash puede recolectar y cargar la información para que puedas buscarla, analizarla y visualizarla en tiempo real, básicamente, estás monitoreando tu información. También es posible extraer información de todo tipo de archivos y orígenes de datos, algunos ejemplos son archivos de logs, XML, csv, API-REST, entre otros.

Kibana

Tiene dos funciones concretas, por un lado, es la interfaz gráfica que permite administrar todas las herramientas del stack y por otro, es la herramienta de visualización para la creación de tableros de control, mapas, informes, entre otros atractivos para visualizar información. Mantiene también la gestión de herramientas adicionadas al Stack como los módulos de APM, Machine Learning, Canvas, Logging, Infraestructure y muchos otros que permiten ver la información de forma más atractiva para casos de uso específicos.

Beats

Aunque no hace parte del acrónimo ELK, los Beats son clientes ligeros de recolección de información que, al igual que Logstash, cargan información en Elasticsearch.

Existen Beats de todo tipo, algunos permiten saber la disponibilidad y métricas de desempeño de servidores, otros recolectan métricas de servicios cloud como Lambda, información del tráfico de red de un Sistema Operativo, logs de Kubernetes, métricas de instancias en AWS o Azure, desempeño de Apache, SQL entre muchas otras opciones. Además de los Beats propios de Elastic, la comunidad OpenSource tiene publicados muchos otros Beats. ¡Nuestro equipo también ha publicado Beats!

beats_logo.png

APM

El módulo de Aplication Monitoring del Elastic Stack fue incluido recientemente y permite monitorear el desempeño de aplicaciones desarrolladas en diferentes tipos de lenguajes. Utiliza módulos por cada tipo de lenguaje que envían la información del comportamiento del código directamente a Elasticsearch.

Machine Learning

Toda la información recolectada e indexada en Elasticsearch puede ser analizada para buscar anomalías y patrones que permitan predecir comportamientos o alertar comportamientos inusuales. El módulo de Machine Learning permite gobernar todas esas funcionalidades para hacer que los datos generen mayor valor.

Arquitectura de ELK

Este conjunto de herramientas conforman la arquitectura de Elastic Stack:

En la capa superior del Stack se encuentra Kibana, en el medio Elasticsearch y en la parte de abajo Beats y Logstash como herramientas de recolección e inserción de información.

Con lo anterior, no queremos decir que únicamente con Beats y Logstash sea posible insertar información en Elasticsearch, puedes incluso insertar datos desde los lenguajes de programación más comunes así como haciendo uso del API REST.

Casos de Uso

Ahora bien, entendiendo qué es el Elastic Stack, ya es más fácil saber qué se puede hacer con él.

Desde el punto de vista de Elastic, cada tipo de necesidad atendida con Elastic Stack se denomina un caso de uso. Hay muchos documentados en el sitio web de Elastic, pero también hay muchos otros que Elastic ni siquiera conoce.

Usamos Elastic a diario y muchas veces no sabemos que lo hacemos:

Uber

Cuando realizas una búsqueda de un vehículo en Uber, así como el seguimiento en tiempo real de tu servicio, todo esto está funcionando sobre Elasticsearch. Para el caso de los conductores de Uber, los mapas de calor en ala cuidad, en donde se encuentran las tarifas dinámicas, son posibles gracias a Elasticsearch. Toda esta información es generada por la aplicación, indexada por Elasticsearch y utilizada por la misma aplicación y todo, en tiempo real.

Tinder

La famosa aplicación de citas, utiliza el poder de búsqueda de Elasticsearch para cruzar intereses comunes, ubicación geográfica y otras variables para analizar y entregar en tiempo real, las coincidencias más relevantes para los usuarios son procesadas y analizadas en tiempo real.

Wallamart

Wallmart tiene alrededor de 11.000 tiendas en más de 23 países y gracias a Elasticsearch, pueden saber con exactitud cuántos bananos venden en todas sus tiendas en un solo punto y en tiempo real. Esta información permite tomar decisiones oportunas en la cadena de abastecimiento de Wallmart, manteniendo al día la operación de los almacenes.

Despegar

Cuando realizas la búsqueda de un billete para tu próximo vuelo, Elasticsearch está detrás de todo ello, la gran cantidad de información no sólo de Despegar, sino también de terceros que se debe analizar para que el sitio web funcione, se logra gracias a la eficiencia de Elasticsearch.

World of Warcraft

Blizzard utiliza Elasticsearch para analizar en tiempo real los registros de comportamiento de los juegos en línea de Blizzard, esto les permite decidir oportunamente las acciones para corregir fallas pues encuentran anomalías haciendo uso del módulo de Machine Learning dentro de Elastic.

¿Y en Colombia?

En Colombia existen varios casos de uso para Elasticsearch, algunos de ellos los resumiremos a continuación:

Rappi

gran parte de las búsquedas del primer unicornio Colombiano, se ejecutan a través de Elastic, permitiendo que los aproximadamente 3 pedidos por segundo que se ejecutan en la plataforma sean posibles.

Agilitix

La capa de virtualización de escritorios y aplicaciones entregada por el integrador Agilitix en uno de sus clientes, es monitoreada a través de Elastic Stack, permitiendo a las áreas de tecnología saber el consumo de aplicaciones a nivel de detalle de procesos de Sistema Operativo y usuarios en tiempo real. Toda la información es recolectada a través de más de 1000 Beats instalados y alrededor de 5 bases de datos SQL consultadas con Logstash.

Sector Financiero

Grandes entidades financieras colombianas, realizan el monitoreo de su infraestructura tecnológica bancaria a través de Elastic Stack, así como el análisis de archivos de logs complejos.

¿Existen más casos de uso?

Estos son solamente algunos de los casos de uso que se conocen sobre Elastic, pero hay muchos, muchos más. Algunos, ni siquiera son conocidos por Elastic; el hecho de ser de código abierto abre un sin número de posibilidades de aplicaciones del Stack.

Conclusión

En resumen, Elastic Stack no es solamente para búsqueda, es una plataforma de analítica, análisis y visualización de grandes volúmenes de información históricos y en tiempo real, que permite una gran variedad de aplicaciones en la industria para solucionar necesidades específicas, con la ventaja del código abierto que abre aún más el nivel de personalización y especificación de cada posible necesidad y por consiguiente, su solución.

Compartir:

Jeyson Guzmán

  • 5 minutos de lectura

  • Feb 26, 2020