Splunk vs. Sumo Logic vs. LogStash vs. GrayLog vs. Loggly vs. PaperTrails vs. Splunk>Storm

blog_boat (1)

Splunk, Sumo Logic, LogStash, GrayLog, Loggly, PaperTrails… ¿Me olvidé de alguna? Estoy seguro de que sí. Los logs son como los combustibles fósiles: hemos deseado deshacernos de ellos durante 20 años, pero aún no lo hemos logrado. Bueno, ¡si tal es el caso, yo quiero un BMW!

A lo largo de los últimos años, se ha creado un montón de herramientas para el análisis y manejo de logs, en un intento por ayudar a las operaciones y los desarrolladores a entender en medio de la creciente cantidad de información de los logs. Por lo tanto, pensé que sería interesante analizar qué opciones tenemos y ver cuáles son los puntos fuertes de cada herramienta, desde la perspectiva de un desarrollador.

Splunk

Ya que es la herramienta más grande en este campo, decidí colocar a Splunk en su propia categoría. Eso no significa que sea la mejor herramienta para lo que tú necesitas, pero sí que merece el reconocimiento por ser un producto que, básicamente, creó una nueva categoría.

Pros

Splunk es, probablemente, la solución más rica en funcionalidades en este campo. Cuenta con cientos de aplicaciones (yo conté 537) para entender casi cualquier formato de información de log, desde la seguridad hasta la inteligencia analítica empresarial (comúnmente conocida como business analytics), pasando por el monitoreo de la infraestructura. Las herramientas de búsqueda y gráficos de Splunk son tan ricas en funcionalidades que probablemente no existe ningún conjunto de datos al que no puedas acceder a través de su interfaz de usuario o de sus API.

Contras

Splunk tiene, principalmente, dos aspectos negativos. El primero, que es más bien subjetivo, es que se trata de una solución en sitio (on-premise), lo cual implica una configuración que resulta costosa tanto en lo monetario como por su complejidad. Para implementarlo en un entorno de alta escala, será necesario instalar y configurar un clúster dedicado. Como desarrollador, eso no es lo que frecuentemente podrías o querrías hacer, al menos no como la primera opción.

La segunda contra de Splunk es que es caro. Para soportar una aplicación de la vida real, decenas de miles de dólares serán necesarias, con lo cual seguramente necesitarás firmas de altos rangos de tu organización y el proceso será tedioso. Si tienes una nueva aplicación y quieres algo ágil, donde puedas arrancar rápidamente y hacer ajustes rápidos en la medida que las cosas avanzan, mejor sigue leyendo.

Puedes leer sobre algunas otras herramientas de análisis de logs empresariales aquí.

Herramientas SaaS de análisis de logs

Sumo Logic

Sumo fue fundada como una versión SaaS (software como servicio, en la nube) de Splunk, y fue tan lejos en esto que incluso imitó algunas de las funcionalidades y visualizaciones de Splunk en las etapas más tempranas. Ahora que eso está claro, lo cierto es que SL ha madurado y derivado en una auténtica solución para el manejo de logs empresariales.

Pros

SL está repleto de funcionalidades para reducir, buscar y graficar enormes cantidades de datos. Entre todas las herramientas de análisis de logs SaaS, probablemente es la más rica en posibilidades. Asimismo, el que sea un servicio ofrecido en la nube, implica una configuración y operación más sencilla. Uno de los principales puntos fuertes de Sumo Logic radica en la posibilidad de determinar puntos de referencia y notificarte de manera activa cuando estadísticas clave cambian tras cierto evento, como por ejemplo la presentación de una nueva versión o un intento de traspaso.

Contras

Esta es compartida por todas las herramientas de análisis de logs SaaS, y reside en que es necesario llevar los datos al servicio para que sea posible hacer algo con ellos. Esto se traduce en potenciales GBs (o más aún) de datos subiendo desde tus servidores. Esto puede generar problemáticas en varios frentes:

  1. Como desarrollador, si registras alguna información sensible o datos personales, será necesario que te asegures de que estén clasificados.
  2. Puede haber un lag (retraso) entre el momento que los datos son registrados y el momento en que se hacen visibles para el servicio.
  3. Existe un overhead adicional con tus máquinas transmitiendo gigabytes de datos, lo cual en definitiva depende del rendimiento de tus registros.

Los precios de Sumo, asimismo, no son del todo transparentes, lo cual significa que debes estar preparado para enfrentarte a un proceso de compra más complejo que simplemente pasar la tarjeta de crédito de tu equipo y listo.

Actualización: Acabo de recibir unas líneas de Brandon, del equipo de Sumo Logic, para aclararnos que puedes adquirir el producto usando tu tarjeta de crédito desde dentro de la versión Free. No será tan sencillo como hacerlo desde el sitio web, pero sí muy parecido.

Loggly

Loggly es otra robusta herramienta para el análisis de los logs, enfocada en la simplicidad y la facilidad de uso para un público DevOps.

Loggly

Pros

Mientras que Sumo Logic está fuertemente orientada a la seguridad del sector corporativo, Loggly fue creada pensando más en ayudar a los DevOps a encontrar y resolver problemas operacionales. Esto la hace muy amigable para los desarrolladores. Tareas como la creación de un desempeño personalizado y paneles de administración DevOps son sumamente fáciles de realizar. Los precios son transparentes, lo cual facilita los primeros pasos con ella.

Contras

No esperes que Loggly escale hasta convertirse en una solución de infraestructura avanzada, seguridad o análisis. Si necesitas monitoreo de infraestructuras o forenses, estás en el lugar equivocado. Esta es una herramienta útil principalmente para que los DevOps puedan realizar análisis sintácticos a los datos que vengan de los servidores de tus aplicaciones. Si necesitas cualquier otra cosa, deberás desarrollarla tú mismo.

PaperTrails

PaperTrails es una forma simple de realizar búsquedas y consultas en los logs desde varias máquinas, en una interfaz sólida y fácil de usar. Puedes pensar en ella como en un seguimiento de tus logs en la nube, en el que nunca quedarás lejos.

PaperTrails

Pros

PT es lo que es. Una forma simple de ver archivos de log desde múltiples máquinas en una vista singular en la nube. La experiencia de usuario (UX) en sí misma es muy similar a los logs en tu máquina, y lo mismo ocurre con los comandos de búsqueda. Apunta a ser algo sencillo y útil, y lo logra con elegancia. Además, es muy accesible.

Contras

PT es, esencialmente, una aplicación de texto. Si buscas alguna capacidad predictiva o posibilidades de informes o de integraciones avanzadas, estás mirando en la dirección equivocada.

Splunk>Storm

Este es el hermano menor (adoptivo, dirían algunos) Saas de Splunk. Ofrece algo muy similar pero alojado en los servidores de Splunk.

Pros

Storm te permite experimentar con Splunk sin necesidad de instalar el software en sitio, e incluye varias de las funcionalidades ofrecidas en la versión completa.

Contras

Ya que esta no es una oferta comercial, la cantidad de datos que puedes enviar es limitada. Se parece más a una versión limitada de Splunk en línea, pensada para permitir a la gente que pueda probar el producto sin tener que realizar ninguna implementación. Un nuevo servicio llamado, Splunk Cloud, está diseñado para brindar una experiencia Splunk SaaS en todas sus dimensiones.

Herramientas de análisis de código abierto

Logstash

Logstash es una herramienta de código abierto para la recolección y el manejo de los archivos de logs. Es parte de un conjunto de soluciones (stack) de código abierto que también contiene a ElasticSearch para la indexación y la búsqueda a través de la información, así como también Kibana para graficar y visualizar los datos. Todos ellos juntos conforman una solución de manejo de logs muy potente.

Logstash

Pros

El hecho de que sea una solución de código abierto implica que, naturalmente, tú puedes mantener un muy buen control, así como que se ofrece a un muy buen precio. Logstash usa tres componentes maduros y potentes -todos los cuales reciben un fuerte mantenimiento- que crean un paquete muy robusto y extensible. Para ser una solución de código abierto, a decir verdad, es bastante fácil de instalar y comenzar a usar. Nosotros usamos Logstash y la adoramos.

Contras

Puesto que Logstash es, básicamente, un conjunto de soluciones, eso significa que en realidad estás tratando con tres productos diferentes. Por esa razón, la extensibilidad es también más compleja. Los filtros de Logstash están escritos en Ruby, Kibana consiste en Javascript puro, mientras que ElasticSearch tiene su propia API REST, así como plantillas JSON.

Asimismo, cuando pases a la producción, tendrás que separar a los tres en diferentes máquinas, lo cual vuelve las cosas aún más complejas.

Graylog2

Un jugador relativamente nuevo en este campo, GL2 es una herramienta de análisis de logs de código abierto respaldada por MongoDB, así como también por ElasticSearch (al igual que con Logstash) pensada para el almacenamiento y la búsqueda a través de errores de log. Se centra primordialmente en dar una mano a los desarrolladores para detectar y solucionar los errores en sus aplicaciones.

Dentro de esta categoría, también puedes encontrar a fluentd y Kafka, el cual posee como uno de sus principales casos de uso el almacenamiento de datos de log. ¡Uff!… ¡Cuántas opciones!

Si bien este artículo no se trata sobre OverOps, pienso que una de sus funcionalidades puede resultarte relevante para todo esto que venimos hablando.

La mayor desventaja que todas las herramientas de análisis de logs y todos los archivos log en general comparten, radica en que los datos correctos deben primeramente ser depositados allí por ti. Desde el punto de vista de un desarrollador, esto implica que si una excepción no queda registrada en el log, o si los datos de la variable que necesitas entender por qué ocurrió no están allí, no hay en este mundo ningún archivo log ni herramienta de análisis que pueda ayudarte. La depuración en producción es de lo peor 🙁

Una de las cosas que hemos añadido a OverOps es la capacidad de saltar directo desde un error en un archivo log a una sesión de depuración registrada. Esto significa que, para cada error de log, puedes ver el auténtico código fuente, así como los valores de variable, en el mismo momento del error. Puedes averiguar más sobre ello aquí.

Este es un artículo en el que me gustaría escuchar sus experiencias con algunas de las herramientas mencionadas (y también con las que no lo fueron). Estoy seguro de que habrá aspectos en los que no todos estarán de acuerdo y otros en los que algunos deseen corregirme, así que adelante, en la sección de comentarios que aparece más abajo pueden hacerlo. Me encantaría saber qué piensan.

You Might Also Like

Most Viewed Stories

Tal is the CTO of OverOps. Tal has been designing scalable, real-time Java and C++ applications for the past 15 years. He still enjoys analyzing a good bug though, and instrumenting code. In his free time Tal plays Jazz drums.