¿Qué es Application Insights?

Application Insights es una característica de Azure Monitor que es un servicio de Application Performance Management (APM) extensible para desarrolladores y profesionales de DevOps. Úselo para supervisar las aplicaciones en directo. Detectará automáticamente anomalías en el rendimiento e incluye eficaces herramientas de análisis que le ayudan a diagnosticar problemas y a saber lo que hacen realmente los usuarios con la aplicación. Está diseñado para ayudarle a mejorar continuamente el rendimiento y la facilidad de uso. Funciona con diversas aplicaciones y en una amplia variedad de plataformas, como .NET, Node.js, Java y Python, hospedadas en el entorno local, de forma híbrida o en cualquier nube pública. Se integra con el proceso de DevOps y tiene puntos de conexión a numerosas herramientas de desarrollo. Puede supervisar y analizar la telemetría de aplicaciones móviles mediante la integración con Visual Studio App Center.

¿Cómo funciona Application Insights?

Instale un paquete de instrumentación pequeño (SDK) en la aplicación o habilite Application Insights mediante el agente de Application Insights cuando se admita. La instrumentación supervisa la aplicación y dirige los datos de telemetría a un recurso de Azure Application Insights mediante un GUID único al que se hace referencia como una clave de instrumentación.

No solo puede instrumentar la aplicación de servicio web, sino también todos los componentes en segundo plano y JavaScript en las propias páginas web. La aplicación y sus componentes se pueden ejecutar en cualquier lugar; no tienen que estar hospedados en Azure.

La instrumentación de Application Insights de la aplicación envía datos de telemetría al recurso de Application Insights.

Además, puede obtener la telemetría de los entornos del host, como pueden ser contadores de rendimiento, diagnósticos de Azure o registros de Docker. También puede configurar pruebas web que envíen periódicamente solicitudes sintéticas al servicio web.

Todos estos flujos de telemetría están integrados en Azure Monitor. En Azure Portal, puede aplicar versátiles herramientas de análisis y búsqueda a los datos sin procesar.

¿Cuál es la sobrecarga?

El impacto sobre el rendimiento de la aplicación es pequeño. Las llamadas de seguimiento no suponen ningún tipo de bloqueo y se agrupan por lotes y se envían en un subproceso aparte.

¿Qué supervisa Application Insights?

Application Insights está dirigido al equipo de desarrollo y sirve ayudarle a conocer el rendimiento de una aplicación y cómo se utiliza. Supervisa:

  • Tasas de solicitud, tiempos de respuesta y tasas de error - Averigüe qué páginas que son las más conocidas, en qué momento del día y dónde están los usuarios. Vea qué páginas presentan mejor rendimiento. Si los tiempos de respuesta y las tasas de error aumentan cuando hay más solicitudes, quizás tiene un problema de recursos.
  • Tasas de dependencia, tiempos de respuesta y tasa de error - Averigüe si los servicios externos le ralentizan.
  • Excepciones: - Analice las estadísticas agregadas o seleccione instancias concretas y profundice en el seguimiento de la pila y las solicitudes relacionadas. Se notifican tanto las excepciones de servidor como las de explorador.
  • Vistas de página y rendimiento de carga - Notificados por los exploradores de los usuarios.
  • Llamadas AJAX desde páginas web - Tasas, tiempos de respuesta y tasas de error.
  • Número de usuarios y sesiones.
  • Contadores de rendimiento de las máquinas de servidor de Windows o Linux, como CPU, memoria y uso de la red.
  • Diagnóstico de host de Docker o Azure.
  • Registros de seguimiento de diagnóstico de la aplicación - De esta forma puede correlacionar eventos de seguimiento con las solicitudes.
  • Métricas y eventos personalizados que usted mismo escribe en el código de cliente o servidor para realizar un seguimiento de eventos empresariales, como artículos vendidos o partidas ganadas.

¿Dónde veo la telemetría?

Hay muchas formas de explorar los datos. Consulte estos artículos:

Descripción del artículo Imagen
Detección inteligente y alertas manuales
Las alertas automáticas configuradas se adaptan a los patrones normales de telemetría de la aplicación y se desencadenan cuando algo no responde al patrón habitual. También puede establecer alertas sobre niveles concretos de métricas estándares o personalizadas.
Ejemplo de alerta
Mapa de aplicación
Explore los componentes de la aplicación, con alertas y métricas clave.
Mapa de aplicación
Generador de perfiles
Inspeccione los perfiles de ejecución de solicitudes muestreadas.
Captura de pantalla que muestra los perfiles de ejecución de las solicitudes muestreadas.
Análisis de uso
Analice la segmentación y la retención de usuarios.
Herramienta Retención
Búsqueda de transacciones para datos de instancia
Busque y filtre eventos como solicitudes, excepciones, llamadas de dependencia, seguimientos de registro y vistas de páginas.
Buscar telemetría
Explorador de métricas para datos agregados
Explore, filtre y segmente datos agregados, como los índices de solicitudes, errores y excepciones; los tiempos de respuesta y los tiempos de carga de página.
Métricas
Paneles
Combine datos de varios recursos y compártalos con otros. Ideal para aplicaciones de varios componentes y para la presentación continua en la sala de reuniones.
Ejemplo de paneles
Secuencia de métricas en directo
Al implementar una nueva compilación, fíjese en estos indicadores de rendimiento casi en tiempo real para asegurarse de que todo funciona según lo esperado.
Ejemplo de métricas en directo
Análisis
Responda preguntas complejas acerca del uso y el rendimiento de su aplicación mediante este eficaz lenguaje de consulta.
Ejemplo de análisis
Visual Studio
Vea los datos de rendimiento en el código. Vaya al código desde los seguimientos de la pila.
Captura de pantalla de los detalles de la excepción en Visual Studio y un ejemplo de cómo ir al código desde los seguimientos de la pila.
Depurador de instantáneas
Depure instantáneas muestreadas desde operaciones en directo, con valores de parámetro.
Visual Studio
Power BI
Integre métricas de uso con otra inteligencia empresarial.
Power BI
API DE REST
Escriba código para ejecutar consultas sobre las métricas y los datos sin procesar.
API DE REST
Exportación continua
Exportación masiva de datos sin procesar al almacenamiento tan pronto como llegan.
Exportación

¿Cómo uso Application Insights?

Supervisión

Instale Application Insights en la aplicación web, configure las pruebas web de disponibilidad y:

  • Revise el panel de aplicación predeterminado para que su equipo no pierda de vista la carga, la capacidad de respuesta y el rendimiento de las dependencias, las cargas de páginas y las llamadas AJAX.
  • Detecte cuáles son las solicitudes más lentas y con mayor número de errores.
  • Vea Live Stream cuando implemente una versión nueva, con el fin de conocer inmediatamente la existencia de cualquier degradación.

Detección y diagnóstico

Cuando reciba una alerta o detecte un problema:

  • Evalúe cuántos usuarios se ven afectados.
  • Correlacione los errores con las excepciones, las llamadas de dependencia y los seguimientos.
  • Examine el generador de perfiles, las instantáneas, los volcados de pila y los registros de seguimiento.

Compilación, medición y aprendizaje

Mida la eficacia de cada característica nueva que implemente.

  • Planee la medición de la forma en que los clientes utilizan las nuevas características empresariales y de experiencia de usuario.
  • Escriba datos de telemetría personalizados en el código.
  • Base el siguiente ciclo de desarrollo en pruebas contundentes de la telemetría.

Introducción

Application Insights es uno de los muchos servicios hospedados en Microsoft Azure y los datos de telemetría se envían ahí para analizarlos y mostrarlos. Por tanto, antes de nada, se necesita una suscripción a Microsoft Azure. El registro es gratuito y, si elige el plan de precios básico de Application Insights, no habrá cargo alguno hasta que la aplicación tenga un uso considerable. Si la organización ya tiene una suscripción, puede agregarle su cuenta de Microsoft.

Hay varias formas de empezar. Comience con la que más se ajuste a sus necesidades. Puede agregar los demás posteriormente.

Pasos siguientes

Comience en el tiempo de ejecución con:

Comience en el tiempo de desarrollo con:

Soporte y comentarios