Visão geral do Application Insights
O Application Insights é uma extensão do Azure Monitor e fornece recursos de monitoramento de desempenho de aplicativos (APM). As ferramentas do APM são úteis para monitorar aplicativos desde o desenvolvimento até o teste e à produção das seguintes maneiras:
- Entenda proativamente o desempenho de um aplicativo.
- Examine reativamente os dados de execução do aplicativo para determinar a causa de um incidente.
Juntamente com a coleta das métricas e dos dados de telemetria do aplicativo, que descrevem as atividades e a integridade do aplicativo, você pode usar o Application Insights para coletar e armazenar dados de log de rastreamento do aplicativo.
O rastreamento de logs está associado a outros dados telemétricos para fornecer uma exibição detalhada da atividade. Adicionar o log de rastreamento a aplicativos existentes requer apenas que um destino seja fornecido para os logs. Você raramente precisa alterar a estrutura de registro em log.
O Application Insights fornece outros recursos, incluindo, entre outros:
- Métricas Dinâmicas: observe a atividade do aplicativo implantado em tempo real, sem efeitos no ambiente do host.
- Disponibilidade: também conhecido como monitoramento de transações sintéticas. Investigue os pontos de extremidade externos dos seus aplicativos para testar a disponibilidade geral e a capacidade de resposta ao longo do tempo.
- Integração do GitHub ou do Azure DevOps: crie itens de trabalho do GitHub ou do Azure DevOps no contexto dos dados do Application Insights.
- Uso: entenda quais recursos são populares entre os usuários e como os usuários interagem e usam seu aplicativo.
- Detecção inteligente: detecte falhas e anomalias automaticamente por meio da análise de telemetria proativa.
O Application Insights dá suporte ao rastreamento distribuído, que também conhecido como correlação de componentes distribuídos. Esse recurso permite procurar e visualizar um fluxo de ponta a ponta de uma determinada execução ou transação. A capacidade de rastrear atividades de ponta a ponta é importante para aplicativos criados como componentes distribuídos ou microsserviços.
O Mapa do Aplicativo permite uma visão de cima para baixo de alto nível da arquitetura do aplicativo e referências visuais rápidas à integridade e capacidade de resposta do componente.
Para entender o número de recursos do Application Insights necessários para abranger seu aplicativo ou seus componentes entre ambientes, confira o Guia de planejamento de implantação do Application Insights.
Como usar o Application Insights?
O Application Insights é habilitado por meio da instrumentação automática (agente) ou da adição do SDK do Application Insights ou da Distribuição OpenTelemetry do Azure Monitor ao código do aplicativo. Há suporte para muitos idiomas. Os aplicativos podem estar no Azure, no local ou hospedados por outra nuvem. Para descobrir qual tipo de instrumentação é melhor para você, confira Como instrumentar um aplicativo?.
O SDK ou o agente do Application Insights pré-processa a telemetria e as métricas antes de enviar os dados para o Azure. Em seguida, é ingerido e processado antes de ser armazenado nos Logs do Azure Monitor (Log Analytics). Por esse motivo, uma conta do Azure é necessária para usar o Application Insights.
A maneira mais fácil de começar a consumir o Application Insights é por meio do portal do Azure e das experiências visuais internas. Usuários avançados podem consultar os dados subjacentes diretamente, para criar visualizações personalizadas por meio dos painéis e das pastas de trabalho do Azure Monitor.
Comece com o Mapa do Aplicativo para obter uma exibição de alto nível. Use a experiência de Pesquisa para restringir rapidamente a telemetria e os dados por tipo e data e hora. Ou você pode pesquisar nos dados (por exemplo, com Rastreamentos de Log) e filtrar para uma determinada operação correlacionada de interesse.
Dois modos de exibição são especialmente úteis:
- Exibição de desempenho: obtenha insights aprofundados sobre o desempenho do aplicativo ou da API e das dependências downstream. Você também pode encontrar um exemplo representativo para explorar de ponta a ponta.
- Exibição de falha: entenda quais componentes ou ações estão gerando falhas e erros de triagem e exceções. As exibições internas são úteis para controlar a integridade do aplicativo proativamente e para análise de causa raiz reativa.
Crie Alertas do Azure Monitor para sinalizar possíveis problemas caso seu aplicativo ou as partes dos componentes se desviem da linha de base estabelecida.
O preço do Application Insights é baseado no consumo. Você paga apenas pelo que usa. Para mais informações sobre os preços, confira:
Como instrumentar um aplicativo?
A instrumentação automática é o método de instrumentação preferencial. Não requer investimentos do desenvolvedor e elimina uma sobrecarga futura relacionada à atualização do SDK. Também é a única maneira de instrumentar um aplicativo no qual você não tem acesso ao código-fonte.
Você só precisa instalar o SDK do Application Insights se:
- Você precisa de métricas e eventos personalizados.
- Você precisa de controle sobre o fluxo de telemetria.
- A instrumentação automática não está disponível, normalmente devido a limitações de linguagem ou plataforma.
Para usar o SDK, instale um pequeno pacote de instrumentação em seu aplicativo e instrumente o aplicativo Web, todos os componentes em segundo plano e o JavaScript nas páginas da web. O aplicativo e seus componentes não devem ser hospedados no Azure.
A instrumentação monitora seu aplicativo e direciona os dados de telemetria para um recurso do Application Insights usando um token exclusivo. O efeito no desempenho do aplicativo é pequeno. As chamadas de acompanhamento não são bloqueadas e são colocadas em lote para serem enviadas em um thread separado.
A instrumentação automática integrada está disponível para .NET do Serviço de Aplicativo do Azure, .NET Core do Serviço de Aplicativo do Azure, Azure Functions e Máquinas Virtuais do Azure.
O agente do Application Insights do Azure Monitor está disponível para cargas de trabalho em execução nas máquinas virtuais locais.
Para obter uma exibição detalhada de todos os ambientes, idiomas e provedores de recursos compatível com a instrumentação automática, confira O que é instrumentação automática no Application Insights do Azure Monitor?.
Para outros cenários, o SDK do Application Insights é necessário.
Uma oferta da versão prévia do OpenTelemetry também está disponível.
Idiomas com suporte
Esta seção descreve os cenários com suporte.
Plataformas e estruturas compatíveis
Esta seção lista todas as plataformas e as estruturas com suporte.
Integração de serviços do Azure (habilitação do portal, implantações do Azure Resource Manager)
- Máquinas Virtuais do Azure e Conjuntos de Dimensionamento de Máquinas Virtuais
- Serviço de Aplicativo do Azure
- Azure Functions
- Azure Spring Apps
- Serviços de Nuvem do Azure, incluindo funções Web e de trabalho
Instrumentação automática (habilitar sem alterações de código)
- ASP.NET: para aplicativos Web hospedados com o IIS
- ASP.NET Core: para aplicativos Web hospedados com o IIS
- Java
Instrumentação manual/SDK (algumas alterações de código são necessárias)
Observação
A instrumentação baseada em OpenTelemetry está disponível na versão prévia para C#, Node.js e Python. Verifique as limitações indicadas no início da documentação oficial de cada linguagem. Se você precisar de uma experiência de recursos completos, use os SDKs existentes do Application Insights.
Estruturas de registro em log
- ILogger
- Log4Net, NLog ou System.Diagnostics.Trace
- Log4J, Logback ou java.util.logging
- Plug-in LogStash
- Azure Monitor
Análise de dados e exportação
SDKs sem suporte
Existem vários outros SDKs do Application Insights com suporte da comunidade. O Azure Monitor só dá suporte se você usar as opções de instrumentação compatíveis listadas neste artigo.
Estamos constantemente avaliando as oportunidades de expandir nosso suporte para outros idiomas. Para saber das últimas notícias sobre o SDK, confira a página Atualizações do Azure para Application Insights.
Perguntas frequentes
Examine as Perguntas frequentes.
Solução de problemas
Examine os artigos de solução de problemas dedicados do Application Insights.
Ajuda e suporte
Suporte técnico 24 horas por dia, 7 dias por semana.
Se você tiver problemas com o Suporte do Azure, abra um tíquete de suporte do Azure.
Fórum de perguntas e respostas da Microsoft
Poste perguntas gerais no fórum de respostas do Microsoft Q&A.
Stack Overflow
Poste perguntas sobre codificação no Stack Overflow usando uma tag do Application Insights.
Comentários da Comunidade
Deixe comentários sobre o produto para a equipe de engenharia nos Comentários da Comunidade.