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

Atualmente, o Depurador de Instantâneo dá suporte a aplicativos ASP.NET e ASP.NET Core que estão sendo executados no Serviço de Aplicativo do Azure em planos de serviço do Windows.

Nota

Recomendamos que você execute seu aplicativo na camada de serviço Básico, ou superior, ao usar o Depurador de Instantâneo. Para a maioria dos aplicativos, as camadas de serviço Gratuito e Compartilhado não têm memória ou espaço em disco suficientes para salvar instantâneos. A camada Consumo não está disponível atualmente para o Depurador de Instantâneo.

Ativar depurador de instantâneo

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âneo para um aplicativo, siga as instruções abaixo:

Nota

Se você estiver usando uma versão de visualização do .NET Core ou se seu aplicativo fizer referência ao SDK do Application Insights (direta ou indiretamente por meio de um assembly dependente), siga as instruções para Habilitar o Depurador de Instantâneo para outros ambientes para incluir o Microsoft.ApplicationInsights.SnapshotCollector pacote NuGet no aplicativo.

Nota

A instalação sem código do Application Insights Snapshot Debugger segue a política de suporte do .NET Core. Para obter mais informações sobre tempos de execução suportados, consulte Política de suporte do .NET Core.

Depois de implantar seu aplicativo .NET:

  1. Vá para o painel de controle do Azure para seu Serviço de Aplicativo.

  2. Vá para a página Configurações>do Application Insights.

    Screenshot showing the Enable App Insights on App Services portal.

  3. Siga as instruções na página para criar um novo recurso ou selecione um recurso existente do App Insights para monitorar seu aplicativo.

  4. Alterne o Depurador de Instantâneo para Ativado.

    Screenshot showing how to add App Insights site extension.

  5. O Depurador de Instantâneo agora está habilitado usando uma Configuração do Aplicativo de 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 instruções para habilitar o Depurador de Instantâneo em outras plataformas com suporte:

Ativar o Depurador de Instantâneo para outras nuvens

Atualmente, as únicas regiões que exigem modificações de ponto de extremidade são o Azure Government e o Microsoft Azure operados pela 21Vianet por meio da Cadeia de Conexão do Application Insights.

Propriedade Connection String Nuvem do governo dos EUA China Cloud
SnapshotEndpoint https://snapshot.monitor.azure.us https://snapshot.monitor.azure.cn

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

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

O Application Insights Snapshot Debugger suporta a autenticação Microsoft Entra para ingestão de instantâneos. Isso significa que, para que todos os snapshots do seu aplicativo sejam ingeridos, seu aplicativo deve ser autenticado e fornecer as configurações necessárias do aplicativo para o agente do Depurador de Instantâneo.

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

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

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

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

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

  2. Configure e ative o Microsoft Entra ID no recurso do Application Insights. Para obter mais informações, consulte a seguinte documentação

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

Para a identidade atribuída ao sistema:

Definição da Aplicação Valor
APPLICATIONINSIGHTS_AUTHENTICATION_STRING Autorização=AD

Para identidade atribuída pelo usuário:

Definição da Aplicação Valor
APPLICATIONINSIGHTS_AUTHENTICATION_STRING Autorização=AD; ClientID={ID do Cliente da Identidade Atribuída pelo Utilizador}

Desativar o Depurador de Instantâneo

Para desativar o Depurador de Instantâneo, repita as etapas para ativar. No entanto, alterne o Depurador de Instantâneo para Desativado.

Modelo Azure Resource Manager

Para um Serviço de Aplicativo do Azure, você pode definir configurações de aplicativo no modelo do Azure Resource Manager para habilitar o Depurador de Instantâneo e o Criador de Perfil. 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 não suportados

Abaixo, você pode encontrar cenários em que o Snapshot Collector não é suportado:

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

Próximos passos

  • Gere tráfego para seu aplicativo que pode acionar uma exceção. Em seguida, aguarde de 10 a 15 minutos para que os instantâneos sejam enviados para a instância do Application Insights.
  • Veja instantâneos no portal do Azure.
  • Para obter ajuda com a solução de problemas do Depurador de Instantâneo, consulte Solução de problemas do Depurador de Instantâneo.