Información general sobre la supervisión de aplicaciones para Azure App Service

Ahora, habilitar la supervisión en las aplicaciones web basadas en ASP.NET, ASP.NET Core, Java y Node.js que se ejecutan en Azure App Service es más fácil que nunca. Antes era necesario instrumentar manualmente la aplicación, pero ahora el agente o la extensión más reciente están integrados en la imagen de App Service de manera predeterminada.

Habilitación de Application Insights

Hay dos maneras de habilitar la supervisión de aplicaciones hospedadas de Azure App Service:

  • Supervisión de aplicaciones de instrumentación automática (ApplicationInsightsAgent).

    Este método es el más fácil para habilitar y no se requiere ningún cambio de código ni configuraciones avanzadas. A menudo se conoce como supervisión de "entorno en tiempo de ejecución". Para App Service, se recomienda que, como mínimo, habilite este nivel de supervisión. En función del escenario específico, evaluar si se necesita una supervisión más avanzada por medio de la instrumentación manual.

    Al habilitar la instrumentación automática, habilita Application Insights con una configuración predeterminada (también incluye muestreo). Incluso si se establece en Azure AppInsights: Muestreo: Todos los datos 100 %, esta configuración se omitirá.

    Para obtener una lista completa de escenarios de instrumentación automática compatibles, consulte Entornos, lenguajes y proveedores de recursos admitidos.

    A continuación, se muestran las plataformas compatibles con la supervisión de la instrumentación automática:

  • Instrumentación manual de la aplicación mediante código mediante la instalación del SDK de Application Insights.

    Este enfoque es más fácil de personalizar, pero exige los siguientes métodos: SDK de .NET Core, .NET, Node.js, Python y un agente independiente para Java. Este método también implica que el usuario tiene que administrar las actualizaciones a la versión más reciente de los paquetes.

    Si tiene que realizar llamadas API personalizadas para supervisar eventos o dependencias no capturados de manera predeterminada con la supervisión de instrumentación automática, debe usar este método. Para saber más, consulte API de Application Insights para eventos y métricas personalizados.

Si se detectan y la supervisión de instrumentación automática y la instrumentación manual basada en SDK, en .NET solo se respeta la configuración de instrumentación manual, mientras que en Java solo la instrumentación automática emite datos de telemetría. Esta práctica es para evitar que se envíen datos duplicados.

Nota

El depurador de instantáneas y el generador de perfiles solo están disponibles en .NET y .Net Core.

Notas de la versión

Esta sección contiene las notas de la versión para la extensión de Azure Web Apps para la instrumentación de entorno de ejecución con Application Insights.

Para encontrar la versión de la extensión que está usando actualmente, vaya a https://<yoursitename>.scm.azurewebsites.net/ApplicationInsights.

Notas de la versión

2.8.44

2.8.43

  • Separe el paquete .NET/.NET Core, Java y Node.js en diferentes extensiones de sitio de Windows de App Service.

2.8.42

  • Extensión de JAVA: se ha actualizado al agente de Java 3.2.0 (GA) desde la versión 2.5.1.
  • Extensión de Node.js: se ha actualizado el SDK de IA a 2.1.8 desde la versión 2.1.7. Se ha agregado compatibilidad con identidades administradas de Microsoft Entra asignadas por el usuario y el sistema.
  • .NET Core: se han agregado implementaciones independientes y compatibilidad con .NET 6.0 mediante el enlace de inicio de .NET.

2.8.41

  • Extensión de Node.js: se ha actualizado el SDK de IA a 2.1.7 desde la versión 2.1.3.
  • .NET Core: se ha quitado la versión incompatible 2.1. Las versiones compatibles son 3.1 y 5.0.

2.8.40

2.8.39

  • .NET Core: se agregó compatibilidad con .NET Core 5.0.

2.8.38

  • Extensión JAVA: se ha actualizado a Java Agent 3.0.2 (GA) desde 2.5.1.
  • Extensión Node.js: se ha actualizado el SDK de AI a 1.8.8 desde 1.8.7.
  • .NET Core: se han quitado las versiones que no son compatibles (2.0, 2.2, 3.0). Las versiones compatibles son 2.1 y 3.1.

2.8.37

  • Extensión AppSvc de Windows: ha hecho que .NET Core funcione con cualquier versión de System.Diagnostics.DiagnosticSource.dll.

2.8.36

  • Extensión AppSvc de Windows: se ha habilitado la interoperabilidad con el SDK de AI en .NET Core.

2.8.35

  • Extensión AppSvc de Windows: se ha agregado compatibilidad con .NET Core 3.1.

2.8.33

  • Agentes de .NET, .NET Core, Java y Node.js, así como la extensión de Windows: compatibilidad con nubes soberanas. Se pueden usar las cadenas de conexiones para enviar datos a nubes soberanas.

2.8.31

  • El agente de ASP.NET Core ha corregido un problema con el SDK de Application Insights. Si el runtime carga la versión incorrecta de System.Diagnostics.DiagnosticSource.dll, la extensión sin código no bloqueará la aplicación y se interrumpirá. Para corregir el problema, los clientes deben quitar System.Diagnostics.DiagnosticSource.dll de la carpeta de rango o usar la versión anterior de la extensión estableciendo ApplicationInsightsAgent_EXTENSIONVERSION=2.8.24. Si no lo hacen, la supervisión de aplicaciones no está habilitada.

2.8.26

  • Agente de ASP.NET Core: se ha corregido un problema relacionado con el SDK actualizado de Application Insights. El agente no intentará cargar AiHostingStartup si el archivo ApplicationInsights.dll ya está presente en la carpeta de rango. Esto resuelve los problemas relacionados con la reflexión a través de Assembly<AiHostingStartup>.GetTypes().
  • Problemas conocidos: se podría producir la excepción System.IO.FileLoadException: Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' si se carga otra versión del archivo dll DiagnosticSource. Esto puede ocurrir, por ejemplo, si System.Diagnostics.DiagnosticSource.dll está presente en la carpeta de publicación. Para mitigarlo, use la versión anterior de la extensión mediante el establecimiento de la configuración de la aplicación en App Services: ApplicationInsightsAgent_EXTENSIONVERSION=2.8.24.

2.8.24

  • Versión reempaquetada de 2.8.21.

2.8.23

  • Se ha agregado compatibilidad con la supervisión sin código de ASP.NET Core 3.0.
  • Se ha actualizado el SDK de ASP.NET Core a 2.8.0 para las versiones de entorno de ejecución 2.1, 2.2 y 3.0. Las aplicaciones que tienen como destino .NET Core 2.0 siguen usando la versión 2.1.1 del SDK.

2.8.14

  • Se ha actualizado la versión del SDK de ASP.NET Core de 2.3.0 a la más reciente (2.6.1) para las aplicaciones que tienen como destino .NET Core 2.1 y 2.2. Las aplicaciones que tienen como destino .NET Core 2.0 siguen usando la versión 2.1.1 del SDK.

2.8.12

  • Compatibilidad con aplicaciones de ASP.NET Core 2.2.

  • Se ha corregido un error en la extensión de ASP.NET Core que producía la inserción del SDK incluso cuando la aplicación ya estaba instrumentada con el SDK. En el caso de las aplicaciones de la versión 2.1 y 2.2, la presencia de ApplicationInsights.dll en la carpeta de la aplicación ahora hace que la extensión se interrumpa. En el caso de las aplicaciones de la versión 2.0, la extensión solo se interrumpe si ApplicationInsights está habilitado con una llamada UseApplicationInsights().

  • Se ha corregido de forma permanente la respuesta HTML incompleta para aplicaciones de ASP.NET Core. Esta corrección ahora se ha ampliado para que funcione con aplicaciones de .NET Core 2.2.

  • Se ha agregado compatibilidad para desactivar la inserción de JavaScript para aplicaciones de ASP.NET Core (APPINSIGHTS_JAVASCRIPT_ENABLED=false appsetting). En el caso de ASP.NET Core, la inserción de JavaScript está en modo deshabilitado de forma predeterminada, a menos que se desactive explícitamente. (La configuración predeterminada está destinada a conservar el comportamiento actual).

  • Se ha corregido un error de extensión de ASP.NET Core que provocaba la inserción aunque ikey no estuviera presente.

  • Se ha corregido un error en la lógica del prefijo de la versión del SDK que provocaba una versión incorrecta del SDK en la telemetría.

  • Se ha agregado el prefijo de versión del SDK para las aplicaciones de ASP.NET Core con el fin de identificar cómo se recopiló la telemetría.

  • Se ha corregido la página de ApplicationInsights de SCM para que muestre correctamente la versión de la extensión preinstalada.

2.8.10

  • Se ha corregido la respuesta HTML incompleta para aplicaciones de ASP.NET Core.

Preguntas más frecuentes

Esta sección proporciona respuestas a preguntas comunes.

¿Qué modifica Application Insights en mi proyecto?

Los detalles dependen del tipo de proyecto. Para una aplicación web:

  • Agregue estos archivos al proyecto:
    • ApplicationInsights.config
    • ai.js
  • Instale estos paquetes de NuGet:
    • API de Application Insights: la API central
    • API de Application Insights para aplicaciones web: se usa para enviar la telemetría del servidor
    • API de Application Insights para aplicaciones JavaScript: se usa para enviar la telemetría del cliente
  • El paquete incluye estos ensamblados:
    • Microsoft.ApplicationInsights
    • Microsoft.ApplicationInsights.Platform
  • Inserta elementos en:
    • Web.config
    • packages.config
  • (Solo en proyectos nuevos: agregue Application Insights a un proyecto existente manualmente). Inserte fragmentos de código en el código de cliente y servidor para inicializarlos con el identificador de recursos de Application Insights. Por ejemplo, en una aplicación MVC, el código se inserta en la página principal Views/Shared/_Layout.cshtml.

Pasos siguientes

Más información sobre cómo habilitar la supervisión de aplicaciones de instrumentación automática para la aplicación de .NET Core, .NET, Java, Nodejs o Python que se ejecuta en App Service.