Qué es el Elastic Stack

Elastic Stack es una solución OpenSource que suele emplearse tanto como para el análisis de datos de tipo timeseries, como por ejemplo logs de aplicación, como también para datos estáticos tipo catálogo de productos o inventarios.

La suite de Elastic Stack es un producto de OpenSource que está compuesta por los siguientes productos:

  • Kibana, es la interfaz de visualización.
  • Elasticsearch, el core de la solución, es donde se guardan e indexan los documentos.
  • Logstash, es la herramienta de ingestión, transformación y enriquecimiento de datos
  • Beats, son pequeños agentes de propósito especñifico que permiten ingesta de datos

Se puede considerar a elasticsearch como una base de datos NoSQL  timeseries basada en el motor de búsqueda Apache Lucene.


Elasticsearch

Es el corazón del Stack, escrito en Java y con licencia Apache, es un motor de búsqueda cuya finalidad es realizar el indexado, análisis y búsqueda de documentos casi en tiempo real, esto quiere decir que permite la consulta de los datos indexados en tan solo unos segundos de delay, dependiendo de cómo sea la configuración de la instalación que hagamos.

Este motor escala muy bien en forma horizontal gracias a la posibilidad de particionar (sharding) y al replicado de los índices, esto nos permite usar hardware commodity y no gastar mucho dinero en instancias o hardware especializado

Las consultas y operaciones al motor se realizan mediante una interface REST y en formato JSON con el lenguaje DSL, el cual es muy práctico y flexible.

Puede trabajar de forma de schema on read y schema on write lo cual le da mayor flexibilidad versus sus competidores.

Se puede extender mediante plugins, x-pack (que merece de por si mismo un apartado) y otros como por ejemplo S3 repository plugin que permite guardar la toma de backups en AWS.

 

Logstash

Es la parte del Stack que permite la ingesta de datos, es la solución de ETL que nos es provista por la suite. Esta pieza de software puede ser cambiada por alguna otra de preferencia como por ejemplo fluentd.

Logstash puede tomar y procesar los datos de varias entradas, logs, puertos TCP, colas de mensajería, etc y los puede enviar a múltiples destinos, entre ellos a elasticsearch o bien a una cola de mensajería.

Los datos de entrada pueden enriquecerse mediante plugins como el de GeoIP que permite identificar de qué parte del mundo es la IP origen en, por ejemplo, un log de transacciones de un servidor web, logrando de esta manera una nueva dimensión en el análisis de los datos ingeridos.

 

Beats

Estos son agentes livianos que permiten hacer ingesta de datos con mínima configuración por parte del usuario.

Los Beats pueden enviar los datos recolectados directamente a elasticsearch o a logstash si se requiere un mayor enriquecimiento de los mismos.

Sirven para recolectar cierto tipo de información y resolver problemáticas por ejemplo métricas de sistema operativo, ingerir un archivo, analizar tráfico de red, etc

Actualmente existen estos Beats:

  • Metricbeat, colecta métricas del sistema y servicios (cpu, memoria, etc)
  • Auditbeat, toma la información de sistema de auditoría de un equipo Linux
  • Packetbeat, captura el tráfico de red (tcpdump) e interpreta múltiples protocolos de aplicación
  • Filebeat, ingesta y centralización de logs (files)
  • Winlogbeat, envía la información de los eventos de Windows para procesar en elasticsearch
  • Heatbeat, monitorea la disponibilidad de servicios
  • Functionbeat, permite hacer el deploy de funciones FAAS

Como se puede ver existen diversos agentes para solucionar problemas de la manera más simple y sencilla.

 

Kibana

Es la herramienta  visual del stack en la cual podemos configurar visualizaciones para agregar a dashborads, también permite hacer gestión del cluster de elastic y manejo de los índices. Como otras partes del stack, esta también permite ser ampliada mediante plugins.

Kibana también permite hacer monitoreo en base a los datos que se ingesta, machine learning y detección de anomalías, análisis de relaciones mediante grafos, presentaciones tipo powerpoint con datos realtime en canvas.

Algunos dashboards de Kibana para resolver casos de uso:

Análisis de texto en redes sociales (Twitter)

 

Analisis de datos de un sitio de e-comerce

 

 

Llámenos hoy mismo y reciba un primer “quick-assessment” GRATUITO