Visão geral do monitoramento de aplicativos para o Serviço de Aplicativo do Azure

Agora é mais fácil do que nunca habilitar o monitoramento em seus aplicativos Web com base em ASP.NET, ASP.NET Core, Java e Node.js em execução no Serviço de Aplicativo do Azure. Anteriormente, você precisava instrumentar manualmente seu aplicativo, mas a extensão/agente mais recente agora está incorporada à imagem do Serviço de Aplicativo por padrão.

Ativar o Application Insights

Há duas maneiras de habilitar o monitoramento de aplicativos hospedados no Serviço de Aplicativo:

  • Monitoramento de aplicativos de autoinstrumentação (ApplicationInsightsAgent).

    Este método é o mais fácil de habilitar, e nenhuma alteração de código ou configurações avançadas são necessárias. É muitas vezes referido como monitoramento de "tempo de execução". Para o Serviço de Aplicativo, recomendamos que, no mínimo, você habilite esse nível de monitoramento. Com base no seu cenário específico, você pode avaliar se é necessário um monitoramento mais avançado por meio de instrumentação manual.

    Quando você habilita a instrumentação automática, ela habilita o Application Insights com uma configuração padrão (também inclui amostragem). Mesmo se você definir no Azure AppInsights: Amostragem: Todos os Dados 100%, essa configuração será ignorada.

    Para obter uma lista completa dos cenários de autoinstrumentação suportados, consulte Ambientes suportados, idiomas e provedores de recursos.

    As seguintes plataformas são suportadas para monitoramento de autoinstrumentação:

  • Instrumentar manualmente o aplicativo por meio de código instalando o SDK do Application Insights.

    Essa abordagem é muito mais personalizável, mas requer as seguintes abordagens: SDK para .NET Core, .NET, Node.js, Python e um agente autônomo para Java. Esse método também significa que você mesmo deve gerenciar as atualizações para a versão mais recente dos pacotes.

    Se você precisar fazer chamadas de API personalizadas para rastrear eventos/dependências não capturados por padrão com o monitoramento de autoinstrumentação, precisará usar esse método. Para saber mais, consulte API do Application Insights para eventos e métricas personalizados.

Se o monitoramento de autoinstrumentação e a instrumentação manual baseada em SDK forem detetados, no .NET somente as configurações de instrumentação manual serão respeitadas, enquanto no Java somente a autoinstrumentação emitirá a telemetria. Esta prática consiste em evitar o envio de dados duplicados.

Nota

O Depurador de Instantâneo e o Profiler só estão disponíveis no .NET e no .NET Core.

Notas de versão

Esta seção contém as notas de versão do Azure Web Apps Extension para instrumentação de tempo de execução com o Application Insights.

Para encontrar qual versão da extensão você está usando no momento, vá para https://<yoursitename>.scm.azurewebsites.net/ApplicationInsights.

Notas de versão

2.8.44

2.8.43

  • Separe o pacote .NET/.NET Core, Java e Node.js em diferentes Extensões de Site do Windows do Serviço de Aplicativo.

2.8.42

  • Extensão JAVA: Atualizado para o Java Agent 3.2.0 a partir da versão 2.5.1.
  • Node.js extensão: AI SDK atualizado para 2.1.8 a partir de 2.1.7. Adicionado suporte para identidades gerenciadas do Microsoft Entra atribuídas a usuários e sistemas.
  • .NET Core: Adicionadas implantações independentes e suporte ao .NET 6.0 usando o .NET Startup Hook.

2.8.41

  • Node.js extensão: AI SDK atualizado para 2.1.7 de 2.1.3.
  • .NET Core: Versão fora de suporte removida (2.1). As versões suportadas são 3.1 e 5.0.

2.8.40

  • Extensão JAVA: Atualizado para o Java Agent 3.1.1 (GA) a partir do 3.0.2.
  • Node.js extensão: AI SDK atualizado para 2.1.3 de 1.8.8.

2.8.39

  • .NET Core: Adicionado suporte ao .NET Core 5.0.

2.8.38

  • Extensão JAVA: atualizado para Java Agent 3.0.2 (GA) a partir do 2.5.1.
  • Node.js extensão: AI SDK atualizado para 1.8.8 de 1.8.7.
  • .NET Core: versões fora de suporte removidas (2.0, 2.2, 3.0). As versões suportadas são 2.1 e 3.1.

2.8.37

  • Extensão AppSvc para Windows: Fez o .NET Core funcionar com qualquer versão do System.Diagnostics.DiagnosticSource.dll.

2.8.36

  • Extensão AppSvc para Windows: Ativado Inter-op com AI SDK no .NET Core.

2.8.35

  • Extensão AppSvc para Windows: adicionado suporte ao .NET Core 3.1.

2.8.33

  • Agentes .NET, .NET core, Java e Node.js e a Extensão Windows: Suporte para nuvens soberanas. As cadeias de conexões podem ser usadas para enviar dados para nuvens soberanas.

2.8.31

  • O agente ASP.NET Core corrigiu um problema com o SDK do Application Insights. Se o tempo de execução carregou a versão incorreta do System.Diagnostics.DiagnosticSource.dll, a extensão sem código não trava o aplicativo e recua. Para corrigir o problema, os clientes devem remover System.Diagnostics.DiagnosticSource.dll da pasta bin ou usar a versão mais antiga da extensão definindo ApplicationInsightsAgent_EXTENSIONVERSION=2.8.24. Caso contrário, o monitoramento de aplicativos não será habilitado.

2.8.26

  • ASP.NET Agente principal: corrigido o problema relacionado ao SDK do Application Insights atualizado. O agente não tenta carregar AiHostingStartup se o ApplicationInsights.dll já estiver presente na pasta bin. Resolve questões relacionadas com a reflexão via Assembly<AiHostingStartup>. GetTypes().
  • Problemas conhecidos: A exceção System.IO.FileLoadException: Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' pode ser lançada se outra versão da DiagnosticSource dll for carregada. Pode acontecer, por exemplo, se System.Diagnostics.DiagnosticSource.dll estiver presente na pasta de publicação. Como atenuação, use a versão anterior da extensão definindo as configurações do aplicativo nos serviços do aplicativo: ApplicationInsightsAgent_EXTENSIONVERSION=2.8.24.

2.8.24

  • Versão reempacotada da versão 2.8.21.

2.8.23

  • Adicionado suporte ASP.NET monitoramento sem código Core 3.0.
  • Atualizado ASP.NET Core SDK para 2.8.0 para versões de tempo de execução 2.1, 2.2 e 3.0. Os aplicativos destinados ao .NET Core 2.0 continuam a usar a versão 2.1.1 do SDK.

2.8.14

  • Versão atualizada do ASP.NET Core SDK da versão 2.3.0 para a mais recente (2.6.1) para aplicativos destinados ao .NET Core 2.1, 2.2. Os aplicativos destinados ao .NET Core 2.0 continuam a usar a versão 2.1.1 do SDK.

2.8.12

  • Suporte para aplicativos ASP.NET Core 2.2.

  • Corrigido um bug na extensão ASP.NET Core que causava a injeção do SDK mesmo quando o aplicativo já estava instrumentado com o SDK. Para aplicativos 2.1 e 2.2, a presença de ApplicationInsights.dll na pasta do aplicativo agora faz com que a extensão recue. Para aplicativos 2.0, a extensão recua somente se o ApplicationInsights estiver habilitado com uma UseApplicationInsights() chamada.

  • Correção permanente para resposta HTML incompleta para aplicativos ASP.NET Core. Essa correção agora é estendida para funcionar para aplicativos .NET Core 2.2.

  • Adicionado suporte para desativar a injeção de JavaScript para aplicativos ASP.NET Core (APPINSIGHTS_JAVASCRIPT_ENABLED=false appsetting). Para ASP.NET núcleo, a injeção de JavaScript está no modo "Opt-Out" por padrão, a menos que explicitamente desativada. (A configuração padrão é feita para manter o comportamento atual.)

  • Corrigido ASP.NET bug de extensão Core que causava a injeção mesmo que o ikey não estivesse presente.

  • Corrigido um bug na lógica de prefixo da versão do SDK que causava uma versão incorreta do SDK na telemetria.

  • Adicionado prefixo de versão do SDK para aplicativos ASP.NET Core para identificar como a telemetria foi coletada.

  • Corrigida a página SCM- ApplicationInsights para mostrar corretamente a versão da extensão pré-instalada.

2.8.10

  • Correção para resposta HTML incompleta para aplicativos ASP.NET Core.

Perguntas mais frequentes

Esta secção fornece respostas a perguntas comuns.

O que o Application Insights modifica no meu projeto?

Os detalhes dependem do tipo de projeto. Para uma aplicação Web:

  • Adiciona estes arquivos ao seu projeto:
    • ApplicationInsights.config
    • ai.js
  • Instala estes pacotes NuGet:
    • API do Application Insights: a API principal
    • API do Application Insights para Aplicativos Web: usada para enviar telemetria do servidor
    • API do Application Insights para aplicativos JavaScript: usada para enviar telemetria do cliente
  • Os pacotes incluem estes assemblies:
    • Microsoft.ApplicationInsights
    • Microsoft.ApplicationInsights.Platform
  • Insere itens em:
    • Web.config
    • pacotes.config
  • (Apenas para novos projetos, você adiciona o Application Insights a um projeto existente manualmente.) Insere trechos no código do cliente e do servidor para inicializá-los com a ID do recurso do Application Insights. Por exemplo, em um aplicativo MVC, o código é inserido na página principal Views/Shared/_Layout.cshtml.

Próximos passos

Saiba como habilitar o monitoramento de aplicativos de autoinstrumentação para seu aplicativo .NET Core, .NET, Java, Nodejs ou Python em execução no Serviço de Aplicativo.