Application Insights de Azure: ¿Qué es?

Es un servicio que ofrece la nube de Microsoft (Azure), que proporciona herramientas para monitorizar, analizar y detectar errores de rendimiento en las aplicaciones alojadas en dicha nube. Además, también ofrece la posibilidad de insertar trazas personalizadas y registrar errores en estas aplicaciones.

La utilización del servicio permite tener de una forma rápida y precisa, los datos de análisis relacionados con el rendimiento y funcionamiento de la aplicación.

También ofrece la posibilidad de configurar alertas personalizadas, en las que, por ejemplo, podemos recibir un email cada vez que se produzca un determinado error.

¿Qué herramientas ofrece? 

Podéis ver a través de este enlacelas herramientas que ofrece Application Insights. 

Herramientas de análisis y diagnóstico:

  • Alertas inteligentes y manuales de los índices de error y otras métricas, así como de la disponibilidad.
  • Gráficos de las métricas respecto al tiempo.
  • Búsqueda de diagnósticos en instancias de las solicitudes, excepciones, eventos personalizados, seguimiento de registros, vistas e página, dependencias y llamadas AJAX.
  • Análisis: Lenguaje para consultar los datos de telemetría
  • Paneles: Posibilidad de creación de gráficos para visualizar todos los componentes de la aplicación.

Tipos de telemetría:

  • Velocidad de solicitudes HTTP, tiempos de respuesta y niveles de éxito.
  • Tarifas de llamadas (HTTP y SQL) de dependencia, tiempos de respuesta, niveles de éxito.
  • Seguimiento de excepciones de servidor y cliente
  • Recuentos de vistas de página, recuentos de usuarios y sesiones, tiempos de carga del explorador y excepciones.
  • Tarifas de llamadas AJAX, tiempos de respuesta y niveles de éxito.
  • Contadores de rendimiento del servidor
  • Telemetría personalizada de cliente y servidor
  • Segmentación por ubicación de cliente, versión de explorador, versión de sistema operativo, instancia de servidor, dimensiones personalizadas, etc.
  • Pruebas de disponibilidad.

¿Qué ventajas ofrece?

  • Uso en múltiples plataformas: Application Insights es un SDK disponible para servidores ASP.NET, Servicios de Azure, Servidores J2EE, Páginas web, Windows Phone, Xamarin, Joomla, Sharepoint, NodeJS, etc.
  • Posibilidad de consultar multitud de datos y registros de seguimiento sobre las telemetrías y errores guardados.
  • Obtención de telemetría de sitios web existentes, sin necesidad de volver a implementar.

Manual de iniciación

Visual Studio nos ofrece la posibilidad de añadir Application Insights a una app. Es tan fácil como marcar la opción en la creación del proyecto:

Cuando compilamos la solución, se configura Application Insights, añadiendo el archivo appsettings.config en el que está indicada la InstrumentionKey del servicio.

<add key="InstrumentationKey" value="e51bf70d-ceac-4f04-a9b4-6tewghg898d" />

Al entrar en el portal de Azure, veremos el servicio de Application Insights creado con el mismo nombre que se le ha dado a la solución.

Una vez se empiece a usar la aplicación, se trazará toda la información referente a ella. Esta información se podrá visualizar desde el propio portal, donde se pueden encontrar gráficos de las distintas telemetrías y trazas. 

A su vez, también podemos realizar consultas personalizadas sobre estos datos usando el portal de Application Insights de nuestra aplicación.

En resumen, Application Insights es un potente servicio que nos ofrece la posibilidad de monitorizar a muy bajo nivel cualquier aspecto de nuestra aplicación. 

¡Hasta aquí todo por hoy!

Espero que este artículo os haya sido de ayuda

Escrito por Pedro Sánchez Naranjo, Senior Web Developer en Bravent.