Instrumentar um aplicativo para monitoramento

Concluído

O Application Insights é habilitado por meio da Instrumentação Automática (agente) ou adicionando o SDK do Application Insights ao código do aplicativo.

Instrumentação automática

A instrumentação automática é o método de instrumentação preferencial. Ela não requer nenhum investimento do desenvolvedor e elimina a sobrecarga futura relacionada à atualização do SDK. Ela também é a única maneira de instrumentar um aplicativo no qual você não tem acesso ao código-fonte.

Tudo o que você precisa fazer é habilitar e, em alguns casos, configurar o agente, que coleta a telemetria automaticamente.

A lista de serviços com suporte da instrumentação automática muda rapidamente. Visite esta página para acessar uma lista do que tem suporte no momento.

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.

Os SDKs do Application Insights para .NET, .NET Core, Java, Node.js e JavaScript oferecem suporte nativo ao rastreamento distribuído.

Além disso, qualquer tecnologia pode ser controlada manualmente com uma chamada para TrackDependency no TelemetryClient.

Habilitar por meio do OpenCensus

Além dos SDKs do Application Insights, o Application Insights também dá suporte ao rastreamento distribuído por meio do OpenCensus. O OpenCensus é uma distribuição única de bibliotecas de software livre e independente de fornecedor, que tem como objetivo fornecer coleta de métricas e rastreamento distribuído para os serviços. Ele também permite que a comunidade de software livre habilite o rastreamento distribuído com tecnologias populares, como Redis, Memcached ou MongoDB.