Últimas entradas

¿Que es ELK? Elasticsearch, Logstash y Kibana

En este post se explicará que es el stack ELK, acrónimo de ElasticSearch, Logstash y Kibana. ELK es un conjunto de herramientas de código abierto que se combinan para crear un servicio de administración de registros, de diversas fuentes, aplicaciones, servicios, permitiendo el monitoreo, seguimiento y análisis de logs generados desde distintos servidores.

Componentes

elk-architecture-classic

Elasticsearch

Es una base de datos distribuida. Distribuye toda la información en todos los nodos, por tanto es tolerante a fallos y tiene alta disponibilidad. Al igual que distribuye la información, distribuye el procesamiento. Cuando se realiza una consulta o búsqueda y esa información se encuentra distribuida, será cada nodo el que procese dicha información y devuelva los resultados. Por tanto, podemos obtener mejores rendimientos.

Es un motor de búsqueda orientado a documentos que nos permite indexar un gran volumen de datos para poder hacer consultas sobre ellos posteriormente.

Entre sus principales características se puede mencionar:

  • Acceso en tiempo real: ElasticSearch nos permite acceder sobre los datos que se están modificando en tiempo real.
  • Escalabilidad: Gracias a su diseño nos permite escalar de forma horizontal e ir escalando nuestros servidores según nuestras necesidades.
  • Alta disponibilidad: Los clusters de ElasticSearch son capaces de detectar qué nodos están fallando y reorganizarse para hacer que los datos sean siempre accesibles.
  • Multi-Tenant: Nos permite operar sobre distintos índices al mismo tiempo y así potenciar nuestras búsquedas.
  • No utiliza esquemas: Permite trabajar sin una estructura fija de base de datos.
  • Orientado a documentos: Las entidades de Elasticsearch se almacenan como archivos JSON estructurados donde todos los campos son indexados y podemos incluir todos los índices en una misma consulta.
  • API: ElasticSearch nos proporciona APIs Restfull en JSON junto con APIs para diferentes lenguajes.
  • Búsquedas basadas en texto: ElasticSearch está basado en Lucene, lo que incrementa las capacidades de búsqueda de texto, soportando geolocalización, autocompletado.
  • Gestión de conflictos: Previene la pérdida de datos al editar simultáneamente los registros.

Logstach

Es la parte de preprocesamiento antes de guardar la información en Elasticsearch que hemos comentado, donde recogemos un input, una entrada, trabajamos los eventos y los sacamos por una salida, antes de almacenarlos en las bases de datos.

Kibana

Es el más visual, dónde vamos a generar las visualizaciones sobre la información y dónde vamos a generar los dashboards.

Estos tres componentes son los pilares, pero no son los únicos módulos que tiene ELK.

Beats

Son una especie de shippers, de recolectores de información. Recogen información, ya sea de un fichero, log de datos, eventos, métricas del sistema (CPU, RAM), hacen comprobaciones de qué servicios se encuentran activos, analizan a nivel de red los paquetes, el tiempo de respuesta entre ello.

Principales Características

  • Recolecta logs de eventos, aplicaciones, servicios, servidores
  • Procesa esta información y la pone a disposición a disposición de las personas que la necesitan
  • ELK tiene módulos de seguridad permitiendo visualizar determinada información a cada tipo de usuario.
  • Formatea los campos y los convierte en opciones de búsqueda y filtrado, debido a que hay logs que tienen formatos irregulares
  • Presenta esta información, a través de Kibana, y esos campos en visualizaciones, donde podremos hacer búsquedas, filtrados, agregaciones.

Mayor referencia en: https://www.elastic.co/elk-stack

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *