Monitorar o desempenho do serviço Azure AppMonitor Azure App Service performance

Habilitar o monitoramento em seus ASP.NET e ASP.NET Core aplicativos Web com base em execução em serviços de Azure app agora está mais fácil do que nunca.Enabling monitoring on your ASP.NET and ASP.NET Core based web applications running on Azure App Services is now easier than ever. Enquanto anteriormente você precisava instalar manualmente uma extensão de site, a extensão/agente mais recente agora é compilado na imagem do serviço de aplicativo por padrão.Whereas previously you needed to manually install a site extension, the latest extension/agent is now built into the app service image by default. Este artigo o orientará na habilitação do monitoramento de Application Insights, bem como no fornecimento de diretrizes preliminares para automatizar o processo para implantações em larga escala.This article will walk you through enabling Application Insights monitoring as well as provide preliminary guidance for automating the process for large-scale deployments.

Nota

A adição manual de uma extensão de site Application Insights por meiodas ferramentas de desenvolvimento > é preterida.Manually adding an Application Insights site extension via Development Tools > Extensions is deprecated. Esse método de instalação de extensão foi dependente de atualizações manuais para cada nova versão.This method of extension installation was dependent on manual updates for each new version. A versão estável mais recente da extensão agora é pré-instalado como parte da imagem do serviço de aplicativo.The latest stable release of the extension is now preinstalled as part of the App Service image. Os arquivos estão localizados em d:\Program Files (x86)\SiteExtensions\ApplicationInsightsAgent e são atualizados automaticamente com cada versão estável.The files are located in d:\Program Files (x86)\SiteExtensions\ApplicationInsightsAgent and are automatically updated with each stable release. Se você seguir as instruções baseadas em agente para habilitar o monitoramento abaixo, ela removerá automaticamente a extensão preterida para você.If you follow the agent based instructions to enable monitoring below, it will automatically remove the deprecated extension for you.

Ativar o Application InsightsEnable Application Insights

Há duas maneiras de habilitar o monitoramento de aplicativos para aplicativos hospedados de serviços Azure Apps:There are two ways to enable application monitoring for Azure App Services hosted applications:

  • Monitoramento de aplicativo baseado em agente (ApplicationInsightsAgent).Agent-based application monitoring (ApplicationInsightsAgent).

    • Esse método é o mais fácil de habilitar e nenhuma configuração avançada é necessária.This method is the easiest to enable, and no advanced configuration is required. Ele é geralmente chamado de monitoramento de "tempo de execução".It is often referred to as "runtime" monitoring. Para Azure App serviços, recomendamos, no mínimo, habilitar esse nível de monitoramento e, em seguida, com base em seu cenário específico, você pode avaliar se é necessário um monitoramento mais avançado por meio da instrumentação manual.For Azure App Services we recommend at a minimum enabling this level of monitoring, and then based on your specific scenario you can evaluate whether more advanced monitoring through manual instrumentation is needed.
  • Instrumentar manualmente o aplicativo por meio do código instalando o SDK do Application insights.Manually instrumenting the application through code by installing the Application Insights SDK.

Nota

Se o monitoramento baseado em agente e a instrumentação baseada em SDK manual forem detectados, somente as configurações de instrumentação manual serão respeitadas.If both agent-based monitoring and manual SDK-based instrumentation is detected, only the manual instrumentation settings will be honored. Isso é para evitar que dados duplicados sejam enviados.This is to prevent duplicate data from being sent. Para saber mais sobre isso, confira a seção solução de problemas abaixo.To learn more about this, check out the troubleshooting section below.

Habilitar o monitoramento baseado em agente para aplicativos .NETEnable agent-based monitoring for .NET applications

Nota

Não há suporte para a combinação de APPINSIGHTS_JAVASCRIPT_ENABLED e urlCompression.The combination of APPINSIGHTS_JAVASCRIPT_ENABLED and urlCompression is not supported. Para obter mais informações, consulte a explicação na seção solução de problemas.For more info see the explanation in the troubleshooting section.

  1. Selecione Application insights no painel de controle do Azure para seu serviço de aplicativo.Select Application Insights in the Azure control panel for your app service.

    Em configurações, escolha Application Insights

    • Escolha criar um novo recurso, a menos que você já tenha configurado um recurso de Application Insights para este aplicativo.Choose to create a new resource, unless you already set up an Application Insights resource for this application.

      Nota

      Ao clicar em OK para criar o novo recurso, você será solicitado a aplicar as configurações de monitoramento.When you click OK to create the new resource you will be prompted to Apply monitoring settings. Selecionar continuar vinculará o novo recurso de Application insights ao seu serviço de aplicativo, fazendo isso também disparará uma reinicialização do serviço de aplicativo.Selecting Continue will link your new Application Insights resource to your app service, doing so will also trigger a restart of your app service.

      Instrumente a sua aplicação Web

  2. Depois de especificar qual recurso usar, você pode escolher como deseja que o Application insights colete dados por plataforma para seu aplicativo.After specifying which resource to use, you can choose how you want application insights to collect data per platform for your application. O monitoramento de aplicativos ASP.NET é ativado por padrão com dois níveis diferentes de coleção.ASP.NET app monitoring is on-by-default with two different levels of collection.

    Escolher opções por plataforma

    • O nível de coleção do .NET básico oferece recursos essenciais do APM de instância única..NET Basic collection level offers essential single-instance APM capabilities.

    • Nível de coleção recomendado pelo .net:.NET Recommended collection level:

      • Adiciona tendências de uso de CPU, memória e e/s.Adds CPU, memory, and I/O usage trends.
      • Correlaciona os micro-serviços entre limites de solicitação/dependência.Correlates micro-services across request/dependency boundaries.
      • Coleta tendências de uso e permite a correlação de resultados de disponibilidade para transações.Collects usage trends, and enables correlation from availability results to transactions.
      • Coleta exceções sem tratamento pelo processo de host.Collects exceptions unhandled by the host process.
      • Melhora a precisão das métricas do APM sob carga, quando a amostragem é usada.Improves APM metrics accuracy under load, when sampling is used.
  3. Para definir configurações como amostragem, que você poderia controlar anteriormente por meio do arquivo applicationinsights. config, agora você pode interagir com essas mesmas configurações por meio de configurações do aplicativo com um prefixo correspondente.To configure settings like sampling, which you could previously control via the applicationinsights.config file you can now interact with those same settings via Application settings with a corresponding prefix.

    • Por exemplo, para alterar a porcentagem de amostragem inicial, você pode criar uma configuração de aplicativo de: MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_InitialSamplingPercentage e um valor de 100.For example, to change the initial sampling percentage, you can create an Application setting of: MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_InitialSamplingPercentage and a value of 100.

    • Para obter a lista de configurações de processador de telemetria de amostragem adaptável com suporte, você pode consultar o código e a documentação associada.For the list of supported adaptive sampling telemetry processor settings, you can consult the code and associated documentation.

Habilitar o monitoramento baseado em agente para aplicativos .NET CoreEnable agent-based monitoring for .NET Core applications

Há suporte para as seguintes versões do .NET Core: ASP.NET Core 2,0, ASP.NET Core 2,1, ASP.NET Core 2,2The following versions of .NET Core are supported: ASP.NET Core 2.0, ASP.NET Core 2.1, ASP.NET Core 2.2

Para direcionar a estrutura completa do .NET Core, a implantação independente e o ASP.NET Core 3,0 não têm suporte no momento com o monitoramento baseado em agente/extensão.Targeting the full framework from .NET Core, self-contained deployment, and ASP.NET Core 3.0 are currently not supported with agent/extension based monitoring. (AInstrumentação manual por meio de código funcionará em todos os cenários anteriores.)(Manual instrumentation via code will work in all of the previous scenarios.)

  1. Selecione Application insights no painel de controle do Azure para seu serviço de aplicativo.Select Application Insights in the Azure control panel for your app service.

    Em configurações, escolha Application Insights

    • Escolha criar um novo recurso, a menos que você já tenha configurado um recurso de Application Insights para este aplicativo.Choose to create a new resource, unless you already set up an Application Insights resource for this application.

      Nota

      Ao clicar em OK para criar o novo recurso, você será solicitado a aplicar as configurações de monitoramento.When you click OK to create the new resource you will be prompted to Apply monitoring settings. Selecionar continuar vinculará o novo recurso de Application insights ao seu serviço de aplicativo, fazendo isso também disparará uma reinicialização do serviço de aplicativo.Selecting Continue will link your new Application Insights resource to your app service, doing so will also trigger a restart of your app service.

      Instrumente a sua aplicação Web

  2. Depois de especificar qual recurso usar, você pode escolher como deseja que Application Insights colete dados por plataforma para seu aplicativo.After specifying which resource to use, you can choose how you want Application Insights to collect data per platform for your application. O .NET Core oferece uma coleção recomendada ou desabilitada para o .net Core 2,0, 2,1 e 2,2..NET Core offers Recommended collection or Disabled for .NET Core 2.0, 2.1, and 2.2.

    Escolher opções por plataforma

Habilitar o monitoramento do lado do cliente para aplicativos .NETEnable client-side monitoring for .NET applications

O monitoramento no lado do cliente é opcional para ASP.NET.Client-side monitoring is opt-in for ASP.NET. Para habilitar o monitoramento do lado do cliente:To enable client-side monitoring:

  • Selecione configurações > * * * * configurações do aplicativo * * * *Select Settings >** **Application settings****
    • Em configurações do aplicativo, adicione um novo nome e valorde configuração de aplicativo :Under Application settings, add a new app setting name and value:

      Nome: APPINSIGHTS_JAVASCRIPT_ENABLEDName: APPINSIGHTS_JAVASCRIPT_ENABLED

      Valor:trueValue: true

    • Guarde as definições e reinicie a aplicação.Save the settings and Restart your app.

Captura de tela da interface do usuário de configurações do aplicativo

Para desabilitar o monitoramento do lado do cliente, remova o par de valor de chave associado das configurações do aplicativo ou defina o valor como false.To disable client-side monitoring either remove the associated key value pair from the Application settings, or set the value to false.

Habilitar o monitoramento do lado do cliente para aplicativos .NET CoreEnable client-side monitoring for .NET Core applications

O monitoramento no lado do cliente é habilitado por padrão para aplicativos .NET Core com a coleção recomendada, independentemente de a configuração do aplicativo ' APPINSIGHTS_JAVASCRIPT_ENABLED ' estar presente.Client-side monitoring is enabled by default for .NET Core apps with Recommended collection, regardless of whether the app setting 'APPINSIGHTS_JAVASCRIPT_ENABLED' is present.

Se por algum motivo você quiser desabilitar o monitoramento no lado do cliente:If for some reason you would like to disable client-side monitoring:

  • Selecione configurações > configurações do aplicativoSelect Settings > Application settings
    • Em configurações do aplicativo, adicione um novo nome e valorde configuração de aplicativo :Under Application settings, add a new app setting name and value:

      Nome: APPINSIGHTS_JAVASCRIPT_ENABLEDname: APPINSIGHTS_JAVASCRIPT_ENABLED

      Valor:falseValue: false

    • Guarde as definições e reinicie a aplicação.Save the settings and Restart your app.

Captura de tela da interface do usuário de configurações do aplicativo

Automatizar o monitoramentoAutomate monitoring

Para habilitar a coleta de telemetria com Application Insights, somente as configurações do aplicativo precisam ser definidas:In order to enable telemetry collection with Application Insights, only the Application settings need to be set:

Configurações de aplicativo do serviço de aplicativo com configurações de Application Insights disponíveis

Definições de configurações do aplicativoApplication settings definitions

Nome da configuração do aplicativoApp setting name DefiniçãoDefinition ValorValue
ApplicationInsightsAgent_EXTENSION_VERSIONApplicationInsightsAgent_EXTENSION_VERSION Extensão principal, que controla o monitoramento do tempo de execução.Main extension, which controls runtime monitoring. ~2
XDT_MicrosoftApplicationInsights_ModeXDT_MicrosoftApplicationInsights_Mode Somente no modo padrão, os recursos essenciais são habilitados para garantir o desempenho ideal.In default mode only, essential features are enabled in order to insure optimal performance. default ou recommended.default or recommended.
InstrumentationEngine_EXTENSION_VERSIONInstrumentationEngine_EXTENSION_VERSION Controla se o mecanismo de regravação binária InstrumentationEngine será ativado.Controls if the binary-rewrite engine InstrumentationEngine will be turned on. Essa configuração tem implicações de desempenho e afeta o tempo de início/inicialização frio.This setting has performance implications and impacts cold start/startup time. ~1
XDT_MicrosoftApplicationInsights_BaseExtensionsXDT_MicrosoftApplicationInsights_BaseExtensions Controla se o SQL & texto da tabela do Azure será capturado junto com as chamadas de dependência.Controls if SQL & Azure table text will be captured along with the dependency calls. Aviso de desempenho: essa configuração requer o InstrumentationEngine.Performance warning: this setting requires the InstrumentationEngine. ~1

Configurações de aplicativo do serviço de aplicativo com Azure Resource ManagerApp Service Application settings with Azure Resource Manager

As configurações de aplicativo para serviços de aplicativos podem ser gerenciadas e configuradas com modelos de Azure Resource Manager.Application settings for App Services can be managed and configured with Azure Resource Manager templates. Esse método pode ser usado ao implantar novos recursos do serviço de aplicativo com a automação Azure Resource Manager ou para modificar as configurações de recursos existentes.This method can be used when deploying new App Service resources with Azure Resource Manager automation, or for modifying the settings of existing resources.

A estrutura básica do JSON de configurações do aplicativo para um serviço de aplicativo está abaixo:The basic structure of the application settings JSON for an app service is below:

      "resources": [
        {
          "name": "appsettings",
          "type": "config",
          "apiVersion": "2015-08-01",
          "dependsOn": [
            "[resourceId('Microsoft.Web/sites', variables('webSiteName'))]"
          ],
          "tags": {
            "displayName": "Application Insights Settings"
          },
          "properties": {
            "key1": "value1",
            "key2": "value2"
          }
        }
      ]

Para obter um exemplo de um modelo de Azure Resource Manager com configurações de aplicativo definidas para Application Insights, esse modelo pode ser útil, especificamente a seção que começa na linha 238.For an example of an Azure Resource Manager template with Application settings configured for Application Insights, this template can be helpful, specifically the section starting on line 238.

Para criar um modelo de Azure Resource Manager com todas as configurações de Application Insights padrão configuradas, inicie o processo como se estivesse criando um novo aplicativo Web com Application Insights habilitado.To create an Azure Resource Manager template with all the default Application Insights settings configured, begin the process as if you were going to create a new Web App with Application Insights enabled.

Selecionar Opções de automaçãoSelect Automation options

Menu de criação do aplicativo Web do serviço de aplicativo

Essa opção gera o modelo de Azure Resource Manager mais recente com todas as configurações necessárias definidas.This option generates the latest Azure Resource Manager template with all required settings configured.

Modelo de aplicativo Web do serviço de aplicativo

Abaixo está um exemplo, substitua todas as instâncias de AppMonitoredSite pelo nome do site:Below is a sample, replace all instances of AppMonitoredSite with your site name:

{
    "resources": [
        {
            "name": "[parameters('name')]",
            "type": "Microsoft.Web/sites",
            "properties": {
                "siteConfig": {
                    "appSettings": [
                        {
                            "name": "APPINSIGHTS_INSTRUMENTATIONKEY",
                            "value": "[reference('microsoft.insights/components/AppMonitoredSite', '2015-05-01').InstrumentationKey]"
                        },
                        {
                            "name": "ApplicationInsightsAgent_EXTENSION_VERSION",
                            "value": "~2"
                        }
                    ]
                },
                "name": "[parameters('name')]",
                "serverFarmId": "[concat('/subscriptions/', parameters('subscriptionId'),'/resourcegroups/', parameters('serverFarmResourceGroup'), '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
                "hostingEnvironment": "[parameters('hostingEnvironment')]"
            },
            "dependsOn": [
                "[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
                "microsoft.insights/components/AppMonitoredSite"
            ],
            "apiVersion": "2016-03-01",
            "location": "[parameters('location')]"
        },
        {
            "apiVersion": "2016-09-01",
            "name": "[parameters('hostingPlanName')]",
            "type": "Microsoft.Web/serverfarms",
            "location": "[parameters('location')]",
            "properties": {
                "name": "[parameters('hostingPlanName')]",
                "workerSizeId": "[parameters('workerSize')]",
                "numberOfWorkers": "1",
                "hostingEnvironment": "[parameters('hostingEnvironment')]"
            },
            "sku": {
                "Tier": "[parameters('sku')]",
                "Name": "[parameters('skuCode')]"
            }
        },
        {
            "apiVersion": "2015-05-01",
            "name": "AppMonitoredSite",
            "type": "microsoft.insights/components",
            "location": "West US 2",
            "properties": {
                "ApplicationId": "[parameters('name')]",
                "Request_Source": "IbizaWebAppExtensionCreate"
            }
        }
    ],
    "parameters": {
        "name": {
            "type": "string"
        },
        "hostingPlanName": {
            "type": "string"
        },
        "hostingEnvironment": {
            "type": "string"
        },
        "location": {
            "type": "string"
        },
        "sku": {
            "type": "string"
        },
        "skuCode": {
            "type": "string"
        },
        "workerSize": {
            "type": "string"
        },
        "serverFarmResourceGroup": {
            "type": "string"
        },
        "subscriptionId": {
            "type": "string"
        }
    },
    "$schema": "https://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0"
}

Nota

O modelo irá gerar configurações de aplicativo no modo "padrão".The template will generate application settings in “default” mode. Esse modo é otimizado para desempenho, embora você possa modificar o modelo para ativar qualquer recurso que preferir.This mode is performance optimized, though you can modify the template to activate whichever features you prefer.

Habilitando por meio do PowerShellEnabling through PowerShell

Para habilitar o monitoramento de aplicativos por meio do PowerShell, somente as configurações de aplicativo subjacentes precisam ser alteradas.In order to enable the application monitoring through PowerShell, only the underlying application settings need to be changed. Abaixo está um exemplo, que habilita o monitoramento de aplicativos para um site chamado "AppMonitoredSite" no grupo de recursos "AppMonitoredRG" e configura os dados a serem enviados para a chave de instrumentação "012345678-ABCD-EF01-2345-6789abcd".Below is a sample, which enables application monitoring for a website called "AppMonitoredSite" in the resource group "AppMonitoredRG", and configures data to be sent to the "012345678-abcd-ef01-2345-6789abcd" instrumentation key.

Nota

Este artigo foi atualizado para utilizar o novo módulo AZ do Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Pode continuar a utilizar o módulo AzureRM, que continuará a receber correções de erros até, pelo menos, dezembro de 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Para obter mais informações sobre o novo módulo Az e a compatibilidade do AzureRM, veja Apresentação do novo módulo Az do Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Para obter instruções de instalação do módulo Az, veja Instalar o Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

$app = Get-AzWebApp -ResourceGroupName "AppMonitoredRG" -Name "AppMonitoredSite" -ErrorAction Stop
$newAppSettings = @{} # case-insensitive hash map
$app.SiteConfig.AppSettings | %{$newAppSettings[$_.Name] = $_.Value} #preserve non Application Insights Application settings.
$newAppSettings["APPINSIGHTS_INSTRUMENTATIONKEY"] = "012345678-abcd-ef01-2345-6789abcd"; # enable the ApplicationInsightsAgent
$newAppSettings["ApplicationInsightsAgent_EXTENSION_VERSION"] = "~2"; # enable the ApplicationInsightsAgent
$app = Set-AzWebApp -AppSettings $newAppSettings -ResourceGroupName $app.ResourceGroup -Name $app.Name -ErrorAction Stop

Atualizar a extensão/agente de monitoramentoUpgrade monitoring extension/agent

Atualizando das versões 2.8.9 e upUpgrading from versions 2.8.9 and up

A atualização da versão 2.8.9 ocorre automaticamente, sem nenhuma ação adicional.Upgrading from version 2.8.9 happens automatically, without any additional actions. Os novos bits de monitoramento são entregues em segundo plano ao serviço de aplicativo de destino e, na reinicialização do aplicativo, serão coletados.The new monitoring bits are delivered in the background to the target app service, and on application restart they will be picked up.

Para verificar qual versão da extensão você está executando, visite http://yoursitename.scm.azurewebsites.net/ApplicationInsightsTo check which version of the extension you are running visit http://yoursitename.scm.azurewebsites.net/ApplicationInsights

Captura de tela do caminho da URL http://yoursitename.scm.azurewebsites.net/ApplicationInsights

Atualização das versões 1.0.0-2.6.5Upgrade from versions 1.0.0 - 2.6.5

A partir da versão 2.8.9, a extensão de site pré-instalada é usada.Starting with version 2.8.9 the pre-installed site extension is used. Se você for uma versão anterior, poderá atualizar por meio de uma das duas maneiras:If you are an earlier version, you can update via one of two ways:

  • Atualizar habilitando por meio do portal.Upgrade by enabling via the portal. (Mesmo que você tenha a extensão de Application Insights para Azure App Service instalado, a interface do usuário mostrará apenas o botão habilitar .(Even if you have the Application Insights extension for Azure App Service installed, the UI shows only Enable button. Nos bastidores, a extensão de site particular antigo será removida.)Behind the scenes, the old private site extension will be removed.)

  • Atualizar por meio do PowerShell:Upgrade through PowerShell:

    1. Defina as configurações do aplicativo para habilitar a extensão de site pré-instalada ApplicationInsightsAgent.Set the application settings to enable the pre-installed site extension ApplicationInsightsAgent. Consulte habilitando por meio do PowerShell.See Enabling through powershell.
    2. Remova manualmente a extensão de site particular chamada Application Insights extensão para Azure App serviço.Manually remove the private site extension named Application Insights extension for Azure App Service.

Se a atualização for feita a partir de uma versão anterior à 2.5.1, verifique se as DLLs ApplicationInsigths são removidas da pasta bin do aplicativo consulte as etapas de solução de problemas.If the upgrade is done from a version prior to 2.5.1, check that the ApplicationInsigths dlls are removed from the application bin folder see troubleshooting steps.

Resolução de problemasTroubleshooting

Abaixo está nosso guia de solução de problemas passo a passo para o monitoramento baseado em extensão/agente para aplicativos .NET e .NET Core em execução em serviços de Azure App.Below is our step-by-step troubleshooting guide for extension/agent based monitoring for .NET and .NET Core based applications running on Azure App Services.

Nota

Os aplicativos Java e node. js só têm suporte em serviços Azure App por meio da instrumentação baseada em SDK manual e, portanto, as etapas a seguir não se aplicam a esses cenários.Java and Node.js applications are only supported on Azure App Services via manual SDK based instrumentation and therefore the steps below do not apply to these scenarios.

Nota

Não há suporte para aplicativos ASP.NET Core 3,0.ASP.NET Core 3.0 applications are not supported. Siga a Instrumentação manual por meio de código para ASP.NET Core aplicativos 3,0.Please follow Manual instrumentation via code for ASP.NET Core 3.0 apps.

  1. Verifique se o aplicativo é monitorado via ApplicationInsightsAgent.Check that the application is monitored via ApplicationInsightsAgent.

    • Verifique se ApplicationInsightsAgent_EXTENSION_VERSION configuração do aplicativo está definida com um valor de "~ 2".Check that ApplicationInsightsAgent_EXTENSION_VERSION app setting is set to a value of "~2".
  2. Verifique se o aplicativo atende aos requisitos a serem monitorados.Ensure that the application meets the requirements to be monitored.

    • Navegue até https://yoursitename.scm.azurewebsites.net/ApplicationInsightsBrowse to https://yoursitename.scm.azurewebsites.net/ApplicationInsights

    Captura de tela da página de resultados do https://yoursitename.scm.azurewebsites/applicationinsights

    • Confirme se o Application Insights Extension Status é Pre-Installed Site Extension, version 2.8.12.1527, is running.Confirm that the Application Insights Extension Status is Pre-Installed Site Extension, version 2.8.12.1527, is running.

    • Confirme se a origem do status existe e se parece com o seguinte: Status source D:\home\LogFiles\ApplicationInsights\status\status_RD0003FF0317B6_4248_1.jsonConfirm that the status source exists and looks like: Status source D:\home\LogFiles\ApplicationInsights\status\status_RD0003FF0317B6_4248_1.json

      • Se um valor semelhante não estiver presente, significa que o aplicativo não está em execução no momento ou não tem suporte.If a similar value is not present, it means the application is not currently running or is not supported. Para garantir que o aplicativo esteja em execução, tente visitar manualmente os pontos de extremidade do aplicativo/URL do aplicativo, o que permitirá que as informações de tempo de execução fiquem disponíveis.To ensure that the application is running, try manually visiting the application url/application endpoints, which will allow the runtime information to become available.
    • Confirme se IKeyExists é trueConfirm that IKeyExists is true

      • Se for false, adicione ' APPINSIGHTS_INSTRUMENTATIONKEY com o GUID do iKey às suas configurações de aplicativo.If it is false, add `APPINSIGHTS_INSTRUMENTATIONKEY with your ikey guid to your application settings.
    • Confirme se não há entradas para AppAlreadyInstrumented, AppContainsDiagnosticSourceAssembly e AppContainsAspNetTelemetryCorrelationAssembly.Confirm that there are no entries for AppAlreadyInstrumented, AppContainsDiagnosticSourceAssembly, and AppContainsAspNetTelemetryCorrelationAssembly.

      • Se qualquer uma dessas entradas existir, remova os seguintes pacotes do seu aplicativo: Microsoft.ApplicationInsights, System.Diagnostics.DiagnosticSource e Microsoft.AspNet.TelemetryCorrelation.If any of these entries exist, remove the following packages from your application: Microsoft.ApplicationInsights, System.Diagnostics.DiagnosticSource, and Microsoft.AspNet.TelemetryCorrelation.

A tabela a seguir fornece uma explicação mais detalhada do que esses valores significam, suas causas subjacentes e correções recomendadas:The table below provides a more detailed explanation of what these values mean, their underlying causes, and recommended fixes:

Valor do problemaProblem Value ExplicaçãoExplanation SolucionaFix
AppAlreadyInstrumented:true Esse valor indica que a extensão detectou que algum aspecto do SDK já está presente no aplicativo e será retirada.This value indicates that the extension detected that some aspect of the SDK is already present in the Application, and will back-off. Pode ser devido a uma referência a System.Diagnostics.DiagnosticSource, Microsoft.AspNet.TelemetryCorrelation ou Microsoft.ApplicationInsightsIt can be due to a reference to System.Diagnostics.DiagnosticSource, Microsoft.AspNet.TelemetryCorrelation, or Microsoft.ApplicationInsights Remova as referências.Remove the references. Algumas dessas referências são adicionadas por padrão em determinados modelos do Visual Studio, e as versões mais antigas do Visual Studio podem adicionar referências a Microsoft.ApplicationInsights.Some of these references are added by default from certain Visual Studio templates, and older versions of Visual Studio may add references to Microsoft.ApplicationInsights.
AppAlreadyInstrumented:true Se o aplicativo estiver direcionando o .NET Core 2,1 ou 2,2 e se referir a Microsoft. AspNetCore. All metapackage, ele levará em Application insights e a extensão será retirada.If the application is targeting .NET Core 2.1 or 2.2, and refers to Microsoft.AspNetCore.All meta-package, then it brings in Application Insights, and extension will back-off. Os clientes no .NET Core 2.1, 2.2 são recomendados a usar o meta-Package Microsoft. AspNetCore. app em vez disso.Customers on .NET Core 2.1,2.2 are recommended to use Microsoft.AspNetCore.App meta-package instead.
AppAlreadyInstrumented:true Esse valor também pode ser causado pela presença das DLLs acima na pasta do aplicativo de uma implantação anterior.This value can also be caused by the presence of the above dlls in the app folder from a previous deployment. Limpe a pasta do aplicativo para garantir que essas DLLs sejam removidas.Clean the app folder to ensure that these dlls are removed. Verifique o diretório bin do seu aplicativo local e o diretório wwwroot no serviço de aplicativo.Check both your local app's bin directory, and the wwwroot directory on the App Service. (Para verificar o diretório wwwroot do seu aplicativo Web do serviço de aplicativo: ferramentas avançadas (kudu) > console de depuração > CMD > home\site\wwwroot).(To check the wwwroot directory of your App Service web app: Advanced Tools (Kudu) > Debug console > CMD > home\site\wwwroot).
AppContainsAspNetTelemetryCorrelationAssembly: true Esse valor indica que a extensão detectou referências a Microsoft.AspNet.TelemetryCorrelation no aplicativo e será retirada.This value indicates that extension detected references to Microsoft.AspNet.TelemetryCorrelation in the application, and will back-off. Remova a referência.Remove the reference.
AppContainsDiagnosticSourceAssembly**:true Esse valor indica que a extensão detectou referências a System.Diagnostics.DiagnosticSource no aplicativo e será retirada.This value indicates that extension detected references to System.Diagnostics.DiagnosticSource in the application, and will back-off. Remova a referência.Remove the reference.
IKeyExists:false Esse valor indica que a chave de instrumentação não está presente no AppSetting, APPINSIGHTS_INSTRUMENTATIONKEY.This value indicates that the instrumentation key is not present in the AppSetting, APPINSIGHTS_INSTRUMENTATIONKEY. Possíveis causas: os valores podem ter sido acidentalmente removidos, esquecidos para definir os valores no script de automação, etc.Possible causes: The values may have been accidentally removed, forgot to set the values in automation script, etc. Verifique se a configuração está presente nas configurações do aplicativo do serviço de aplicativo.Make sure the setting is present in the App Service application settings.

Não há suporte para APPINSIGHTS_JAVASCRIPT_ENABLED e urlCompressionAPPINSIGHTS_JAVASCRIPT_ENABLED and urlCompression is not supported

Se você usar APPINSIGHTS_JAVASCRIPT_ENABLED = true nos casos em que o conteúdo é codificado, poderá obter erros como:If you use APPINSIGHTS_JAVASCRIPT_ENABLED=true in cases where content is encoded, you might get errors like:

  • erro de regravação de URL 500500 URL rewrite error
  • 500,53 erro de módulo de regravação de URL com regras de regravação de mensagem de saída não podem ser aplicadas quando o conteúdo da resposta HTTP é codificado (' gzip ').500.53 URL rewrite module error with message Outbound rewrite rules cannot be applied when the content of the HTTP response is encoded ('gzip').

Isso ocorre porque a configuração do aplicativo APPINSIGHTS_JAVASCRIPT_ENABLED está sendo definida como true e a codificação de conteúdo está presente ao mesmo tempo.This is due to the APPINSIGHTS_JAVASCRIPT_ENABLED application setting being set to true and content-encoding being present at the same time. Este cenário ainda não tem suporte.This scenario is not supported yet. A solução alternativa é remover o APPINSIGHTS_JAVASCRIPT_ENABLED das configurações do aplicativo.The workaround is to remove APPINSIGHTS_JAVASCRIPT_ENABLED from your application settings. Infelizmente, isso significa que se a instrumentação de JavaScript do lado do cliente/navegador ainda for necessária, as referências manuais do SDK serão necessárias para suas páginas da Web.Unfortunately this means that if client/browser-side JavaScript instrumentation is still required, manual SDK references are needed for your webpages. Siga as instruções para instrumentação manual com o SDK do JavaScript.Please follow the instructions for manual instrumentation with the JavaScript SDK.

Para obter as informações mais recentes sobre a extensão/agente de Application Insights, Confira as notas de versão.For the latest information on the Application Insights agent/extension, check out the release notes.

Passos seguintesNext steps