Métricas ao vivo: monitorar e diagnosticar com latência de 1 segundo
Use métricas dinâmicas do Application Insights para monitorar aplicativos Web. Selecione e filtre métricas e contadores de desempenho para observar em tempo real e inspecionar rastreamentos de pilha de solicitações e exceções com falha de exemplo. A experiência de métricas dinâmicas é uma ferramenta de diagnóstico poderosa quando combinada com o .NET Profiler e o Depurador de Instantâneos.
Com métricas dinâmicas, você pode:
- Valide uma correção enquanto ela é liberado, observando as contagens de falha e desempenho.
- Observe o efeito de cargas de teste e diagnostique problemas em tempo real.
- Concentre-se em sessões de teste específicas ou filtre os problemas conhecidos, selecionando e filtrando as métricas que deseja inspecionar.
- Obter rastreamentos de exceção quando eles ocorrerem.
- Experimente os filtros para localizar os KPIs mais relevantes.
- Monitore qualquer contador de desempenho do Windows em tempo real.
- Identifique com facilidade um servidor que está com problemas e filtre todo o KPI/feed em tempo real apenas desse servidor.
Introdução
- Habilite as métricas dinâmicas seguindo as diretrizes específicas do idioma:
- ASP.NET: sem suporte.
- ASP.NET Core: habilitado por padrão.
- Java: habilitado por padrão.
- Node.js: habilitado por padrão.
- Python: passe
enable_live_metrics=True
paraconfigure_azure_monitor
. Consulte a documentação do Azure Monitor OpenTelemetry Distro para obter mais informações.
Abra o recurso Application Insights para o seu aplicativo no portal do Azure. Selecione as Métricas dinâmicas, que estão listadas em Investigar no menu à esquerda.
Proteja o canal de controle habilitando a Autenticação do Microsoft Entra, se você usar filtros personalizados.
Observação
Em 31 de março de 31, 2025, o suporte à ingestão de chave de instrumentação será encerrado. A ingestão de chave de instrumentação continuará funcionando, mas não forneceremos mais atualizações ou suporte para o recurso. Transição para cadeias de conexão para aproveitar as novas funcionalidades.
Como as métricas dinâmicas diferem do Metrics Explorer e do Log Analytics?
Funcionalidades | Live Stream | Metrics Explorer e Log Analytics |
---|---|---|
Latência | Dados exibidos em um segundo. | Agregados em minutos. |
Nenhuma retenção | Os dados persistem enquanto estão no gráfico e depois são descartados. | Dados retidos por 90 dias. |
Sob demanda | Os dados são transmitidos apenas enquanto o painel de métricas dinâmicas está aberto. | Os dados são enviados sempre que o SDK está instalado e habilitado. |
Gratuita | Não há custo para dados do Live Stream. | Sujeito a preços. |
amostragem | Todas as métricas e os contadores selecionados são transmitidos. Há amostras de falhas e rastreamentos de pilha. | Os eventos podem ser amostrados. |
Canal de controle | Os sinais de controle de filtro são enviados ao SDK. Recomendamos que você proteja este canal. | A comunicação é unidirecional com o portal. |
Selecionar e filtrar suas métricas
Essas funcionalidades estão disponíveis com ASP.NET, ASP.NET Core e Azure Functions (v2).
Você pode monitorar os indicadores de desempenho personalizados em tempo real aplicando filtros arbitrários a um Application Insights Telemetry no portal. Selecione no controle de filtro que é exibido quando você passa o mouse sobre qualquer um dos gráficos. O gráfico a seguir plota um KPI personalizado de contagem de solicitações com filtros nos atributos de URL e Duração. Valide os filtros com a seção de visualização do fluxo, que mostra um feed em tempo real da telemetria que corresponde aos critérios que você especificou em algum momento.
Você pode monitorar um valor diferente de Contagem. As opções dependem do tipo de fluxo, que poderia ser qualquer telemetria do Application Insights, como solicitações, dependências, exceções, rastreamentos, eventos ou métricas. A telemetria também pode ser sua própria medida 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 dinâmicas são agregadas em dois pontos: localmente em cada servidor e em todos os servidores. Você pode alterar o padrão dos dois selecionando outras opções nas respectivas listas suspensas.
Telemetria de exemplo: eventos de diagnóstico em tempo real personalizados
Por padrão, o feed de eventos em tempo real mostra exemplos de solicitações com falha e chamadas de dependência, exceções, eventos e rastreamentos. Selecione o ícone do filtro para ver os critérios aplicados em qualquer ponto no tempo.
Assim como acontece com as métricas, você pode especificar qualquer critério arbitrário para qualquer um dos tipos de Application Insights Telemetry. Neste exemplo, estamos selecionando falhas de solicitações específicas e eventos.
Observação
No momento, 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 a mensagem de exceção interna (após o delimitador "<--") "O cliente se desconectou", use um critério de que a mensagem não contém "Erro ao ler o conteúdo da solicitação".
Veja os detalhes de um item no feed em tempo real clicando nele. Você pode pausar o feed clicando em Pausar ou simplesmente rolando para baixo e clicando em um item. O feed em tempo real será retomado quando você rolar de volta para o topo ou clicar no contador de itens coletados durante a pausa.
Filtrar por instância do servidor
Se você quiser monitorar uma instância de função de servidor específico, filtre por servidor. Para filtrar os resultados, selecione o nome do servidor em Servidores.
Proteger o canal de controle
Proteja o canal de controle de métricas dinâmicas habilitando a Autenticação do Microsoft Entra, que impede a divulgação não autorizada de informações potencialmente confidenciais inseridas em filtros personalizados.
Observação
Em 30 de setembro de 2025, as chaves de API usadas para transmitir a telemetria do Live Metrics para o Application Insights serão desativadas. Após essa data, os aplicativos que usam chaves de API não poderão enviar dados de métricas dinâmicas para o recurso do Application Insights. A ingestão de telemetria autenticada para transmissão 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 com suporte
Idioma | Métricas básicas | Métricas de desempenho | Filtragem personalizada | Exemplo de telemetria | Divisão de CPU por processo |
---|---|---|---|---|---|
.NET Framework | Com suporte (LTS) | Com suporte (LTS) | Com suporte (LTS) | Com suporte (LTS) | Com suporte (LTS) |
.NET Core (destino = .NET Framework) | Com suporte (LTS) | Com suporte (LTS) | Com suporte (LTS) | Com suporte (LTS) | Com suporte (LTS) |
.NET Core (destino = .NET Core) | Com suporte (LTS) | Com suporte* | Com suporte (LTS) | Com suporte (LTS) | Sem suporte |
Azure Functions v2 | Com suporte | Compatível | Compatível | Compatível | Sem suporte |
Java | Com suporte (V2.0.0 e superior) | Com suporte (V2.0.0 e superior) | Sem suporte | Com suporte (V3.2.0+) | Sem suporte |
Node.js | Com suporte (V1.3.0 e superior) | Com suporte (V1.3.0 e superior) | Sem suporte | Com suporte (V1.3.0 e superior) | Sem suporte |
Python | Com suporte (Distro versão 1.6.0+) | Sem suporte | Sem suporte | Sem suporte | Sem suporte |
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. O exemplo de telemetria 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 um pouco entre as versões do .NET Core que não são direcionadas ao .NET Framework:
- Há suporte para métricas de PerfCounters em execuções no Serviço de Aplicativo do Azure para Windows (SDK do ASP.NET Core versão 2.4.1 ou superior).
- PerfCounters têm suporte quando o aplicativo está sendo executado em qualquer computador do Windows para aplicativos direcionados ao .NET Core LTS ou superior.
- Há suporte para PerfCounters quando o aplicativo é executado em qualquer lugar (como Linux, Windows, Serviço de Aplicativo para Linux ou contêineres) nas últimas versões, mas somente para aplicativos direcionados ao .NET Core LTS ou posterior.
Solução de problemas
A seção a seguir aborda cenários comuns de solução de problemas para a experiência de métricas dinâmicas.
Dados de métricas dinâmicas ausentes
A experiência de métricas dinâmicas usa um endereço IP diferente do usado pela telemetria do Application Insights. Certifique-se de que esses endereços IP estejam abertos em seu firewall. Verifique também se as portas de saída para as métricas dinâmicas estão abertas no firewall dos servidores.
Conforme descrito no comunicado de migração do TLS 1.2 do Azure, as métricas dinâmicas agora dão suporte apenas ao TLS 1.2. Se você estiver usando uma versão mais antiga do TLS, o painel de métricas dinâmicas não exibirá nenhum dado. Para aplicativos baseados no .NET Framework 4.5.1, confira Como habilitar o TLS (Transport Layer Security) 1.2 em clientes – Configuration Manager para dar suporte à versão mais recente do TLS.
Validar se o Application Insights está habilitado e seu aplicativo está usando uma versão recente do OpenTelemetry Distro do Azure Monitor. Se você estiver usando the.NET API Clássica, instale o pacote NuGet do Application Insights.
Autorizar servidores conectados: essa opção não estará disponível
Desaconselhamos totalmente o uso de canais inseguros.
Se você optar por experimentar filtros personalizados sem configurar um canal autenticado, será necessário autorizar servidores conectados em cada nova sessão ou quando novos servidores estiverem online. Além disso, o uso de canais inseguros será desabilitado automaticamente 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 ao seu aplicativo. Evite inserir informações potencialmente confidenciais (como a ID do cliente) até configurar um canal autenticado. No entanto, se você reconhecer todos os servidores abaixo e confiar neles, será possível experimentar filtros personalizados sem autenticação. Essa opção não estará disponível após ##/##/#####. Servidores conectados sem autenticação:"
Para corrigir esse aviso, consulte Proteger o canal de controle.
Número baixo de instâncias de servidor monitoradas
O número de instâncias de servidor monitoradas exibidas por métricas dinâmicas pode ser menor do que o número real de instâncias alocadas para o aplicativo. Isso porque muitos servidores Web modernos descarregam aplicativos que não recebem solicitações durante um período para conservar recursos. Como as métricas dinâmicas 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.
Arquivo de configuração ausente para o .NET
Verifique se você está usando a última versão do pacote NuGet Microsoft.ApplicationInsights.PerfCounterCollector.
Edite o arquivo
ApplicationInsights.config
:- Verifique se a cadeia de conexão aponta para o recurso Application Insights que você está usando.
- Localize a opção de configuração
QuickPulseTelemetryModule
. Se ele não estiver presente, adicione-o. - Localize a opção de configuração
QuickPulseTelemetryProcessor
. Se ele não estiver presente, 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>
Reinicialize o aplicativo.
Mensagem de status "Os dados estão temporariamente inacessíveis"
Ao navegar para as métricas dinâmicas, é possível ver uma notificação do sistema com a mensagem de status: "Os dados estão temporariamente inacessíveis. As atualizações em nosso status são postadas aqui https://aka.ms/aistatus "
Siga o link para a página status do Azure e verifique se há alguma interrupção de ativação afetando o Application Insights. Verifique se firewalls e extensões de navegador não estão bloqueando o acesso a métricas dinâmicas se uma interrupção não estiver ocorrendo. Por exemplo, algumas extensões populares de bloqueador de anúncios bloqueiam as conexões com *.monitor.azure.com
. Para usar os recursos completos de métricas dinâmicas, desabilite a extensão do bloqueador de anúncios ou adicione uma regra de exclusão para o domínio *.livediagnostics.monitor.azure.com
ao bloqueador de anúncios, firewall, etc.
Número grande 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 dinâmicas 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 dinâmicas no portal do Azure.
Se você abrir as métricas dinâmicas, os SDKs mudarão para um modo de frequência mais alto e enviarão novas métricas para o QuickPulse a cada segundo. Isso permite monitorar e diagnosticar seu aplicativo dinâmico com latência de 1 segundo, mas também gera mais tráfego de rede. Para restaurar o fluxo normal de tráfego, navegue para longe do painel de métricas dinâmicas.
Observação
As chamadas à API REST feitas pelos SDKs para os pontos de extremidade QuickPulse não são acompanhadas pelo Application Insights e não afetam suas chamadas de dependência ou outras métricas. No entanto, você pode vê-las em outras ferramentas de monitoramento de rede.