Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Application Insights coleta telemetria do seu aplicativo para ajudar a diagnosticar falhas e investigar transações lentas. Inclui quatro ferramentas essenciais:
Falhas - Rastreia erros, exceções e falhas, oferecendo informações claras para uma solução rápida de problemas e maior estabilidade.
Desempenho - Identifica rapidamente e ajuda a resolver gargalos de aplicativos exibindo tempos de resposta e contagens de operações.
Pesquisa de transações - Permite que os usuários localizem e examinem itens de telemetria individuais, como exibições de página, exceções e eventos personalizados.
Diagnóstico de transações - Ajuda a identificar rapidamente problemas em componentes por meio de uma visão abrangente dos detalhes completos das transações.
Juntas, essas ferramentas garantem a integridade e a eficiência contínuas das aplicações web. Você pode usá-los para identificar problemas ou aprimoramentos que teriam mais impacto sobre os usuários.
Para acessar o modo de exibição Falhas no Application Insights, selecione o gráfico Solicitações com falha no painel Visão geral ou Falhas na categoria Investigar no menu de recursos.
Você também pode acessar a exibição de falhas no Mapa do Aplicativo selecionando um recurso e, em seguida, Investigar falhas na seção de triagem.
Observação
Você pode acessar o diagnóstico de transação por meio de qualquer uma das outras três experiências. Para obter mais informações, consulte Investigar telemetria.
Visão geral
A visualização Falhas mostra uma lista de todas as operações com falha coletadas para seu aplicativo com a opção de detalhar cada uma delas. Ele permite que você visualize sua frequência e o número de usuários afetados, para ajudá-lo a concentrar seus esforços nos problemas com maior impacto.
Observação
Além da telemetria pronta para uso enviada pela Distro OpenTelemetry do Azure Monitor ou pelo SDK do JavaScript, você pode adicionar e modificar a telemetria (por exemplo, eventos personalizados).
Para obter mais informações, consulte Adicionar e modificar o Azure Monitor OpenTelemetry para aplicativos .NET, Java, Node.jse Python.
Telemetria do filtro
Filtros predefinidos
Todas as experiências permitem filtrar a telemetria por intervalo de tempo. Além disso, cada experiência vem com seu próprio filtro padrão:
Você pode selecionar qual serviço (Nome da Função na Nuvem) ou máquina/contêiner (Instância da Função na Nuvem) será exibido no menu de filtro Funções . Isso permite isolar problemas ou tendências de desempenho em partes específicas do seu aplicativo.
Para saber como definir o Nome da Função de Nuvem e a Instância de Função de Nuvem, consulte Configurar o Azure Monitor OpenTelemetry.
Adicionar filtros
Você pode filtrar eventos nos valores de suas propriedades. As propriedades disponíveis dependem dos tipos de evento ou telemetria selecionados. Para adicionar um filtro:
Selecione
para adicionar um filtro.
Na lista suspensa à esquerda, selecione uma propriedade.
Na lista suspensa central, selecione um dos seguintes operadores:
=
,!=
,contains
, ounot contains
.Na lista suspensa à direita, selecione todos os valores de propriedade que pretende filtrar.
Observação
Observe que as contagens à direita dos valores do filtro mostram quantas ocorrências existem no conjunto filtrado atual.
Para adicionar outro filtro, selecione
novamente.
Telemetria de pesquisa
Você pode pesquisar operações específicas usando o campo Pesquisar para filtrar itens... acima da lista de operações.
Usar dados analíticos
Todos os dados coletados pelo Application Insights são armazenados no Log Analytics, que fornece uma linguagem de consulta avançada para analisar as solicitações que geraram a exceção que você está investigando.
Sugestão
O modo simples no Log Analytics oferece uma interface intuitiva de apontar e clicar para analisar e visualizar dados de log.
Na exibição de desempenho, falhas ou pesquisa de transações, selecione Exibir em Logs na barra de navegação superior e escolha uma consulta no menu suspenso.
Isso leva você para a visualização Logs , onde você pode modificar ainda mais a consulta ou selecionar uma diferente na barra lateral.
Investigar telemetria
Para investigar a causa raiz de um erro ou exceção, você pode detalhar a operação problemática para obter uma exibição detalhada de detalhes da transação de ponta a ponta que inclui dependências e detalhes de exceção.
Selecione uma operação para exibir os 3 principais códigos de resposta, os 3 principais tipos de exceção e as 3 principais dependências com falha dessa operação.
Em Detalhar, selecione o botão com o número de resultados filtrados para exibir uma lista de operações de exemplo.
Selecione uma operação de exemplo para abrir a visualização Detalhes da transação de ponta a ponta .
Observação
As amostras sugeridas têm telemetria relacionada de todos os componentes, mesmo que a amostragem estivesse em vigor em qualquer um deles.
Analise o desempenho e as falhas do lado do cliente
Se você instrumentar suas páginas da Web com o Application Insights, poderá obter visibilidade sobre visualizações de página, operações do navegador e dependências. A recolha destes dados do navegador requer a adição de um script às suas páginas Web.
Depois de adicionar o script, você pode acessar as exibições de página e suas métricas de desempenho associadas selecionando a opção Navegador na visualização Desempenho ou Falhas .
Esta vista fornece um resumo visual de várias telemetrias da sua aplicação a partir da perspetiva do browser.
Para operações do navegador, a exibição de detalhes da transação de ponta a ponta mostra as Propriedades de Exibição de Página do cliente que solicita a página, incluindo o tipo de navegador e sua localização. Essas informações podem ajudar a determinar se há problemas de desempenho relacionados a tipos específicos de clientes.
Observação
Assim como os dados coletados para o desempenho do servidor, o Application Insights disponibiliza todos os dados do cliente para análise profunda usando logs.
Experiência de diagnóstico de transações
A experiência de diagnóstico de transações, também chamada de visualização de detalhes completos da transação, mostra um gráfico de Gantt da transação que lista todos os eventos com a sua duração e código de resposta.
Essa experiência de diagnóstico correlaciona automaticamente a telemetria do lado do servidor de todos os componentes monitorados do Application Insights em uma única exibição e oferece suporte a vários recursos. O Application Insights deteta a relação subjacente e permite diagnosticar facilmente o componente, a dependência ou a exceção do aplicativo que causou uma lentidão ou falha na transação.
A seleção de um evento específico revela suas propriedades, incluindo informações adicionais, como o comando subjacente ou a pilha de chamadas.
Esta vista tem quatro partes principais:
Este painel recolhível mostra os outros resultados que atendem aos critérios de filtro. Selecione qualquer resultado para atualizar os respetivos detalhes das três seções anteriores. Tentamos encontrar amostras com maior probabilidade de ter os detalhes disponíveis de todos os componentes, mesmo que a amostragem esteja em vigor em qualquer um deles. Estas amostras são apresentadas como sugestões.
.NET Profiler e depurador de instantâneo
O .NET Profiler ou o Depurador de Instantâneo ajudam com diagnósticos em nível de código de problemas de desempenho e falha. Com essa experiência, você pode ver rastreamentos ou instantâneos do .NET Profiler de qualquer componente com uma única seleção.
Rastreamentos do Profiler
O .NET Profiler ajuda a ir mais longe com o diagnóstico em nível de código, mostrando o código real que foi executado para a operação e o tempo necessário para cada etapa. Algumas operações podem não ter um rastreamento porque o Profiler é executado periodicamente. Com o tempo, mais operações devem ter vestígios.
Para iniciar o .NET Profiler, selecione uma operação na visualização Desempenho e vá para Rastreamentos do Profiler.
Como alternativa, você pode fazer isso na visualização de detalhes da transação de ponta a ponta .
O rastreamento mostra os eventos individuais para cada operação para que você possa diagnosticar a causa raiz durante a operação geral. Selecione um dos principais exemplos com maior duração.
Selecione o link na Dica de desempenho (neste exemplo, tempo de CPU) para obter documentação sobre a interpretação do evento.
Para análise adicional, selecione Download Trace para baixar o rastreamento. Você pode exibir esses dados usando PerfView.
Observação
O caminho crítico é selecionado por predefinição. Ele destaca o caminho específico dos eventos que contribuem para o problema que você está investigando, indicado pelo ícone de chama ao lado do nome do evento.
Se não conseguir que o .NET Profiler funcione, contacte serviceprofilerhelp@microsoft.com.
Depurar instantâneo
Para ver informações de depuração no nível de código de uma exceção:
Selecione a exceção no gráfico de Gantt e, em seguida, abra o instantâneo de depuração.
O Depurador de Instantâneo mostra a pilha de chamadas e permite inspecionar variáveis em cada frame da pilha de chamadas. Ao selecionar um método, você pode exibir os valores de todas as variáveis locais no momento da solicitação.
Depois, você pode depurar o código-fonte baixando o instantâneo e abrindo-o no Visual Studio.
Se não conseguir que o Depurador de Instantâneos funcione, contacte snapshothelp@microsoft.com.
Criar um item de trabalho
Se você conectar o Application Insights a um sistema de rastreamento, como o Azure DevOps ou o GitHub, poderá criar um item de trabalho com os detalhes de qualquer item de telemetria diretamente do Application Insights.
Observação
Na primeira vez que fizer esta etapa, você será solicitado a configurar um link para sua organização e projeto do Azure DevOps.
Vá para a visualização Detalhes da transação de ponta a ponta e selecione um evento.
Na seção Detalhes , selecione Criar item de trabalho e crie um novo modelo ou escolha um existente.
O painel Novo Item de Trabalho é aberto com detalhes sobre a exceção já preenchida. Você pode adicionar mais informações antes de salvá-las.
Perguntas frequentes
Esta secção fornece respostas a perguntas comuns.
Pesquisa de transações
O que é um componente?
Os componentes são partes implantáveis de forma independente do seu aplicativo distribuído ou de microsserviço. Os desenvolvedores e as equipes de operações têm visibilidade em nível de código ou acesso à telemetria gerada por esses componentes do aplicativo.
- Os componentes são diferentes das dependências externas "observadas", como SQL e hubs de eventos, aos quais sua equipe ou organização pode não ter acesso (código ou telemetria).
- Os componentes são executados em qualquer número de instâncias de servidor, função ou contêiner.
- Os componentes podem ser chaves de instrumentação separadas do Application Insights, mesmo que as assinaturas sejam diferentes. Os componentes também podem ser funções diferentes que se reportam a uma única chave de instrumentação do Application Insights. A nova experiência mostra detalhes em todos os componentes, independentemente de como foram configurados.
Quantos dados são retidos?
Consulte o resumo dos limites.
Como posso ver os dados POST nos meus pedidos de servidor?
Não registramos os dados POST automaticamente, mas você pode usar o TrackTrace ou registrar chamadas. Coloque os dados POST no parâmetro message. Não é possível filtrar a mensagem da mesma forma que filtra as propriedades, mas o limite de tamanho é maior.
Por que minha pesquisa do Azure Function não retorna resultados?
O Azure Functions não registra cadeias de caracteres de consulta de URL.
Diagnóstico de transações
Por que vejo um único componente no gráfico e os outros componentes só aparecem como dependências externas sem detalhes?
Razões potenciais:
- Os outros componentes são instrumentados com o Application Insights?
- Eles estão usando o SDK estável mais recente do Application Insights?
- Se esses componentes forem recursos separados do Application Insights, valide se você tem acesso. Se você tiver acesso e os componentes forem instrumentados com os SDKs mais recentes do Application Insights, informe-nos através do canal de feedback no canto superior direito.
Vejo linhas duplicadas para as dependências. Esse comportamento é esperado?
Atualmente, estamos mostrando a chamada de dependência de saída separada da solicitação de entrada. Normalmente, as duas chamadas parecem idênticas, com apenas o valor de duração sendo diferente por causa da viagem de ida e volta da rede. O ícone principal e o estilo distinto das barras de duração ajudam a diferenciá-las. Esta apresentação dos dados é confusa? Dê-nos a sua opinião!
E quanto aos desvios de relógio em diferentes instâncias de componentes?
As linhas do tempo são ajustadas para distorções de relógio no gráfico de transações. Você pode ver os carimbos de data/hora exatos no painel de detalhes ou usando o Log Analytics.
Porque é que na nova experiência estão em falta a maioria das consultas de itens relacionados?
Este comportamento é intencional. Todos os itens relacionados, em todos os componentes, já estão disponíveis no lado esquerdo nas seções superior e inferior. A nova experiência tem dois itens relacionados que o lado esquerdo não cobre: toda a telemetria de cinco minutos antes e depois deste evento e a linha do tempo do usuário.
Existe uma maneira de ver menos eventos por transação quando uso o SDK JavaScript do Application Insights?
A experiência de diagnóstico de transação mostra toda a telemetria em uma única operação que compartilha uma ID de operação. Por padrão, o SDK do Application Insights para JavaScript cria uma nova operação para cada exibição de página exclusiva. Em um aplicativo de página única (SPA), apenas um evento de exibição de página é gerado e um único ID de operação é usado para toda a telemetria gerada. Como resultado, muitos eventos podem estar correlacionados à mesma operação.
Nesses cenários, você pode usar o Rastreamento Automático de Rotas para criar automaticamente novas operações para navegação em seu SPA. Você deve ativar enableAutoRouteTracking para que uma exibição de página seja gerada sempre que a rota de URL for atualizada (a exibição de página lógica ocorre). Se quiser atualizar manualmente o ID da operação, chame appInsights.properties.context.telemetryTrace.traceID = Microsoft.ApplicationInsights.Telemetry.Util.generateW3CId()
. Acionar manualmente um evento PageView também redefine a ID da operação.
Por que as durações de detalhes da transação não se somam à duração da solicitação superior?
O tempo não explicado no gráfico de Gantt é o tempo que não é coberto por uma dependência controlada. Esse problema pode ocorrer porque as chamadas externas não foram instrumentadas, automaticamente ou manualmente. Também pode ocorrer porque o tempo gasto estava em processo e não por causa de uma chamada externa.
Se todas as chamadas foram instrumentadas, no processo está a causa raiz provável para o tempo gasto. Uma ferramenta útil para diagnosticar o processo é o .NET Profiler.
E se eu vir a mensagem "Erro ao recuperar dados" enquanto navego pelo Application Insights no portal do Azure?
Este erro indica que o browser não conseguiu chamar uma API necessária ou a API devolveu uma resposta de falha. Para solucionar o comportamento, abra uma janela InPrivate do navegador e desative todas as extensões do navegador em execução e, em seguida, identifique se ainda é possível reproduzir o comportamento do portal. Se o erro do portal ainda ocorrer, tente testar com outros navegadores ou outras máquinas, investigue o DNS ou outros problemas relacionados à rede da máquina cliente em que as chamadas de API estão falhando. Se o erro do portal continuar e precisar ser investigado mais a fundo, colete um rastreamento de rede do navegador enquanto reproduz o comportamento inesperado do portal e, em seguida, abra um caso de suporte do portal do Azure.
Próximos passos
- Saiba mais sobre como usar o Mapa de Aplicativos para identificar gargalos de desempenho e pontos críticos de falha em todos os componentes do seu aplicativo.
- Saiba mais sobre como usar o modo de exibição Disponibilidade para configurar testes recorrentes para monitorar a disponibilidade e a capacidade de resposta do seu aplicativo.
- Saiba como escrever consultas complexas no Google Analytics para obter informações mais detalhadas dos seus dados de telemetria.
- Saiba como enviar logs e telemetria personalizada para o Application Insights para um monitoramento mais abrangente.
- Para obter uma introdução ao monitoramento do tempo de atividade e da capacidade de resposta, consulte a Visão geral da disponibilidade.