Como comentamos en el post anterior, Sentry se centra en los reportes dentro del proceso de integración continua y como sabrás, analizar los errores de tu aplicación con ficheros enormes de logs es muy complicado. Aquí es donde Sentry entra en juego, con el objetivo principal de automatizar la mejora continua de tu aplicación con monitorización y reportes. En general, los usuarios y los registros proporcionan pistas, pero Sentry proporciona respuestas, para corregir excepciones, o errores de inmediato.
¿Conoces Sentry?
Sentry se presenta como un "Error Tracking Software" y permitirá a tu equipo encontrar y corregir rápidamente errores en producción de tu aplicación web. Con la información que te proporciona podrás filtrar, reproducir y resolver los errores con la máxima visibilidad, aportando una eficiencia extraordinaria en la comprensión del problema. Esto te permitirá iterar más rápido a ti y a tu equipo de desarrollo, creando mejores aplicaciones, con el objetivo de aumentar la eficiencia de los usuarios mejorando su experiencia y generando un producto estable y fiable.
Empodera a tus usuarios
Dale a los usuarios el poder de ayudar a depurar la aplicación, puedes solicitarles comentarios sobre los errores detectados y sabrán que tú y tu equipo trabajaréis en ello, de esta forma los usuarios no tendrán incertidumbres, incrementando la satisfacción de los usuarios y, por tanto, de los clientes que delegan su confianza.
Lenguajes y frameworks integrables
El punto fuerte de Sentry es su fácil integración con multitud de lenguajes, frameworks y plataformas. Dispone de infinidad de conectores y plugins para diferentes plataformas, lo que lo hace una herramienta versátil y potente. Los lenguajes disponibles para integrar actualmente son:
- JavaScript: React, Angular, Angular 2, Ember, Backbone y Vue.
- Node: Express y Koa.
- Python:Django, Flask, Celery, AWS Lambda, Pyramid y RQ.
- PHP: Symfony, Laravel y Monolog.
- Ruby: Rails and Sinatra.
- Go: native
net/http
module. - Cocoa: Objective-C y Swift.
- Android: Maven Central
- Java: Log4j, Log4j 2, Logback y Google App Engine.
- Kotlin: Maven Central
- Scala: Maven Central
- .NET: .NET y C#.
- Perl: CPAN
- Elixir: Hex
¿Como funciona técnicamente?
Sentry ofrece su servicio como SaaS, aunque el proyecto es Open-Source, construido por la comunidad, con el soporte y confianza de grandes como Dropbox, Airbnb, PayPal, Uber, Reddit o Microsoft. También puedes alojarlo en tu infraestructura. En github encontrarás todo lo necesario para el despliegue.
Sentry dispone de una API que, desde la aplicación que tengas integrada, se enviaran todas las excepciones y errores, además del reporte del usuario si así lo indicamos en el proyecto. El sistema realiza toda la abstracción de datos y se encarga de capturar todo para enviarlo a Sentry, esta captura la realiza de modo asíncrono para procesar todas las peticiones relacionadas con el proceso. De esta forma capturara una información muy relevante para ver qué está sucediendo.
Cada nueva traza, Sentry la gestiona como un nuevo "Issue". En esta información podremos observar el equipo afectado, la trazabilidad de las excepciones, las IPs afectadas, paquetes instalados, todas las cabeceras, rutas de los ficheros, threads… y las agrupa de manera que la información mostrada sea lo más sencilla, rica y legible posible gracias a un diseño elegante, práctico y usable. Te dejo un snapshot de un Issue como ejemplo:
Las excepciones o errores los recibirás de inmediato, recibiendo notificaciones por email, SMS, Slack, JIRA, Gitlab, Trello, o con muchas otras integraciones disponibles, permitiéndote poder utilizar Sentry desde tus aplicaciones y servicios favoritos.
Conclusión
Es una herramienta que potenciará la detección de problemas en tiempo real y tu equipo podrá reaccionar a estas incidencias de manera muy eficaz y los usuarios no tendrán incertidumbres, empoderandose y colaborando en la mejora continua de la aplicación web, incrementando su satisfacción y, por tanto, de los clientes que delegan su confianza.
Sentry se centra únicamente en el seguimiento de errores de aplicaciones web y esto lo hace de maravilla, pero se echa en falta una herramienta que nos permita monitorizar toda la infraestructura, como nos ofrecen otras soluciones del estilo de NewRelic. Pero podemos complementarlo con un sistema de monitorización a nivel de red como LibreNMS, Zabbyx, Nagios. Así podremos identificar en tiempo real qué incidencias se están produciendo en la red, el código, detectar bugs del sistema, servicios de terceros, etc. de manera automatizada, y no analizando logs de servidor y aplicación.
Fuentes: