Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Uma dependência é um componente chamado pela sua aplicação. Normalmente, é um serviço chamado usando HTTP, um banco de dados ou um sistema de arquivos. O Application Insights mede a duração das chamadas de dependência e se está falhando ou não, e coleta informações como o nome da dependência. Você pode investigar chamadas de dependência específicas e correlacioná-las a solicitações e exceções.
Dependências rastreadas automaticamente
Esta seção vincula a listas de chamadas de dependência que são detetadas automaticamente como dependências sem exigir qualquer modificação adicional no código do seu aplicativo. Essas dependências são visualizadas nas visualizações Application Insights Application map e Transaction diagnostics .
Se sua dependência não estiver na lista, você ainda poderá rastreá-la manualmente, consulte Controlar dependências manualmente.
Para obter uma lista de todas as dependências coletadas automaticamente, consulte as guias específicas do idioma em Adicionar e modificar o Azure Monitor OpenTelemetry para aplicativos .NET, Java, Node.jse Python.
Como funciona o monitoramento automático de dependência?
As dependências são coletadas automaticamente usando uma das seguintes técnicas, dependendo do método de coleta de telemetria.
As bibliotecas de instrumentação OpenTelemetry são usadas para coletar automaticamente dependências, como chamadas HTTP, SQL e SDK do Azure. Essas bibliotecas se conectam a estruturas suportadas e bibliotecas de clientes usando
DiagnosticSource
mecanismos ou equivalentes.Em ambientes com suporte, como os Serviços de Aplicativo do Azure, a autoinstrumentação está disponível e habilitada por padrão, injetando coletores de telemetria em tempo de execução sem alterações de código.
Em outros ambientes, os desenvolvedores podem configurar manualmente a instrumentação usando os pacotes Azure.Monitor.OpenTelemetry.* e APIs OpenTelemetry para controlar quais dependências são rastreadas e como elas são enriquecidas ou filtradas.
Controlar manualmente as dependências
Você pode rastrear manualmente as dependências quando a coleta automática não atende às suas necessidades.
Sugestão
Para novos projetos, recomendamos o uso do OpenTelemetry para melhor flexibilidade e compatibilidade futura.
Para saber como controlar manualmente as dependências, consulte Adicionar e modificar o Azure Monitor OpenTelemetry para aplicativos .NET, Java, Node.jse Python.
Onde encontrar dados de dependência
As seguintes ferramentas e exibições no Application Insights facilitam a exploração e a análise da telemetria de dependência:
Visualizações | Descrição |
---|---|
Mapa de Aplicação | Oferece uma representação visual das dependências do seu aplicativo e seus relacionamentos com serviços externos. |
Diagnóstico da Transação | Exibe detalhes de transação de ponta a ponta, correlacionando operações do lado do servidor com chamadas de dependência. |
Guia Navegador em exibições de falhas e desempenho | Destaca chamadas AJAX de navegadores clientes. |
Guia Servidor em exibições de falhas e desempenho | Permite detalhar solicitações de servidor lentas ou com falha e inspecionar chamadas de dependência relacionadas. Veja exemplos de rastreamento de solicitações para dependências e solicitações com falha associadas a chamadas com falha para dependências. |
Registos do Azure Monitor | Permite consultas e análises avançadas em telemetria de dependência. Veja exemplos para controlar dependências usando o KQL. |
Diagnosticar solicitações lentas
Cada evento de solicitação é associado às chamadas de dependência, exceções e outros eventos rastreados durante o processamento da solicitação. Então, se algumas solicitações estão indo mal, você pode descobrir se é por causa de respostas lentas de uma dependência.
Rastrear de solicitações para dependências
Selecione a guia Desempenho à esquerda e selecione a guia Dependências na parte superior.
Selecione um Nome da dependência em Geral. Depois de selecionar uma dependência, ele mostra um gráfico da distribuição de durações dessa dependência.
Selecione o botão Amostras no canto inferior direito. Em seguida, selecione um exemplo para ver os detalhes da transação de ponta a ponta.
Crie o perfil do seu site ao vivo
O .NET Profiler rastreia chamadas HTTP para seu site ativo e mostra as funções em seu código que levaram mais tempo.
Pedidos com falhas
Solicitações com falha também podem estar associadas a chamadas com falha para dependências.
Selecione a guia Falhas à esquerda e, em seguida, selecione a guia Dependências na parte superior.
Aqui você vê a contagem de dependência com falha. Para obter mais informações sobre uma ocorrência com falha, selecione um Nome de Dependência na tabela inferior. Selecione o botão Dependências no canto inferior direito para ver os detalhes da transação de ponta a ponta.
Registos (Analytics)
Na linguagem de consulta Kusto, pode rastrear dependências. Eis alguns exemplos.
Encontre quaisquer chamadas de dependência com falha:
dependencies | where success != "True" | take 10
Encontre chamadas AJAX:
dependencies | where client_Type == "Browser" | take 10
Encontre chamadas de dependência associadas a solicitações:
dependencies | where timestamp > ago(1d) and client_Type != "Browser" | join (requests | where timestamp > ago(1d)) on operation_Id
Encontre chamadas AJAX associadas a visualizações de página:
dependencies | where timestamp > ago(1d) and client_Type == "Browser" | join (browserTimings | where timestamp > ago(1d)) on operation_Id
SDK de código aberto
Como todo SDK do Application Insights, o módulo de coleta de dependência também é de código aberto. Leia e contribua para o código ou relate problemas no repositório oficial do GitHub.
Próximos passos
- Consulte as perguntas frequentes nas nossas Perguntas frequentes sobre o acompanhamento de dependências.
- Consulte o modelo de dados para obter informações sobre o Application Insights.
- Confira as plataformas suportadas pelo Application Insights.