Sácale todo el partido a tus logs en tu negocio

Escrito por TransparentCDN
Software
2

Con el auge de internet y el creciente número de usuarios, las aplicaciones generan grandes volúmenes de datos. Estos logs o ficheros de registro del sistema son información potencial para cualquier negocio. Pero, ¿para qué nos sirven exactamente los logs?.

En el 95% de las veces nos van a ayudar a solucionar problemas en la plataforma, como incidentes de seguridad, actividades irregulares o problemas operacionales. Un log nos va a permitir ver los hábitos de navegación de nuestros usuarios, a qué hora se conectan más o desde dónde están accediendo o qué sitios de su web son los más visitados.

Una forma de hacerlo es desde la misma línea de comandos, filtrando con herramientas del sistema del tipo grep, awk o sed entre otras. Hasta aquí no hay mucha novedad, el procesamiento de logs no es algo nuevo. Sin embargo, si estos registros se procesan en tiempo real y además se puede hacer de forma monitorizada sí que lo es.

 ¿Cómo monitorizamos en tiempo real los logs?

Existen muchas formas de hacerlo, con sus ventajas e inconvenientes, lo importante es encontrar la que más se adecúe a nuestro negocio y con la que nos sintamos más cómodos. Como en casi todo, disponemos de herramientas comerciales y software libre. En esta ocasión nos vamos a centrar en una solución utilizando varios softwares libres como Logstash, Redis, Elasticsearch y Kibana.

Arquitectura Logs

Redis

En la arquitectura propuesta, vamos a usar Redis como un buffer intermedio donde los logs son almacenados antes de ser indexados por Logstash e insertados en Elasticsearch a modo de cola.

Redis es un almacén de conjuntos clave-valor. Las claves son cadenas de texto que identifican valores (bloques de datos). Al ser una base de datos en memoria con la posibilidad de persistencia a disco, la diferencia de otras aplicaciones como, por ejemplo, Memcached que no lo soportan. Entre las muchas ventajas de esta herramienta destaca que se emplea para implementar características específicas de forma fácil y rápida.

Logstash

Logstash es un software escrito en Java para la administración de logs. En el diseño propuesto se va a encargar de recoger, transformar y dirigir. Logstash lee y parsea los logs almacenados en Redis para después escribirlos en Elasticsearch donde se almacenan y comparten.

Logstash se caracteriza por soportar un gran número de entradas de datos, como ficheros o bases de datos, al igual que códecs, filtros y salidas donde los logs procesados son escritos.

Logs

Elasticsearch

Esta potente herramienta nos permitirá indexar un gran volumen de datos y nos sirve de almacenamiento centralizado para todos nuestros logs e indexarlos para que su búsqueda posterior se ejecute rápidamente.

Elasticsearch es un servidor de búsqueda escrito en Java y basado en Apache Lucene, aunque pude usarse desde Python, .NET, PHP o incluso desde un navegador con Javascript. Entre sus cualidades destacan la escalabilidad, que es distribuido y que está pensado especialmente para aplicaciones en tiempo real.

Kibana

Kibana es un frontend web para Elasticsearch que permite visualizar nuestros logs, generar gráficos, tablas e incluso mapas. Este sistema analítico con licencia Apache nos permite hacer búsquedas y análisis sobre los datos almacenados en Logstash y Elasticsearch. Se caracteriza por poseer una interface muy potente que puede crear dashboards personalizados que se guardan y comparten.

Está claro que necesitamos explotar los logs ya sea con herramientas opensource o comerciales. Los logs nos van a permitir encontrar problemas en nuestras aplicaciones y solucionarnos, vamos a aprender cómo se comporta nuestro sistema en entornos que no conocemos, y sobre todo nos va a ayudar a mejorar la experiencia de nuestros usuarios. En definitiva, “all you need is log”.


Continúa leyendo
  • Pablo

    Hola,
    Yo tengo servidores microsoft y no puedo poner ese sistema. ¿Que puedo hacer para mejorar mi gestion de los logs? Es un poco horrible el visor de eventos

  • Coke

    Pablo, no lo he probado pero todo el stack esta escrito en java (salvo kibana que la ultima versión es ta en node) debería poder montarse sobre windows o al menos eso dicen en la pagina de elasticsearch.

Noticia escrita y patrocinada por
Patrocinado por TransparentCDN

Últimos análisis

Valoración RZ
10
Valoración RZ
7
Valoración RZ
9
Valoración RZ
10
Valoración RZ
8
Valoración RZ
10
Valoración RZ
9
Valoración RZ
9
Valoración RZ
10