Partilhar via


Métricas em tempo real: monitore e diagnostique com latência de 1 segundo

Use métricas em tempo real do Application Insights para monitorar aplicativos Web. Selecione e filtre métricas e contadores de desempenho para assistir em tempo real e inspecionar rastreamentos de pilha de exemplos de solicitações com falha e exceções. A experiência de métricas ao vivo é uma poderosa ferramenta de diagnóstico quando combinada com o .NET Profiler e o Snapshot Debugger.

Com métricas ao vivo, você pode:

  • Valide uma correção enquanto ela é liberada observando o desempenho e as contagens de falhas.
  • Assista ao efeito das cargas de teste e diagnostique problemas ao vivo.
  • Concentre-se em sessões de teste específicas ou filtre problemas conhecidos selecionando e filtrando as métricas que deseja assistir.
  • Obtenha rastreamentos de exceções à medida que elas acontecem.
  • Experimente filtros para encontrar os KPIs mais relevantes.
  • Monitore qualquer contador de desempenho do Windows ao vivo.
  • Identifique facilmente um servidor que está tendo problemas e filtre todos os KPI/feed ao vivo apenas para esse servidor.

Captura de tela que mostra a guia métricas ao vivo.

Começar agora

  1. Habilite métricas ao vivo seguindo diretrizes específicas do idioma:
  1. Abra o recurso do Application Insights para seu aplicativo no portal do Azure. Selecione Métricas em tempo real, que está listado em Investigar no menu à esquerda.

  2. Proteja o canal de controle habilitando a autenticação do Microsoft Entra se você usar filtros personalizados.

Nota

A 31 de março de 2025, o suporte da ingestão de chaves de instrumentação terminará. A ingestão de chaves de instrumentação continuará a funcionar, mas não forneceremos mais atualizações ou suporte para o recurso. Transição para cadeias de conexão para aproveitar os novos recursos.

Como as métricas em tempo real diferem do explorador de métricas e do Log Analytics?

Capacidades Live Stream Explorador de métricas e análise de logs
Latência Dados exibidos em um segundo. Agregado em minutos.
Sem retenção Os dados persistem enquanto estão no gráfico e, em seguida, são descartados. Dados retidos por 90 dias.
A pedido Os dados só são transmitidos enquanto o painel de métricas ao vivo está aberto. Os dados são enviados sempre que o SDK é instalado e ativado.
Gratuito Não há cobrança para os dados de transmissão ao vivo. Sujeito a preços.
Amostragem Todas as métricas e contadores selecionados são transmitidos. Falhas e rastreamentos de pilha são amostrados. Os eventos podem ser amostrados.
Canal de controlo Os sinais de controle de filtro são enviados para o SDK. Recomendamos que você proteja este canal. A comunicação é um caminho, para o portal.

Selecione e filtre suas métricas

Esses recursos estão disponíveis com ASP.NET, ASP.NET Core e Azure Functions (v2).

Você pode monitorar indicadores de desempenho personalizados ao vivo aplicando filtros arbitrários em qualquer telemetria do Application Insights a partir do portal. Selecione o controle de filtro que mostra quando você passa o mouse sobre qualquer um dos gráficos. O gráfico a seguir plota um KPI de contagem de solicitações personalizado com filtros nos atributos URL e Duration. Valide seus filtros com a seção de visualização de fluxo que mostra um feed ao vivo de telemetria que corresponde aos critérios especificados a qualquer momento.

Captura de tela que mostra a taxa de solicitação do filtro.

Você pode monitorar um valor diferente de Contagem. As opções dependem do tipo de fluxo, que pode ser qualquer telemetria do Application Insights, como solicitações, dependências, exceções, rastreamentos, eventos ou métricas. Também pode ser a sua própria medida personalizada.

Captura de tela que mostra o Construtor de Consultas na Taxa de Solicitação com uma métrica personalizada.

Junto com a telemetria do Application Insights, você também pode monitorar qualquer contador de desempenho do Windows. Selecione-o nas opções de fluxo e forneça o nome do contador de desempenho.

As métricas ao vivo são agregadas em dois pontos: localmente em cada servidor e, em seguida, em todos os servidores. Você pode alterar o padrão em qualquer uma delas selecionando outras opções nas respetivas listas suspensas.

Telemetria de exemplo: eventos de diagnóstico ao vivo personalizados

Por padrão, o feed ao vivo de eventos mostra amostras de solicitações com falha e chamadas de dependência, exceções, eventos e rastreamentos. Selecione o ícone de filtro para ver os critérios aplicados a qualquer momento.

Captura de ecrã que mostra o botão Filtrar.

Assim como acontece com as métricas, você pode especificar qualquer critério arbitrário para qualquer um dos tipos de telemetria do Application Insights. Neste exemplo, estamos selecionando falhas e eventos de solicitação específicos.

Captura de tela que mostra o Construtor de Consultas.

Nota

Atualmente, para critérios baseados em mensagens de exceção, use a mensagem de exceção mais externa. No exemplo anterior, para filtrar a exceção benigna com uma mensagem de exceção interna (segue o delimitador "<--") "O cliente desconectado", use uma mensagem que não contém o critério "Erro ao ler o conteúdo da solicitação".

Para ver os detalhes de um item no feed ao vivo, selecione-o. Você pode pausar o feed selecionando Pausar ou rolando para baixo e selecionando um item. O feed ao vivo é retomado depois que você rola de volta para o topo ou quando você seleciona o contador de itens coletados enquanto ele foi pausado.

Captura de tela que mostra a janela Telemetria de exemplo com uma exceção selecionada e os detalhes da exceção exibidos na parte inferior da janela.

Filtrar por instância do servidor

Se quiser monitorar uma instância de função de servidor específica, você pode filtrar por servidor. Para filtrar, selecione o nome do servidor em Servidores.

Captura de tela que mostra as falhas ao vivo amostradas.

Proteja o canal de controle

Proteja o canal de controle de métricas ao vivo habilitando a autenticação do Microsoft Entra, que impede a divulgação não autorizada de informações potencialmente confidenciais inseridas em filtros personalizados.

Nota

A 30 de setembro de 2025, as chaves de API utilizadas para a transmissão em fluxo de telemetria de métricas dinâmicas para o Application Insights serão descontinuadas. Após essa data, os aplicativos que usam chaves de API não poderão enviar dados de métricas em tempo real para seu recurso do Application Insights. A ingestão de telemetria autenticada para streaming de métricas ao vivo para o Application Insights precisará ser feita com a autenticação do Microsoft Entra para o Application Insights.

Tabela de recursos suportados

Idioma Métricas básicas Métricas de desempenho Filtragem personalizada Telemetria de amostra CPU dividida por processo
.NET Framework Suportado (LTS) Suportado (LTS) Suportado (LTS) Suportado (LTS) Suportado (LTS)
.NET Core (destino=.NET Framework) Suportado (LTS) Suportado (LTS) Suportado (LTS) Suportado (LTS) Suportado (LTS)
.NET Core (destino=.NET Core) Suportado (LTS) Suportado* Suportado (LTS) Suportado (LTS) Não suportado
Azure Functions v2 Suportado Suportado Suportado Suportado Não suportado
Java Suportado (v2.0.0+) Suportado (v2.0.0+) Não suportado Suportado (v3.2.0+) Não suportado
Node.js Suportado (v1.3.0+) Suportado (v1.3.0+) Não suportado Suportado (v1.3.0+) Não suportado
Python Suportado (Distro Versão 1.6.0+) Não suportado Não suportado Não suportado Não suportado

As métricas básicas incluem solicitação, dependência e taxa de exceção. As métricas de desempenho (contadores de desempenho) incluem memória e CPU. A telemetria de exemplo mostra um fluxo de informações detalhadas para solicitações e dependências com falha, exceções, eventos e rastreamentos.

O suporte a PerfCounters varia ligeiramente entre as versões do .NET Core que não visam o .NET Framework:

  • As métricas PerfCounters são suportadas quando executadas no Serviço de Aplicativo do Azure para Windows (ASP.NET Core SDK versão 2.4.1 ou superior).
  • Os PerfCounters são suportados quando o aplicativo está sendo executado em qualquer máquina Windows para aplicativos destinados ao .NET Core LTS ou superior.
  • Os PerfCounters são suportados quando o aplicativo está sendo executado em qualquer lugar (como Linux, Windows, serviço de aplicativo para Linux ou contêineres) nas versões mais recentes, mas apenas para aplicativos destinados ao .NET Core LTS ou superior.

Resolução de Problemas

A seção a seguir discute cenários comuns de solução de problemas para a experiência de métricas ao vivo.

Dados de métricas em tempo real ausentes

A experiência de métricas ao vivo usa endereços IP diferentes de outras telemetrias do Application Insights. Verifique se esses endereços IP estão abertos no firewall. Verifique também se as portas de saída para métricas em tempo real estão abertas no firewall de seus servidores.

Conforme descrito no anúncio de migração do Azure TLS 1.2, as métricas em tempo real agora suportam apenas o TLS 1.2. Se você estiver usando uma versão mais antiga do TLS, o painel de métricas em tempo real não exibirá dados. Para aplicativos baseados no .NET Framework 4.5.1, consulte Habilitar Transport Layer Security (TLS) 1.2 em clientes - Configuration Manager para oferecer suporte à versão mais recente do TLS.

Validar o Application Insights está habilitado e seu aplicativo está usando uma versão recente da Distro OpenTelemetry do Azure Monitor. Se você estiver usando the.NET API clássica, instale o pacote NuGet do Application Insights .

Autorizar servidores conectados: esta opção não estará disponível

Desencorajamos fortemente a utilização de canais não seguros.

Se optar por experimentar filtros personalizados sem configurar um canal autenticado, terá de autorizar servidores ligados em cada nova sessão ou quando novos servidores ficarem online. Além disso, o uso de canais não seguros será automaticamente desativado após seis meses.

Uma caixa de diálogo exibirá um aviso: "Você pode transmitir métricas e eventos com filtros personalizados, que são enviados de volta para seu aplicativo. Evite inserir informações potencialmente confidenciais (como ID do cliente) até configurar um canal autenticado. No entanto, se você reconhecer e confiar em todos os servidores abaixo, poderá tentar filtros personalizados sem autenticação. Esta opção não estará disponível após ##/##/####. Servidores conectados sem autenticação:"

Para corrigir esse aviso, consulte Proteger o canal de controle.

Baixo número de instâncias de servidor monitoradas

O número de instâncias de servidor monitoradas exibidas por métricas em tempo real pode ser menor do que o número real de instâncias alocadas para o aplicativo. Essa incompatibilidade ocorre porque muitos servidores Web modernos descarregam aplicativos que não recebem solicitações durante um período de tempo para conservar recursos. Como as métricas em tempo real contam apenas os servidores que estão executando o aplicativo no momento, os servidores que já descarregaram o processo não serão incluídos nesse total.

Configuração ausente para .NET

  1. Verifique se você está usando a versão mais recente do pacote NuGet Microsoft.ApplicationInsights.PerfCounterCollector.

  2. Edite o ApplicationInsights.config arquivo:

    • Verifique se a cadeia de conexão aponta para o recurso do Application Insights que você está usando.
    • Localize a opção de QuickPulseTelemetryModule configuração. Se não estiver lá, adicione-o.
    • Localize a opção de QuickPulseTelemetryProcessor configuração. Se não estiver lá, adicione-o.
    <TelemetryModules>
    <Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.
    QuickPulse.QuickPulseTelemetryModule, Microsoft.AI.PerfCounterCollector"/>
    </TelemetryModules>
    
    <TelemetryProcessors>
    <Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.
    QuickPulse.QuickPulseTelemetryProcessor, Microsoft.AI.PerfCounterCollector"/>
    </TelemetryProcessors>
    
  3. Reinicie o aplicativo.

Mensagem de estado "Os dados estão temporariamente inacessíveis"

Ao navegar para métricas ao vivo, você pode ver um banner com a mensagem de status: "Os dados estão temporariamente inacessíveis. As atualizações sobre o nosso estado estão publicadas aqui https://aka.ms/aistatus "

Siga o link para a página de status do Azure e verifique se há uma interrupção de ativação que afete o Application Insights. Verifique se os firewalls e as extensões do navegador não estão bloqueando o acesso às métricas em tempo real se uma interrupção não estiver ocorrendo. Por exemplo, algumas extensões populares de bloqueadores de anúncios bloqueiam conexões com o *.monitor.azure.com. Para usar todos os recursos das métricas ao vivo, desative a extensão do bloqueador de anúncios ou adicione uma regra de exclusão para o domínio *.livediagnostics.monitor.azure.com ao seu bloqueador de anúncios, firewall, etc.

Grande número inesperado de solicitações para livediagnostics.monitor.azure.com

Os SDKs do Application Insights usam uma API REST para se comunicar com pontos de extremidade QuickPulse, que fornecem métricas em tempo real para seu aplicativo Web. Por padrão, os SDKs pesquisam os pontos de extremidade uma vez a cada cinco segundos para verificar se você está exibindo o painel de métricas ao vivo no portal do Azure.

Se você abrir métricas ao vivo, os SDKs alternarão para um modo de frequência mais alta e enviarão novas métricas para o QuickPulse a cada segundo. Isso permite que você monitore e diagnostique seu aplicativo ao vivo com latência de 1 segundo, mas também gera mais tráfego de rede. Para restaurar o fluxo normal de tráfego, navegue longe do painel de métricas em tempo real.

Nota

As chamadas de API REST feitas pelos SDKs para pontos de extremidade QuickPulse não são rastreadas pelo Application Insights e não afetam suas chamadas de dependência ou outras métricas. No entanto, você pode vê-los em outras ferramentas de monitoramento de rede.

Próximos passos