Streaming de las trazas en Azure Web Sites

Una característica interesante cuando desplegamos nuestras aplicaciones en Windows Azure Web Sites es la posibilidad de tener un streaming en tiempo real de las trazas de la aplicación, cosa que resulta muy útil, sobre todo en tiempo de desarrollo.

Esta funcionalidad está disponible para todos los frameworks y lenguajes que están soportados en la plataforma, en el caso de aplicaciones .NET, se integra perfectamente con System.Diagnostics.

Por ejemplo, si partimos de una aplicación de ejemplo de ASP.NET MVC, podemos añadir las siguientes trazas de información, error o advertencia en cada uno de los controladores que tenemos:

public ActionResult Index()
{
    Trace.TraceInformation("Index action selected!");

    ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
    return View();
}

public ActionResult About()
{
    Trace.TraceError("About action selected!");

    ViewBag.Message = "Your app description page.";
    return View();
}

public ActionResult Contact()
{
    Trace.TraceWarning("Contact action selected!");

    ViewBag.Message = "Your contact page.";
    return View();
}

Después de desplegar la aplicación en la plataforma, podemos hacer uso de las herramientas de líneas de comandos, disponibles en todas las plataformas, para conectarnos al site y ver las trazas que se van generando.

El comando es: azure site log tail <site>

La herramienta permite tanto ver el log en tiempo real, como descargarse los logs.

Streaming2

Aquí tenemos un ejemplo de las trazas generadas.

Streaming3

Y aquí un ejemplo dónde filtro por las trazas que tienen la palabra “Index”.

Streaming4

Claro está, además de poder ver o descargar el log desde la línea de comandos, también podemos conectarnos por FTP a nuestro site y ver los logs generados. Por defecto la plataforma divide el log en ficheros máximos de 128k. Así mismo permite por defecto hasta 1 Mb de log para la aplicación. Los logs permanecen en el sistema hasta un máximo de 12 horas.

Streaming5

Desde la configuración del site, en el portal de Windows Azure, podremos ver y modificar la configuración del site.

Si no tenemos activada el log de la aplicación y nos conectamos con la herramienta de línea de comandos, ésta activará automáticamente el log.

Streaming1

Por último, comentar también que modificar la configuración de las trazas de la aplicación no implica que se recicle el pool y que no tanto se reinicie nuestro site. La configuración de diagnóstico se guarda en un fichero settings.json al que podemos acceder por FTP y verlo en el directorio diagnostics.

 

Streaming6

Log se guarda por defecto 12 horas

Si se conectas con la herramienta de línea de comandos para ver el streaming, te activa automáticamente el log.

Por defecto los ficheros se dividen en partes de 128K y el log siempre queda por debajo de 1 MB. Se pueden sobreescribir estos valores.

Cambiar la configuración de diagnóstico no recicla el pool y ni reinicia tu aplicación.

Ibon Landa

bon Landa lleva más de 15 años dedicado al desarrollo de software. Durante este tiempo ha trabajado en diferentes empresas en las cuáles ha podido trabajar en diferentes entornos y tecnologías. Actualmente está focalizado principalmente en tareas de desarrollo, arquitectura, en las herramientas del ciclo de vida y en todo lo relacionado con la plataforma de Cloud Computing Microsoft Azure, área en el que ha sido reconocido como MVP. Participa de forma activa en la comunidad, escribiendo su blog, manteniendo un portal sobre Microsoft Azure y colaborando con Microsoft y grupos de usuarios en eventos de formación, talleres y giras de producto.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *