Instrumentar um aplicativo para monitoramento

Concluído

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:

Habilitando por meio de 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 ter controle sobre o fluxo de telemetria
  • A Instrumentação Automática não está disponível (normalmente devido a limitações de idioma ou plataforma)

Para usar o SDK, instale um pequeno pacote de instrumentação em seu aplicativo e, em seguida, instrumente o aplicativo Web, todos os componentes em segundo plano e JavaScript nas páginas da Web. O aplicativo e seus componentes não precisam 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 obter mais informações, visite Versão do SDK.

Ativar via OpenTelemetry

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.

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