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

Monitore seu aplicativo Web ao vivo e em produção usando métricas ao vivo (também conhecidas como QuickPulse) do Application Insights. Você pode selecionar e filtrar métricas e contadores de desempenho para assistir em tempo real, sem qualquer perturbação ao seu serviço. Você também pode inspecionar rastreamentos de pilha de exemplos de solicitações com falha e exceções. Juntamente com o Profiler e o Snapshot Debugger, as métricas ao vivo fornecem uma ferramenta de diagnóstico poderosa e não invasiva para seu site ao vivo.

Nota

As métricas em tempo real suportam apenas TLS 1.2. Para mais informações, consulte Resolução de Problemas.

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.

Atualmente, há suporte para métricas em tempo real para aplicativos ASP.NET, ASP.NET Core, Azure Functions, Java e Node.js.

Nota

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.

Começar agora

Importante

Para habilitar o Application Insights, verifique se ele está ativado no portal do Azure e se seu aplicativo está usando uma versão recente do pacote NuGet do Azure Monitor OpenTelemetry Distro ou Classic Application Insights . Sem o pacote NuGet, alguma telemetria é enviada para o Application Insights, mas essa telemetria não será exibida no painel de métricas em tempo real.

  1. Siga as diretrizes específicas do idioma para habilitar métricas ao vivo:
  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 se você puder usar dados confidenciais, como nomes de clientes, em seus filtros.

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 KPIs 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

Os filtros personalizados de métricas em tempo real permitem controlar qual telemetria do seu aplicativo é transmitida para o painel de métricas ao vivo no portal do Azure. Os critérios de filtros são enviados para os aplicativos que são instrumentados com o SDK do Application Insights. O valor do filtro pode potencialmente conter informações confidenciais, como o ID do cliente. Para manter esse valor protegido e evitar possíveis divulgações para aplicativos não autorizados, proteja o canal de métricas ao vivo usando a autenticação do Microsoft Entra.

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.

É possível experimentar filtros personalizados sem ter de configurar um canal autenticado. Selecione qualquer um dos ícones de filtro e autorize os servidores conectados. Se escolher esta opção, terá de autorizar os servidores ligados uma vez a cada nova sessão ou sempre que um novo servidor ficar online.

Aviso

Desencorajamos fortemente o uso de canais não seguros e desativaremos esta opção seis meses depois de começar a usá-la. A caixa de diálogo Autorizar servidores conectados exibe a data após a qual essa opção será desativada.

Captura de tela que mostra a caixa de diálogo Autorizar servidores conectados.

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

As métricas em tempo real usam 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.

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 sondam 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