Descrição geral do Application Insights
O Application Insights é uma extensão do Azure Monitor e fornece funcionalidades de monitorização do desempenho da aplicação (APM). As ferramentas do APM são úteis para monitorizar as aplicações do desenvolvimento, do teste e da produção das seguintes formas:
- Compreender proativamente o desempenho de uma aplicação.
- Reveja reativamente os dados de execução da aplicação para determinar a causa de um incidente.
Juntamente com a recolha de métricas e dados de telemetria da aplicação, que descrevem as atividades da aplicação e o estado de funcionamento, pode utilizar o Application Insights para recolher e armazenar dados de registo de rastreio de aplicações.
O rastreio de registo está associado a outra telemetria para dar uma vista detalhada da atividade. A adição de registos de rastreio a aplicações existentes apenas requer o fornecimento de um destino para os registos. Raramente precisa de alterar a arquitetura de registo.
O Application Insights fornece outras funcionalidades, incluindo, mas não se limita a:
- Métricas Dinâmicas: observe a atividade da sua aplicação implementada em tempo real sem qualquer efeito no ambiente anfitrião.
- Disponibilidade: também conhecida como monitorização de transações sintéticas. Investigue os pontos finais externos das suas aplicações 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.
- Utilização: compreenda que funcionalidades são populares entre os utilizadores e como os utilizadores interagem e utilizam a sua aplicação.
- Deteção inteligente: detete falhas e anomalias automaticamente através da análise de telemetria proativa.
O Application Insights suporta o rastreio distribuído, que também é conhecido como correlação de componentes distribuídos. Esta funcionalidade permite procurar e visualizar um fluxo ponto a ponto de uma execução ou transação específica. A capacidade de rastrear a atividade de ponta a ponta é importante para aplicações criadas como componentes distribuídos ou microsserviços.
O Mapa da Aplicação permite uma vista de alto nível e de cima para baixo da arquitetura da aplicação e referências visuais rápidas ao estado de funcionamento e capacidade de resposta dos componentes.
Para compreender o número de recursos do Application Insights necessários para cobrir a sua aplicação ou componentes em ambientes, veja o guia de planeamento de implementação do Application Insights.
As definições da firewall têm de ser ajustadas para que os dados atinjam pontos finais de ingestão. Para obter mais informações, veja Endereços IP utilizados pelo Azure Monitor.
Como posso utilizar o Application Insights?
O Application Insights é ativado através da autoinstrumentação (agente) ou ao adicionar o SDK do Application Insights ou a Distro OpenTelemetry do Azure Monitor ao código da aplicação. São suportados muitos idiomas . As aplicações podem estar no Azure, no local ou alojadas por outra cloud. Para descobrir que tipo de instrumentação é melhor para si, consulte Como devo proceder para instrumentar uma aplicação?.
O agente do Application Insights ou o SDK pré-processará a telemetria e as métricas antes de enviar os dados para o Azure. Em seguida, é ingerido e processado ainda mais antes de ser armazenado nos Registos do Azure Monitor (Log Analytics). Por este motivo, é necessária uma conta do Azure para utilizar o Application Insights.
A forma mais fácil de começar a consumir o Application Insights é através do portal do Azure e das experiências visuais incorporadas. Os utilizadores avançados podem consultar diretamente os dados subjacentes para criar visualizações personalizadas através de dashboards e livros do Azure Monitor.
Considere começar com o Mapa da Aplicação para uma vista de alto nível. Utilize a experiência de Pesquisa para reduzir rapidamente a telemetria e os dados por tipo e data-hora. Em alternativa, pode procurar nos dados (por exemplo, com Rastreios de Registo) e filtrar para uma determinada operação correlacionada de interesse.
Duas vistas são especialmente úteis:
- Vista de desempenho: obtenha informações aprofundadas sobre o desempenho da sua aplicação ou API e dependências a jusante. Também pode encontrar um exemplo representativo para explorar ponto a ponto.
- Vista de falhas: compreender que componentes ou ações estão a gerar falhas e erros de triagem e exceções. As vistas incorporadas são úteis para controlar proativamente o estado de funcionamento da aplicação e para uma análise reativa da causa raiz.
Crie alertas do Azure Monitor para sinalizar potenciais problemas caso as partes da aplicação ou dos componentes se desviem da linha de base estabelecida.
Os preços do Application Insights baseiam-se no consumo. Só paga o que utilizar. Para obter mais informações sobre preços, consulte:
Como devo proceder para instrumentar uma aplicação?
A autoinstrução é o método de instrumentação preferencial. Não requer investimento para programadores e elimina a sobrecarga futura relacionada com a atualização do SDK. É também a única forma de instrumentar uma aplicação na qual não tem acesso ao código fonte.
Só precisa de instalar o SDK do Application Insights se:
- Precisa de eventos e métricas personalizados.
- Precisa de controlo sobre o fluxo de telemetria.
- A autoinstrução não está disponível, normalmente devido a limitações de linguagem ou plataforma.
Para utilizar o SDK, instale um pequeno pacote de instrumentação na sua aplicação e, em seguida, instrumente a aplicação Web, quaisquer componentes em segundo plano e JavaScript nas páginas Web. A aplicação e os respetivos componentes não têm de ser alojados no Azure.
A instrumentação monitoriza a sua aplicação e direciona os dados telemétricos para um recurso do Application Insights através de um token exclusivo. O efeito no desempenho da sua aplicação é pequeno. As chamadas de controlo não são guardadas e em lotes para serem enviadas num thread separado.
A autoinstrução integrada está disponível para Serviço de Aplicações do Azure .NET, Serviço de Aplicações do Azure .NET Core, Funções do Azure e Máquinas Virtuais do Azure.
O agente do Azure Monitor Application Insights está disponível para cargas de trabalho em execução em máquinas virtuais no local.
Para obter uma vista detalhada de todos os ambientes, idiomas e fornecedores de recursos suportados pela autoinstrução, veja O que é a intrusão automática do Azure Monitor Application Insights?.
Para outros cenários, é necessário o SDK do Application Insights .
Também está disponível uma oferta OpenTelemetry .
Linguagens suportadas
Esta secção descreve os cenários suportados.
Instrumentação automática (ativar sem alterações de código)
Instrumentação manual
OpenTelemetry Distro
- ASP.NET
- Java
- Node.js
- Python
- ASP.NET Core (pré-visualização)
SDK do Application Insights (API Clássica)
SDK JavaScript do lado do cliente
Plataformas e arquiteturas suportadas
Esta secção lista todas as plataformas e arquiteturas suportadas.
Integração do serviço do Azure (ativação do portal, implementações do Azure Resource Manager)
- Azure Máquinas Virtuais e Conjuntos de Dimensionamento de Máquinas Virtuais do Azure
- Serviço de Aplicações do Azure
- Funções do Azure
- Azure Spring Apps
- Azure Serviços Cloud, incluindo funções web e de trabalho
Arquiteturas de registo
ILogger
- Log4Net, NLog ou System.Diagnostics.Trace
Log4J
, Logback ou java.util.logging- Plug-in logStash
- Azure Monitor
Exportação e análise de dados
SDKs não suportados
Existem muitos SDKs do Application Insights suportados pela comunidade. O Azure Monitor só fornece suporte quando utiliza as opções de instrumentação suportadas listadas neste artigo.
Estamos constantemente a avaliar oportunidades para expandir o nosso suporte para outras linguagens. Para obter as notícias mais recentes, veja Atualizações do Azure para o Application Insights.
Perguntas mais frequentes
Esta secção fornece respostas a perguntas comuns.
Que telemetria é que o Application Insights recolhe?
A partir de aplicações Web de servidor:
- Pedidos HTTP.
- Dependências. Chamadas para bases de dados SQL, chamadas HTTP para serviços externos, Azure Cosmos DB, Armazenamento de Tabelas do Azure, Armazenamento de Blobs do Azure e Armazenamento de Filas do Azure.
- Exceções e rastreios de pilha.
- Contadores de desempenho: os contadores de desempenho estão disponíveis ao utilizar:
- Agente do Application Insights do Azure Monitor
- Monitorização do Azure para VMs ou conjuntos de dimensionamento de máquinas virtuais
- Escritor do Application Insights
collectd
.
- Eventos e métricas personalizados que codifica.
- Rastreio de registos se configurar o recoletor adequado.
A partir de páginas Web cliente:
Exceções não identificadas na sua aplicação, incluindo informações sobre
- Rastreio de pilha
- Detalhes da exceção e mensagem que acompanha o erro
- Número & de erro da coluna de linha
- URL onde o erro foi gerado
Os Pedidos de Dependência de Rede efetuados pelos pedidos XHR e Obtenção da aplicação (a recolha de obtenção está desativada por predefinição), incluem informações sobre:
- URL da origem de dependência
- Método de Comando & utilizado para pedir a dependência
- Duração do pedido
- Código de resultado e estado de êxito do pedido
- ID (se aplicável) do utilizador que efetua o pedido
- Contexto de correlação (se existir) em que o pedido é feito
Informações do utilizador (por exemplo, Localização, rede, IP)
Informações do dispositivo (por exemplo, Browser, SO, versão, idioma, modelo)
Informações de sessão
Nota
Para algumas aplicações, como aplicações de página única (SPAs), a duração pode não ser registada e será predefinida como 0.
Para obter mais informações, veja Recolha, retenção e armazenamento de dados no Application Insights.
A partir de outras origens, se as configurar:
Como posso gerir recursos do Application Insights com o PowerShell?
Pode escrever scripts do PowerShell com o Azure Resource Monitor para:
- Criar e atualizar recursos do Application Insights.
- Defina o plano de preços.
- Obtenha a chave de instrumentação.
- Adicione um alerta de métrica.
- Adicione um teste de disponibilidade.
Não pode configurar um relatório do explorador de métricas nem configurar a exportação contínua.
Como posso consultar a telemetria do Application Insights?
Utilize a API REST para executar consultas do Log Analytics .
Posso enviar telemetria para o portal do Application Insights?
Recomendamos que utilize os nossos SDKs e utilize a API do SDK. Existem variantes do SDK para várias plataformas. Estes SDKs processam processos como colocação em memória intermédia, compressão, limitação e repetições. No entanto, o esquema de ingestão e o protocolo de ponto final são públicos.
Quanto tempo demora a recolha da telemetria?
A maioria dos dados do Application Insights tem uma latência inferior a 5 minutos. Alguns dados podem demorar mais tempo, o que é típico para ficheiros de registo maiores. Veja o contrato de nível de serviço do Application Insights.
Resolução de problemas
Veja os artigos de resolução de problemas dedicados do Application Insights.
Ajuda e suporte
Suporte técnico do Azure
Para suporte do Azure problemas, abra um pedido de suporte do Azure.
Fórum de perguntas sobre o Microsoft Q&A
Publique perguntas gerais no fórum de respostas do Microsoft Q&A.
Stack Overflow
Publicar perguntas de codificação no Stack Overflow com uma azure-application-insights
etiqueta.
Comunidade de Comentários
Deixe o feedback dos produtos para a equipa de engenharia na Comunidade de Comentários.