Noções básicas de coleta de dados do Azure Monitor Application Insights
Antes que você possa monitorar seu aplicativo, ele precisa ser instrumentado.
Nas seções a seguir, abordamos algumas noções básicas de coleta de dados do Azure Monitor Application Insights.
Opções de instrumentação
Em um nível básico, "instrumentação" é simplesmente permitir que um aplicativo capture telemetria.
Existem dois métodos para instrumentar a sua aplicação:
- Instrumentação automática (autoinstrumentação)
- Instrumentação manual
A autoinstrumentação permite a coleta de telemetria por meio da configuração sem tocar no código do aplicativo. Embora seja mais conveniente, tende a ser menos configurável. Também não está disponível em todos os idiomas. Consulte Ambientes e idiomas suportados pela Autoinstrumentação. Quando a autoinstrumentação está disponível, é a maneira mais fácil de habilitar o Azure Monitor Application Insights.
A instrumentação manual é codificada em relação ao Application Insights ou à API OpenTelemetria. No contexto de um usuário, normalmente refere-se à instalação de um SDK específico do idioma em um aplicativo. Isso significa que você tem que gerenciar as atualizações para a versão mais recente do pacote por conta própria. Você pode usar essa opção se precisar fazer chamadas de dependência personalizadas ou chamadas de API que não são capturadas por padrão com a autoinstrumentação. Existem duas opções para instrumentação manual:
- Application Insights SDKs
- Distros OpenTelemetry do Azure Monitor.
Embora vejamos o OpenTelemetry como nossa direção futura, não temos planos de parar de coletar dados de SDKs mais antigos. Ainda temos um caminho a percorrer antes que nossas Distros do Azure OpenTelemetry alcancem a paridade de recursos com nossos SDKs do Application Insights. Em muitos casos, os clientes continuam a optar por usar SDKs do Application Insights por algum tempo.
Importante
"Manual" não significa que você será obrigado a escrever código complexo para definir extensões para rastreamentos distribuídos, embora continue sendo uma opção. As bibliotecas de instrumentação incluídas em nossas distros permitem que você capture sinais de telemetria sem esforço em estruturas e bibliotecas comuns. Estamos trabalhando ativamente para instrumentar os SDKs de Serviço do Azure mais populares usando OpenTelemetry para que esses sinais estejam disponíveis para clientes que usam a Distro OpenTelemetry do Azure Monitor.
Tipos de telemetria
A telemetria, os dados recolhidos para observar a sua aplicação, pode ser dividida em três tipos ou "pilares":
- Rastreamento distribuído
- Métricas
- Registos
Uma história completa de observabilidade inclui todos os três pilares, e o Application Insights divide esses pilares em tabelas com base em nosso modelo de dados. Nossos SDKs do Application Insights ou distros OpenTelemetry do Azure Monitor incluem tudo o que você precisa para potencializar o monitoramento de desempenho de aplicativos no Azure. A instalação do pacote em si é gratuita e você paga apenas pelos dados ingeridos no Azure Monitor.
As seguintes fontes explicam os três pilares:
- Site da comunidade OpenTelemetry
- Especificações OpenTelemetry
- Observabilidade de Sistemas Distribuídos por Cindy Sridharan
Roteamento de telemetria
Há duas maneiras de enviar seus dados para o Azure Monitor (ou qualquer fornecedor):
- Através de um exportador direto
- Através de um agente
Um exportador direto envia telemetria em processo (do código do aplicativo) diretamente para o ponto de extremidade de ingestão do Azure Monitor. A principal vantagem desta abordagem é a simplicidade da integração.
Os SDKs do Application Insights atualmente disponíveis e as Distros OpenTelemetry do Azure Monitor dependem de um exportador direto.
Nota
Para obter a posição do Monitor do Azure no OpenTelemetry-Collector, consulte as Perguntas frequentes sobre OpenTelemetria.
Gorjeta
Se você estiver planejando usar o OpenTelemetry-Collector para amostragem ou processamento de dados adicionais, poderá obter esses mesmos recursos internos ao Azure Monitor. Os clientes que migraram para o Application Insights baseado em espaço de trabalho podem se beneficiar das transformações em tempo de ingestão. Para habilitar, siga os detalhes no tutorial, ignorando a etapa que mostra como configurar uma configuração de diagnóstico, já que com o Application Insights centrado no espaço de trabalho isso já está configurado. Se você estiver filtrando menos de 50% do volume total, não há custo adicional. Depois de 50%, há um custo, mas muito menor do que o padrão por GB de carga.
OpenTelemetry
A Microsoft está entusiasmada em adotar o OpenTelemetry como o futuro da instrumentação de telemetria. Você, nossos clientes, pediu instrumentação neutra do fornecedor e temos o prazer de fazer parceria com a comunidade OpenTelemetry para criar APIs e SDKs consistentes em todos os idiomas.
A Microsoft trabalhou com as partes interessadas do projeto de dois projetos de telemetria de código aberto anteriormente populares, OpenCensus e OpenTracing. Juntos, ajudamos a criar um único projeto, o OpenTelemetry. O OpenTelemetry inclui contribuições de todos os principais fornecedores de nuvem e Application Performance Management (APM) e vive dentro da Cloud Native Computing Foundation (CNCF). A Microsoft é membro Platinum do CNCF.
Para terminologia, consulte o glossário nas especificações do OpenTelemetry .
Alguns termos herdados no Application Insights são confusos devido à convergência do setor no OpenTelemetry. A tabela a seguir destaca essas diferenças. Os termos do OpenTelemetry estão substituindo os termos do Application Insights.
Application Insights | OpenTelemetry |
---|---|
Coletores automáticos | Bibliotecas de instrumentação |
Canal | Exportador |
Sem código / Baseado em agente | Autoinstrumentação |
Rastreios | Registos |
Pedidos do | Extensões de servidor |
Dependências | Outros tipos de span (cliente, interno, etc.) |
ID da operação | ID de rastreamento |
ID ou ID pai da operação | ID da extensão |
Perguntas mais frequentes
Onde posso encontrar uma lista de versões do SDK do Application Insights e seus nomes?
Uma lista de versões e nomes do SDK está hospedada no GitHub. Para obter mais informações, consulte Versão do SDK.
Próximos passos
Selecione sua abordagem de habilitação:
- Autoinstrumentação
- Application Insights SDKs
- Azure Monitor OpenTelemetry Distro
Consulte as Perguntas frequentes sobre o Azure Monitor Application Insights e as Perguntas frequentes sobre o OpenTelemetry para obter mais informações.