Habilitar o Depurador de Instantâneos para aplicativos .NET no Serviço de Aplicativo do Azure

Depurador de Instantâneos atualmente dá suporte ASP.NET e ASP.NET Core que estão em execução Serviço de Aplicativo do Azure em planos de serviço do Windows.

Observação

Recomendamos que você execute o aplicativo na camada de serviço Básica ou superior ao usar Depurador de Instantâneos. Para a maioria dos aplicativos, as camadas de serviço gratuitas e compartilhadas não têm memória ou espaço em disco suficiente para salvar instantâneos. No momento, a camada de Consumo não está disponível para o Depurador de Instantâneos.

Habilitar o Depurador de Instantâneos

O Depurador de Instantâneos é pré-instalado como parte do tempo de execução dos serviços de aplicativo, mas você precisa ativá-lo para obter instantâneos para seu aplicativo do serviço de aplicativo. Para habilitar o Depurador de Instantâneos em um aplicativo, siga as instruções abaixo:

Observação

Se você estiver usando uma versão prévia do .NET Core ou se o aplicativo referenciar o SDK do Application Insights (direta ou indiretamente por meio de um assembly dependente), siga as instruções para Habilitar o Depurador de Instantâneos em outros ambientes a fim de incluir o pacote NuGet Microsoft.ApplicationInsights.SnapshotCollector com o aplicativo.

Observação

A instalação sem código do Depurador de Instantâneos do Application Insights segue a política de suporte do .NET Core. Para mais informações sobre tempos de execução com suporte, consulte a política de suporte do .NET Core.

Depois de implantar o aplicativo .NET:

  1. Acesse o painel de controle do Azure do Serviço de aplicativo.

  2. Acesse a página Configurações>Application Insights.

    Screenshot showing the Enable App Insights on App Services portal.

  3. Siga as instruções no painel para criar um novo recurso ou selecione um recurso existente do App Insights para monitorar seu aplicativo.

  4. Mude o Depurador de Instantâneos para Ativado.

    Screenshot showing how to add App Insights site extension.

  5. Depurador de Instantâneos agora está habilitado usando uma configuração de aplicativo dos serviços de aplicativo.

    Screenshot showing App Setting for Snapshot Debugger.

Se você estiver executando um tipo diferente de serviço do Azure, aqui estão as instruções para habilitar o Depurador de Instantâneos em outras plataformas com suporte:

Habilitar o Depurador de Instantâneos para outras nuvens

Atualmente, as únicas regiões que exigem modificações de ponto de extremidade são o Microsoft Azure Governamental e o Microsoft Azure operado pela 21Vianet por meio da Cadeia de conexão do visual Studio Online Application Insights.

Propriedade Cadeia de Conexão Nuvem do governo dos EUA Nuvem da China
SnapshotEndpoint https://snapshot.monitor.azure.us https://snapshot.monitor.azure.cn

Para obter mais informações sobre outras substituições de conexão, veja a documentação do Application Insights.

Habilitar a autenticação do Microsoft Entra para ingestão de instantâneo

O Depurador de Instantâneos do Application Insights dá suporte à autenticação do Microsoft Entra para ingestão de instantâneos. Isso significa que, para que todos os instantâneos do seu aplicativo sejam ingeridos, seu aplicativo precisa estar autenticado e fornecer as configurações de aplicativo necessárias para o agente do Depurador de Instantâneos.

A partir de hoje, o Depurador de Instantâneos só dá suporte à autenticação do Microsoft Entra quando você faz referência e configura a ID do Microsoft Entra usando o SDK do Application Insights em seu aplicativo.

Para ativar a ID do Microsoft Entra para ingestão de instantâneo:

  1. Crie e adicione a identidade gerenciada que você deseja usar para se autenticar em seu recurso do Application Insights para o Serviço de Aplicativo.

    1. Para a identidade gerenciada atribuída pelo sistema, confira a documentação a seguir.

    2. Para a identidade gerenciada atribuída pelo usuário, confira a documentação a seguir.

  2. Configure e ative a ID do Microsoft Entra em seu recurso do Application Insights. Para saber mais, confira a documentação a seguir

  3. Adicione a seguinte configuração de aplicativo, usada para permitir que o agente do Depurador de Instantâneos saiba qual identidade gerenciada usar:

Para identidade atribuída pelo sistema:

Configurações de Aplicativo Valor
APPLICATIONINSIGHTS_AUTHENTICATION_STRING Authorization=AD

Para identidade atribuída pelo usuário:

Configurações de Aplicativo Valor
APPLICATIONINSIGHTS_AUTHENTICATION_STRING Authorization=AD;ClientID={ID do Cliente da Identidade Atribuída pelo Usuário}

Desabilitar o Depurador de Instantâneos

Para desabilitar o Depurador de Instantâneos, repita as etapas de habilitação. No entanto, mude o Depurador de Instantâneos para Desativado.

Modelo do Azure Resource Manager

Para um Serviço de Aplicativo do Azure, você pode definir as configurações de aplicativo no modelo do Azure Resource Manager para habilitar o Depurador de Instantâneos e o Profiler. Por exemplo:

{
  "apiVersion": "2015-08-01",
  "name": "[parameters('webSiteName')]",
  "type": "Microsoft.Web/sites",
  "location": "[resourceGroup().location]",
  "dependsOn": [
    "[variables('hostingPlanName')]"
  ],
  "tags": { 
    "[concat('hidden-related:', resourceId('Microsoft.Web/serverfarms', variables('hostingPlanName')))]": "empty",
    "displayName": "Website"
  },
  "properties": {
    "name": "[parameters('webSiteName')]",
    "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('hostingPlanName'))]"
  },
  "resources": [
    {
      "apiVersion": "2015-08-01",
      "name": "appsettings",
      "type": "config",
      "dependsOn": [
        "[parameters('webSiteName')]",
        "[concat('AppInsights', parameters('webSiteName'))]"
      ],
      "properties": {
        "APPINSIGHTS_INSTRUMENTATIONKEY": "[reference(resourceId('Microsoft.Insights/components', concat('AppInsights', parameters('webSiteName'))), '2014-04-01').InstrumentationKey]",
        "APPINSIGHTS_PROFILERFEATURE_VERSION": "1.0.0",
        "APPINSIGHTS_SNAPSHOTFEATURE_VERSION": "1.0.0",
        "DiagnosticServices_EXTENSION_VERSION": "~3",
        "ApplicationInsightsAgent_EXTENSION_VERSION": "~2"
      }
    }
  ]
},

Cenários sem suporte

Abaixo, você encontra cenários em que não há suporte para o Snapshot Collector:

Cenário Efeitos colaterais Recomendação
Você está usando o SDK do Snapshot Collector no aplicativo diretamente (.csproj) e habilitou a opção avançada "Interop". O SDK do Application Insights local (incluindo a telemetria do Snapshot Collector) será perdido, portanto, nenhum instantâneo estará disponível.
Seu aplicativo pode falhar na inicialização com System.ArgumentException: telemetryProcessorTypedoes not implement ITelemetryProcessor.
Saiba mais sobre o recurso "Interop" do Application Insights.
Se você estiver usando a opção avançada "Interop", use a injeção do Snapshot Collector sem código (habilitada por meio do portal do Azure).

Próximas etapas

  • Gere o tráfego para o aplicativo que pode disparar uma exceção. Em seguida, espere de 10 a 15 minutos para que os instantâneos comecem a ser enviados à instância do Application Insights.
  • Confira instantâneos no portal do Azure.
  • Para obter ajuda com a solução de problemas de Depurador de Instantâneos, confira solução de problemas do Depurador de Instantâneos.