mobile menu icon

Utilizando Exceptionless para monitorizar logs y excepciones

Publicado por Modesto San Juan el 05/06/2015

Logging, Monitoring, .Net, DevOps


Cada vez que abordo un nuevo desarrollo, considero que la generación de trazas es una parte vital ya que es uno de los mecanismos que nos va a permitir diagnosticar e identificar cualquier tipo de problema cuando estemos en producción, en ocasiones incluso antes de que los propios usuarios lleguen a reportarlo.

Hacer que nuestra aplicación genere las trazas adecuadas es una gran herramienta, no sólo para diagnosticar bugs, también permite identificar problemas relacionados con el rendimiento y otro tipo de funcionamientos anómalos de nuestras aplicaciones.

Durante los últimos años he utilizado NLog, la librería de The Object Guy, desarrollos propios y estos últimos meses he utilizado Serilog en proyectos WPF, Web y WinRT. Pero siempre hay algo que no termina de convencerme, los interfaces para explorar los logs. He probado aplicaciones para Windows como LogExpert, BareTail, Harvester, Tail for Win32, o soluciones más trabajadas como Splunk o LogEntries, pero al final ninguna me ha convencido por funcionalidad o por coste.

Hace unos meses me encontré con ExceptionLess y me pareció un proyecto bastante interesante. A modo de resumen, estos son algunos de los puntos que me parecieron interesantes:

Y como no todo son cosas buenas, me parece importante remarcar algunas cosas que no me han gustado durante su uso:

Ojo si quieres configurar ExceptionLess en tu propio servidor

No tiene sentido hacer un tutorial sobre cómo configurarlo en local porque en github están las instrucciones y no son complicadas. Únicamente es necesario tener MongoDB y ElasticSearch. En caso de montar varios servidores de API, es necesario Redis, pero para un único nodo no es necesario y utiliza una implementación en memoria.

Ten en cuenta que necesitas instalar dos proyectos, el API y la UI. Para este ejemplo, supongamos una configuración local de pruebas con el API instalado en: http://localhost/ExceptionLess.API

Al instalar la UI, es necesario editar el fichero app.config para especificar en la clave BASE_URL la url del API. Pues bien, aunque la primera opción parece que sería poner la url ‘http://localhost/ExceptionLess.API’, al hacer esto no va a funcionar. La url correcta que hay que configurar es: ‘http://localhost/ExceptionLess.API/api/v2’

Sin embargo, para enviar logs a ese servidor desde una aplicación .Net, la url que debo configurar si que es ‘http://localhost/ExceptionLess.API’. Esto me volvió un poco loco al principio.

 

 

Publicado originalmente en el blog de Modesto San Juan.

Volver a posts