Habilitar Azure Monitor OpenTelemetry para aplicativos .NET, Node.js, Python e Java

Este artigo descreve como habilitar e configurar a coleta de dados baseada em OpenTelemetry em Azure Monitor Application Insights usando o Azure Monitor OpenTelemetry Distro. OpenTelemetry é o padrão de observabilidade de código aberto da CNCF; o Azure Monitor OpenTelemetry Distro é a distribuição da Microsoft desse padrão, otimizada para o Azure Monitor. A distribuição:

  • Fornece uma distribuição OpenTelemetry, que inclui suporte para recursos específicos de Azure Monitor.
  • Ativa a coleta automática de telemetria por meio da inclusão de bibliotecas de instrumentação do OpenTelemetry para coletar rastreamentos, métricas, registros e exceções.
  • Permite coletar telemetria personalizada.
  • Dá suporte às Métricas em Tempo Real para monitorar e coletar telemetria de aplicativos web em produção.

Para obter mais informações sobre as vantagens de usar o Azure Monitor OpenTelemetry Distro, consulte Por que devo usar o Azure Monitor OpenTelemetry Distro.

Para saber mais sobre como coletar dados usando o OpenTelemetry, confira a visão geral do Application Insights ou as perguntas frequentes sobre o OpenTelemetry.

Siga as etapas neste artigo para instalar a distribuição, conectá-la ao recurso do Application Insights e verificar se os dados de telemetria fluem para Azure Monitor.

Dica

Para obter uma visão conceitual geral das opções do OpenTelemetry no Azure Monitor — ingestão OTLP nativa, a distribuição Microsoft OpenTelemetry e experiências de observabilidade de ponta a ponta — consulte OpenTelemetry com Azure Monitor.

Status de versão do OpenTelemetry

As ofertas do OpenTelemetry estão disponíveis para aplicativos .NET, Node.js, Python e Java. Para obter um status de versão de recurso por recurso, confira as Perguntas frequentes.

Observação

Para aplicativos do Azure Functions, consulte Usar OpenTelemetry com o Azure Functions.

Habilitar o OpenTelemetry com o Application Insights

Siga as etapas nesta seção para instrumentar seu aplicativo com o OpenTelemetry. Selecione uma aba para instruções específicas do idioma.

A tabela a seguir resume os pacotes e os comandos de instalação para cada idioma com suporte:

Linguagem Package Comando de Instalação
ASP.NET Core Azure.Monitor.OpenTelemetry.AspNetCore dotnet add package Azure.Monitor.OpenTelemetry.AspNetCore
.NET Azure.Monitor.OpenTelemetry.Exporter dotnet add package Azure.Monitor.OpenTelemetry.Exporter
Java applicationinsights-agent-3.7.8.jar Download de GitHub
Node.js @azure/monitor-opentelemetry npm install @azure/monitor-opentelemetry
Python azure-monitor-opentelemetry pip install azure-monitor-opentelemetry

Observação

.NET abrange vários cenários, incluindo ASP.NET clássicos, aplicativos de console, Windows Forms (WinForms) e muito mais.

Pré-requisitos

Dica

Se você estiver migrando de SDKs mais antigos do Application Insights, consulte nossa documentação de migração.

Instalar a biblioteca de clientes

Instale o pacote Azure.Monitor.OpenTelemetry.AspNetCoreNuGet mais recente:

dotnet add package Azure.Monitor.OpenTelemetry.AspNetCore

Modificar o aplicativo

Importe o namespace Azure.Monitor.OpenTelemetry.AspNetCore, adicione OpenTelemetry e configure-o para usar Azure Monitor na classe program.cs:

// Import the Azure.Monitor.OpenTelemetry.AspNetCore namespace.
using Azure.Monitor.OpenTelemetry.AspNetCore;

var builder = WebApplication.CreateBuilder(args);

// Add OpenTelemetry and configure it to use Azure Monitor.
builder.Services.AddOpenTelemetry().UseAzureMonitor();

var app = builder.Build();

app.Run();

Copie a cadeia de conexão do recurso do Application Insights

O cadeia de conexão é exclusivo e especifica onde o Azure Monitor OpenTelemetry Distro envia a telemetria coletada.

Dica

Se você ainda não tem um recurso do Application Insights, crie um seguindo este guia. Recomendamos que você crie um novo recurso em vez de usar um recurso existente.

Para copiar a cadeia de conexão:

  1. Acesse o painel Visão geral do recurso Application Insights.
  2. Encontre sua cadeia de conexão.
  3. Passe o mouse sobre a cadeia de conexão e selecione o ícone Copiar para a área de transferência.

Screenshot que mostra a visão geral do Application Insights e a string de conexão.

Colar a cadeia de conexão em seu ambiente

Para colar seu cadeia de conexão, use um dos seguintes métodos:

Método Idiomas com suporte Recomendado para
Variável de ambiente All Produção
Arquivo de configuração (applicationinsights.json) Somente Java Produção (Java)
Code ASP.NET Core, Node.js, Python Somente desenvolvimento/teste local

Importante

É recomendável definir o cadeia de conexão por meio do código somente em ambientes de desenvolvimento e teste locais.

Para produção, use uma variável de ambiente ou arquivo de configuração (somente Java).

  • Defina a cadeia de conexão do Application Insights como uma variável de ambiente (recomendado para produção)

    Substitua <Your cadeia de conexão> no comando a seguir por sua cadeia de conexão.

    APPLICATIONINSIGHTS_CONNECTION_STRING=<Your connection string>
    
  • Defina a cadeia de conexão do Application Insights em um arquivo de configuração - Somente Java

    Crie um arquivo de configuração chamado applicationinsights.json e coloque-o no mesmo diretório que applicationinsights-agent-3.7.8.jar com o seguinte conteúdo:

    {
      "connectionString": "<Your connection string>"
    }
    

    Substitua <Your cadeia de conexão> no JSON anterior por sua cadeia de conexão exclusiva.

  • Defina a cadeia de conexão do Application Insights no código - Somente para ASP.NET Core, Node.js e Python

    Consulte configuração da string de conexão para obter um exemplo de configuração da string de conexão através do código.

Observação

Se você definir a cadeia de conexão em vários lugares, ela será resolvida na seguinte ordem de precedência (mais alta para a mais baixa):

  1. Code
  2. Variável de ambiente
  3. Arquivo de configuração

Confirmar se os dados estão fluindo

Depois de configurar o Azure Monitor OpenTelemetry Distro e definir o cadeia de conexão, execute seu aplicativo e abra o recurso do Application Insights no portal Azure para verificar se os rastreamentos, as métricas e os logs são exibidos. Pode levar alguns minutos para os dados aparecerem.

Captura de tela da guia Visão geral do Application Insights com as solicitações de servidor e o tempo de resposta do servidor realçados.

Agora, o Application Insights está habilitado para seu aplicativo. As etapas a seguir são opcionais e permitem uma personalização adicional.

Observação

Como parte do uso da instrumentação do Application Insights, coletamos e enviamos dados de diagnóstico para Microsoft. Esses dados nos ajudam a executar e a aprimorar o Application Insights. Saiba mais nas perguntas frequentes do Application Insights.

Importante

Se você tem dois ou mais serviços que emitem telemetria para o mesmo recurso do Application Insights, precisa definir Nomes de Função de Nuvem para representá-los corretamente no Mapa do Aplicativo.

Solução de problemas, comentários e suporte

Dica

As seções a seguir estão disponíveis em todos os artigos do OpenTelemetry Distro.

Solução de problemas

Comentários sobre o OpenTelemetry

Para fornecer comentários:

Suporte

Selecione uma aba do idioma de sua escolha para descobrir as opções de suporte.

Próximas etapas