Instrumentar um aplicativo para monitoramento

Concluído

Em um nível básico, a "instrumentação" está simplesmente permitindo que um aplicativo capture telemetria. Existem dois métodos para instrumentar seu aplicativo:

  • A instrumentação automática (instrumentação automática )
  • Instrumentação manual

A instrumentação automática permite a coleta de telemetria por meio da configuração sem tocar no código do aplicativo. Embora seja mais conveniente, ela tende a ser menos configurável. Ele também não está disponível em todas as linguagens de programação. Consulte Ambientes e idiomas compatíveis com a instrumentação automática. Quando a instrumentação automática está disponível, essa é a maneira mais fácil de habilitar o Application Insights do Azure Monitor.

A instrumentação manual é codificada na API do Application Insights ou da OpenTelemetry. No contexto de um usuário, isso geralmente se refere à instalação de um SDK específico a uma linguagem em um aplicativo. Isso significa que você precisa 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 instrumentação automática. Há duas opções de instrumentação manual:

Habilitação via SDKs do Application Insights

Você só precisa instalar o SDK do Application Insights nas seguintes circunstâncias:

  • Você precisa de eventos e métricas 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.

Uma lista de versões e nomes do SDK está hospedada no GitHub. Para mais informações, visite Versão SDK.

Habilitar via OpenTelemetry

A Microsoft trabalhou em conjunto com partes interessadas do projeto de dois projetos populares de telemetria de software livre, OpenCensus e OpenTracing. Juntos, ajudamos a criar um projeto, o OpenTelemetry. O OpenTelemetry inclui contribuições de todos os principais fornecedores de APM (Gerenciamento de Desempenho de Aplicativos) e de nuvem e fica na CNCF (nuvem Native Computing Foundation). A Microsoft é um membro Platinum do CNCF.

Alguns termos herdados no Application Insights são confusos, devido à convergência do setor em 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ático Bibliotecas de instrumentação
Canal Exportador
Baseado em Agente/sem código Instrumentação automática
Rastreamentos Logs
Requests Intervalos de servidor
Dependências Outros tipos de intervalo (cliente, interno etc.)
ID da Operação ID de rastreamento
ID ou ID Pai da Operação ID do Intervalo