[Azure Application Insights] Soporte de Application Insights para App Service

2127802-20210320164807909-790484730.png

Red de salud oriental https://www.9559.org/cn/

Descripción del problema

Después del lanzamiento de la aplicación web, Application Insights no pudo recopilar datos

 

análisis del problema

El servicio de la aplicación (App Service) recopila datos de supervisión de la aplicación (como Solicitud, Excepción, Seguimiento, etc.) a través del Agente (Application Insight Site Extension). Debido a las iteraciones de actualización, algunas versiones ya no son compatibles o aún no son compatibles. Por ejemplo, Agent (Application Insight Site Extension 2.8.38) admite .NET Core 2.1 y 3.1, y .Net Core 2.2 ya no es compatible, mientras que .Net 5 aún no es compatible.

 

Solución

Uno: use el modo basado en agente para modificar la versión de .Net Core y Application Agent. Tal como:

  •  ApplicationInsightsAgent_EXTENSIONVERSION = ~ 2 Actualice a .NET Core 3.1 al mismo tiempo
  •  ApplicationInsightsAgent_EXTENSIONVERSION = 2.8.37 sin dejar de usar .NET Core 2.2

 

Dos: use Application Insighs según el modo de código:

  • Actualice a .NET 5 y actualice las dependencias del proyecto: https://docs.microsoft.com/en-us/azure/azure-monitor/app/asp-net-core

2.1 Instale Application Insights SDK. Se recomienda utilizar siempre la última versión estable del paquete Application Insights SDK NuGet para ASP.NET Core. Abra el archivo .csproj en el proyecto y agregue una referencia de paquete utilizando el siguiente ejemplo como referencia.

   < ItemGroup > 
      < PackageReference Include = "Microsoft.ApplicationInsights.AspNetCore" Version = "2.16.0"  /> 
    </ ItemGroup >

 

2.2 En el método ConfigureServices () en la clase Startup del proyecto, agregue services.AddApplicationInsightsTelemetry (). Iniciar Application Insights

    // Este método es llamado por el tiempo de ejecución. Utilice este método para agregar servicios al contenedor. 
    public  void ConfigureServices (IServiceCollection services) 
    { 
        // La siguiente línea habilita la recopilación de telemetría de Application Insights. 
        services.AddApplicationInsightsTelemetry (); 

        // Este código agrega otros servicios para su aplicación. 
        services.AddMvc (); 
    }

 

2.3 Establecer la cadena de conexión de instrumentación de Application Insights. Hay varias formas de establecer la cadena de conexión, el valor de la cadena de conexión lo proporciona el portal de aplicaciones de Azure.

2127802-20210320163937569-145074200.png

a) Utilice variables de entorno a nivel del sistema

Agregue parámetros de variables de entorno en el sistema:APPLICATIONINSIGHTS_CONNECTION_STRING。

 

b) En la configuración del código, use el objeto TelemetryConfiguration o ApplicationInsightsServiceOptions

    // Este método es llamado por el tiempo de ejecución. Utilice este método para agregar servicios al contenedor. 
    public  void ConfigureServices (servicios IServiceCollection) 
    { 
        var configuration = new TelemetryConfiguration 
        { 
            ConnectionString = " InstrumentationKey = 00000000-0000-0000-0000-000000000000; " 
        }; 
        
        // La siguiente línea habilita la recopilación de telemetría de Application Insights. 
        services.AddApplicationInsightsTelemetry (configuración); 

        // Este código agrega otros servicios para su aplicación. 
        services.AddMvc (); 
    }

o

    public  void ConfigureServices (servicios IServiceCollection) 
    { 
        var options = new ApplicationInsightsServiceOptions {ConnectionString = " InstrumentationKey = 00000000-0000-0000-0000-000000000000; " }; 
        services.AddApplicationInsightsTelemetry (opciones: opciones); 
    }

 

c) Utilice archivos de configuración (método recomendado oficialmente)

XML

<? xml version = "1.0" encoding = "utf-8" ?> 
< ApplicationInsights xmlns = "http://schemas.microsoft.com/ApplicationInsights/2013/Settings" > 
    < ConnectionString > InstrumentationKey = 00000000-0000-0000-0000- 000000000000 </ ConnectionString > 
</ ApplicationInsights >

JSON ( config.json )

{ 
  "ApplicationInsights": { 
    "ConnectionString": "InstrumentationKey = 00000000-0000-0000-0000-000000000000;" 
    } 
  }

 

 

Referencia

Cómo configurar una cadena de conexión : https://docs.microsoft.com/en-us/azure/azure-monitor/app/sdk-connection-string?tabs=net#how-to-set-a-connection-string

Habilite la telemetría del lado del servidor de Application Insights (sin Visual Studio) : https://docs.microsoft.com/en-us/azure/azure-monitor/app/asp-net-core#enable-application-insights-server-side -telemetry-no-visual-studio

Habilite la supervisión basada en agentes : https: //docs.microsoft.com/en-us/azure/azure-monitor/app/azure-web-apps? Tabs = netcore # enable-agent-based-monitoring

Paquete Microsoft.ApplicationInsights.AspNetCore : https://www.nuget.org/packages/Microsoft.ApplicationInsights.AspNetCore

 

 

Supongo que te gusta

Origin blog.csdn.net/weixin_48967543/article/details/115239364
Recomendado
Clasificación