La importancia de los logs para tu negocio.

¿Alguna vez se ha parado a pensar la cantidad de logs que generan sus aplicaciones? Y más alla de eso, ¿Ha caido en la cuenta de todos esos logs, que son información potencial sobre su negocio, y no se tienen en cuenta?. La información es poder, los datos son poder, su negocio está en sus datos.

Continuamente sus sistemas generan grandes volumenes de información que podrían llegar a ser muy útiles para el buen funcionamiento de su negocio. Sin embargo en muchas ocasiones, por motivos de diferente índole no prestamos toda la atención que debieramos a esos logs.

logs

Los logs al servicio de su negocio.

A menudo, se  encuentra con la necesidad de buscar determinada información en los logs del sistema, en el 95% de las ocasiones para tratar de solucionar problemas que afectan de algún modo a su plataforma.

Una manera de hacerlo suele ser desde la misma linea de comandos, filtrando con herramientas del sistema del tipo grep, awk, sed, etc, pero ¿se ha parado a pensar cuanta informacion hay en esos logs y lo beneficioso que seria poder explotarlos para su análisis? ¿No sería genial explotar esos logs de una manera predictiva en lugar de reactiva?

Algunos de ustedes pensarán, esto no es nada nuevo, llevo procesando mis logs desde hace años. Pues bien ¿que me diría si esto lo hacemos en tiempo real?

Además le diremos, que se puede hacer de forma automatizada. Puede incluir muchos mas logs combinados, y puede sacar métricas cruzadas. ¿Quiere verlo?. Siga leyendo.

http://www.transparentcdn.com/wp-content/uploads/cara-sorpresa.gif
Es posible tener logs de todo tipo unificado y en tiempo real. no solo almacenados, sino para poder consultarse y sacar métricas cruzadas

 

¿Por qué es esto beneficioso para mi negocio?

Desde ver los hábitos de navegación de sus usuarios, a que horas sus usuarios acceden más a  sus sistemas y a que horas menos. Puede ver desde dónde se está accediendo (país/región) o qué sitios de su web son más populares.

Eso es información valiosísima para su negocio. ¿Quiere perdersela?

Toda esta información bien interpretada, puede hacer que vea de una manera más clara que parte de su negocio debe fomentar, en que mercado invertir más dinero o incluso qué producto de su catálogo no está teniendo la aceptación esperada.

Mejora inmediata.

Me has convencido ¿Cómo lo consigo?

Hay muchas fórmulas y todas ellas igual de buenas o malas, es secreto está en encontrar la que más se adecúe a su negocio y forma de trabajar.

Existen herramientas comerciales que se podrían utilizar para este propósito, sin embargo, nosotros como es habitual, abogamos por una solución de software libre.

En esta ocasión vamos a hablar de una solución que desarrollamos usando varios softwares, como  logstash, redis, elasticsearch y kibana.

La arquitectura propuesta es algo así:

 

 

getting-started-centralized-overview-diagram

 

 

 

 

 

Vamos a empezar la casa por los cimientos …

Elasticsearch

Elasticsearch es un servidor de búsqueda escrito en javay basado en Apache Lunece. Entre muchas otras virtudes, Elasticsearch es distribuido, fácilmente escalable y pensado especialmente para aplicaciones real time.

Elasticsearch nos servirá de almacenamiento centralizado para todos nuestros logs.

Redis

Redis es una base de datos clave-valor de gran popularidad y fácil de usar. Una de las grandes ventajas de redis es que es una base de datos en memoria con la posibilidad de persistencia a disco (compitiendo con otras aplicaciones que no lo soportan, como Memcached)

En este escenario vamos a usar ReDIS como un buffer intermedio donde los logs serán almacenados por los agentes emisores de logs, antes de ser insertados en el elasticsearch a modo de cola.

Logstash

Logstash es un software escrito en java que corre en todas aquellas máquinas en las que esté interesado en recoger sus logs. Su función es recoger , tranformar y dirigir.

Este demonio está constantemente mirando una entrada de datos, bien puede ser un fichero, una base de datos, la stdin o una lista bastante larga de  puntos de entrada.

Según van entrando eventos al logstash  -en nuestro caso logs- , éstos son parseados y enviados al output que tengamos configurado (en el escenario propuesto un ReDiS).

Una vez los logs vayan entrando al ReDIS otro demonio de logstash con una configuración diferente a la que corre en los agentes, lee del redis e inserta en última instancia los logs en elasticsearch.

Kibana

Kibana es un frontend web para elasticsearch que te permite de una manera visual ver tus logs, generar gráficos, tablas e incluso mapas. Sin duda un complemente indispensable en este escenario.

 

security

 

logstash

Conclusión

Explotar los logs es necesario. Con herramientas comerciales u opensource, lo dejamos a su elección pero hágalo. Le dará una visión más precisa de lo que está pasando en su plataforma.

Consúltenos, le ayudaremos en la mejor combinación de herramientas.

 

linkedin: https://www.linkedin.com/in/jorgeromanwebperformance