Application Insights
Instrumente una aplicación web con el SDK de Application Insights, explore el mapa de la aplicación y use Live Metrics Stream para diagnosticar problemas en tiempo real.
Application Insights es una lección gratuita de Cloud & IT Cert Prep en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cloud & IT Cert Prep, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cloud & IT Cert Prep incluye 4 lecciones en total.
¿Qué es Application Insights?
Application Insights es una característica de Azure Monitor que proporciona supervisión del rendimiento de las aplicaciones (APM) para aplicaciones web en producción. Recopila telemetría sobre solicitudes, dependencias, excepciones, vistas de página y eventos personalizados. A diferencia de las métricas de plataforma, que describen el estado de la infraestructura, Application Insights describe lo que hace el código de su aplicación y cómo lo experimentan los usuarios finales. Es compatible con .NET, Node.js, Java, Python y JavaScript en el navegador.
Instrumentación de la aplicación
Puede agregar Application Insights a una aplicación instalando el SDK o mediante la instrumentación automática (también denominada conexión sin código). En App Service, al habilitar Application Insights desde el portal, el agente se instala automáticamente sin realizar cambios en el código. En aplicaciones autoadministradas, debe agregar el paquete del SDK y proporcionar la cadena de conexión (preferida frente a la antigua clave de instrumentación) del recurso de Application Insights.
# Enable Application Insights on an App Service app
az webapp config appsettings set \
--name myApp \
--resource-group myRG \
--settings APPLICATIONINSIGHTS_CONNECTION_STRING='InstrumentationKey=...' \
ApplicationInsightsAgent_EXTENSION_VERSION='~3'Mapa de aplicaciones
El Mapa de aplicaciones es una topología visual de los componentes de su aplicación y sus dependencias. Cada nodo representa un componente (su aplicación, una API posterior, una base de datos o un servicio de Azure), y las conexiones muestran las relaciones de llamada, anotadas con el tiempo medio de respuesta, la tasa de solicitudes y la tasa de errores. Puede hacer clic en cualquier nodo o conexión para profundizar en las trazas de solicitudes individuales e identificar dónde se originan la latencia o los errores.
Live Metrics Stream
Live Metrics Stream proporciona una vista en tiempo real, con una latencia inferior a un segundo, del rendimiento de su aplicación y sin latencia apreciable. Puede observar las tasas de solicitudes entrantes, los tiempos de respuesta, las tasas de errores y el uso de CPU a medida que ocurren, algo fundamental durante una implementación activa o la investigación de un incidente. Live Metrics utiliza una conexión saliente segura desde su aplicación a Application Insights, por lo que no es necesario cambiar las reglas del firewall de entrada.
Trazas distribuidas y transacciones de extremo a extremo
Las trazas distribuidas correlacionan la telemetría de varios servicios mediante un operation_Id compartido. Cuando una solicitud de usuario entra en la aplicación de front-end, Application Insights propaga los encabezados de contexto de traza a los servicios posteriores. La vista End-to-End Transaction Details reúne todos los spans de todos los servicios participantes en una única línea temporal con formato de diagrama de Gantt, lo que muestra exactamente dónde se emplea el tiempo en la arquitectura de microservicios.
Eventos y métricas personalizados
Además de la telemetría automática, puede realizar un seguimiento de eventos personalizados y métricas personalizadas mediante el SDK. Llame a trackEvent() para registrar eventos de negocio como 'CheckoutCompleted' o 'FeatureFlagEnabled'. Llame a trackMetric() para registrar mediciones específicas de la aplicación, como la profundidad de una cola o la proporción de aciertos de la caché. La telemetría personalizada aparece en las mismas tablas de Log Analytics y se puede consultar con KQL junto con los datos de la plataforma.
// Node.js SDK example — tracking a custom event
const appInsights = require('applicationinsights');
appInsights.defaultClient.trackEvent({
name: 'CheckoutCompleted',
properties: { userId: '42', plan: 'premium' },
measurements: { orderValue: 99.99 }
});Smart Detection y anomalías de errores
Smart Detection analiza automáticamente la telemetría mediante aprendizaje automático y le avisa de patrones inusuales, como un aumento repentino de la tasa de errores, una degradación del tiempo de respuesta del servidor o un incremento anómalo del número de excepciones. A diferencia de las alertas de umbral que configura manualmente, las reglas de Smart Detection se adaptan al comportamiento normal de su aplicación. Las alertas se envían a los propietarios de la suscripción y aparecen en la hoja Smart Detection.
Pruebas de disponibilidad
Las pruebas de disponibilidad (también llamadas pruebas web) envían solicitudes HTTP sintéticas a su aplicación desde varias regiones de Azure de todo el mundo según una programación, con una frecuencia de hasta una vez por minuto. Comprueban que los puntos de conexión públicos respondan con el código de estado HTTP esperado dentro de un tiempo de espera. Si una prueba falla simultáneamente desde varias ubicaciones, se activa una alerta. Esto le proporciona una supervisión externa independiente de su infraestructura interna.
# Create a URL ping availability test via CLI
az monitor app-insights web-test create \
--name 'HomepagePing' \
--resource-group myRG \
--app-component myAppInsightsResource \
--defined-web-test-kind ping \
--request-url 'https://myapp.azurewebsites.net/' \
--locations '[{"Id":"us-ca-sjc-azr"},{"Id":"emea-gb-db3-azr"}]' \
--frequency 300 \
--timeout 30Muestreo para controlar el volumen de datos
El muestreo reduce el volumen de telemetría que se envía a Application Insights registrando solo una fracción de las solicitudes y conservando la precisión estadística. El muestreo adaptativo ajusta automáticamente la tasa de muestreo para mantenerse dentro de una tasa de ingesta objetivo. El muestreo de tasa fija aplica un porcentaje fijo. La telemetría muestreada se marca para que las vistas de métricas corrijan automáticamente el factor de muestreo al mostrar recuentos y tasas.
Análisis de usuarios y sesiones
Application Insights incluye análisis de uso integrado para aplicaciones instrumentadas en el navegador. La sección Usuarios muestra el número de usuarios únicos, Sesiones realiza el seguimiento de los recorridos de los usuarios, Embudos visualiza el abandono en flujos de varios pasos y los gráficos de Retención muestran cuántos usuarios regresan con el tiempo. Estas herramientas son especialmente útiles para que los equipos de producto optimicen las tasas de conversión y la interacción de los usuarios junto con la supervisión operativa.
Tablas de Application Insights y Log Analytics
Los datos de Application Insights se almacenan en un área de trabajo de Log Analytics, en tablas dedicadas: requests, exceptions, dependencies, traces, pageViews, customEvents y customMetrics. Cuando Application Insights está configurado en modo basado en el área de trabajo (el valor predeterminado para los recursos nuevos), puede combinar estas tablas con otros datos del área de trabajo; por ejemplo, correlacionar una excepción de la aplicación con una denegación de acceso a Key Vault registrada en AzureActivity.
// KQL — find the top 10 slowest dependencies in the last hour
dependencies
| where timestamp > ago(1h)
| where success == false or duration > 2000
| summarize AvgDuration = avg(duration), FailCount = countif(success==false)
by name, type
| top 10 by AvgDuration descComprobación rápida
Compruebe su comprensión de los conceptos de Microsoft Azure Fundamentals (AZ-900) de esta lección.
Resumen de la lección
En esta lección ha aprendido que Application Insights proporciona telemetría de nivel APM sobre las tasas de solicitudes, los errores y las dependencias; el Mapa de aplicaciones y el seguimiento distribuido visualizan la topología de los microservicios de extremo a extremo; y las pruebas de disponibilidad comprueban sus puntos de conexión públicos desde varias ubicaciones globales. A continuación, exploraremos Azure Dashboards y Workbooks para compartir la visibilidad operativa con su equipo.
Preguntas frecuentes
¿La lección «Application Insights» es gratis?
Sí — el texto completo de «Application Insights» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cloud & IT Cert Prep, actualiza a CoddyKit PRO. El curso de Cloud & IT Cert Prep incluye 4 lecciones en total.
¿Qué aprenderé en «Application Insights»?
Instrumente una aplicación web con el SDK de Application Insights, explore el mapa de la aplicación y use Live Metrics Stream para diagnosticar problemas en tiempo real. Practicas Cloud & IT Cert Prep con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Cloud & IT Cert Prep?
No se requiere experiencia previa. Cloud & IT Cert Prep en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Application Insights»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Cloud & IT Cert Prep?
Sí. Cada lección de Cloud & IT Cert Prep incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Métricas y alertas de Azure Monitor
- Fundamentos de Log Analytics y KQL
- Application Insights
- Paneles y libros de Azure