Partilhar via


Ative Azure Monitor OpenTelemetry para aplicações .NET, Node.js, Python e Java

Este artigo descreve como ativar e configurar a recolha de dados baseada em OpenTelemetry dentro do Azure Monitor Application Insights. A Distro do Azure Monitor OpenTelemetry:

  • Fornece uma distribuição OpenTelemetry, que inclui suporte para funcionalidades específicas de Azure Monitor.
  • Permite a telemetria automática ao incluir bibliotecas de instrumentação OpenTelemetry para recolha de rastreios, métricas, logs e exceções.
  • Permite coletar telemetria personalizada .
  • Suporta Métricas ao Vivo para monitorizar e recolher telemetria de aplicações web em produção ao vivo.

Para mais informações sobre as vantagens de usar a Azure Monitor OpenTelemetry Distro, consulte Porque devo usar a Azure Monitor OpenTelemetry Distro.

Para saber mais sobre a recolha de dados usando o OpenTelemetry, consulte o Collect OpenTelemetry (OTel) para as experiências do Application Insights ou o FAQ do OpenTelemetry.

Status da versão do OpenTelemetry

As ofertas OpenTelemetry estão disponíveis para aplicações .NET, Node.js, Python e Java. Para obter um status de versão recurso por recurso, consulte as Perguntas frequentes.

Nota

Para Aplicações de Funções do Azure, veja Use OpenTelemetry com Funções do Azure.

Habilite o OpenTelemetry com o Application Insights

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

Nota

O .NET cobre vários cenários, incluindo o clássico ASP.NET, aplicações de consola, Windows Forms (WinForms) e mais.

Pré-requisitos

Gorjeta

Se está a migrar da API Application Insights Classic, consulte a nossa documentação de migração.

Instalar a biblioteca de cliente

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

dotnet add package Azure.Monitor.OpenTelemetry.AspNetCore 

Modificar a sua candidatura

Importa o namespace Azure.Monitor.OpenTelemetry.AspNetCore, adiciona OpenTelemetry e configura-o para usar Azure Monitor na tua 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 ligação do seu recurso Application Insights

A cadeia de ligação é única e especifica para onde a Azure Monitor OpenTelemetry Distro envia a telemetria que recolhe.

Gorjeta

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

Para copiar a cadeia de conexão:

  1. Vá para o painel Visão geral do recurso do Application Insights.
  2. Encontre a sua cadeia de conexão.
  3. Passe o cursor sobre a cadeia de ligação e selecione o ícone Copiar para a prancheta.

Captura de ecrã que mostra a visão geral do Application Insights e cadeia de ligação.

Cole a cadeia de conexão no seu ambiente

Para colar a sua cadeia de ligação, selecione entre as seguintes opções:

Importante

Recomendamos definir a cadeia de ligação através do código apenas em ambientes locais de desenvolvimento e testes.

Para produção, use uma variável de ambiente ou ficheiro de configuração (apenas em Java).

  • Definir através da variável de ambiente - recomendado

    Substitua <Your cadeia de ligação> no comando seguinte pela sua string de conexão.

    APPLICATIONINSIGHTS_CONNECTION_STRING=<Your connection string>
    
  • Definir via ficheiro 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 ligação> no JSON anterior pelo seu cadeia de ligação único.

  • definido via código - ASP.NET Core, Node.js e Python apenas

    Veja cadeia de ligação configuration para um exemplo de definição de cadeia de ligação via código.

Nota

Se definir a cadeia de ligação em vários lugares, a variável de ambiente é priorizada na seguinte ordem:

  1. Código
  2. Variável de ambiente
  3. Arquivo de configuração

Confirmar que os dados estão fluindo

Execute a sua aplicação e depois abra o Application Insights no portal Azure. Pode levar alguns minutos para que os dados apareçam.

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

O Application Insights agora está habilitado para seu aplicativo. As etapas a seguir são opcionais e permitem mais personalização.

Nota

Como parte da utilização da instrumentação Application Insights, recolhemos e enviamos dados de diagnóstico à Microsoft. Esses dados nos ajudam a executar e melhorar o Application Insights. Saiba mais nas Perguntas Frequentes de Insights de Aplicação.

Importante

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

Resolução de problemas, feedback e suporte

Gorjeta

As secções seguintes estão disponíveis em todos os artigos da OpenTelemetry Distro.

Troubleshooting

Comentários do OpenTelemetry

Para fornecer comentários:

Suporte

Selecione um separador do idioma da sua escolha para descobrir opções de suporte.

  • Para questões de suporte do Azure, abra um ticket de suporte do Azure.
  • Para questões relacionadas com a OpenTelemetry, contacte diretamente a comunidade .NET OpenTelemetry.
  • Para uma lista de questões em aberto relacionadas com Azure Monitor Exporter, consulte a Página de Problemas GitHub.

Próximos passos