Abilitare Monitoraggio di Azure OpenTelemetry per applicazioni .NET, Node.js, Python e Java

Questo articolo descrive come abilitare e configurare la raccolta dati basata su OpenTelemetry all'interno di Monitoraggio di Azure Application Insights usando la distribuzione Monitoraggio di Azure OpenTelemetry. OpenTelemetry è lo standard open source di osservabilità della CNCF; Monitoraggio di Azure OpenTelemetry Distro è la distribuzione di Microsoft di questo standard, ottimizzata per Monitoraggio di Azure. La distribuzione:

  • Fornisce una distribuzione OpenTelemetry, che include il supporto per le funzionalità specifiche di Monitoraggio di Azure.
  • Abilita la raccolta automatica dei dati di telemetria includendo librerie di strumentazione OpenTelemetry per raccogliere tracce, metriche, log ed eccezioni.
  • Consente di raccogliere dati di telemetria personalizzati.
  • Supporta metriche attive per monitorare e raccogliere dati di telemetria da applicazioni Web in produzione attive.

Per altre informazioni sui vantaggi dell'uso della distribuzione Monitoraggio di Azure OpenTelemetry, vedere Why è consigliabile usare la distribuzione Monitoraggio di Azure OpenTelemetry.

Per altre informazioni sulla raccolta di dati con OpenTelemetry, vedere la panoramica di Application Insights o le domande frequenti su OpenTelemetry.

Seguire la procedura descritta in questo articolo per installare la distribuzione, connetterla alla risorsa di Application Insights e verificare che i dati di telemetria vengano trasmessi a Monitoraggio di Azure.

Suggerimento

Per una panoramica concettuale delle opzioni OpenTelemetry in Monitoraggio di Azure: inserimento OTLP nativo, distribuzione Microsoft OpenTelemetry e esperienze di osservabilità end-to-end, vedere OpenTelemetry con Monitoraggio di Azure.

Stato di rilascio di OpenTelemetry

Le offerte OpenTelemetry sono disponibili per le applicazioni .NET, Node.js, Python e Java. Per lo stato di rilascio di ciascuna funzionalità, consulta le FAQ.

Nota

Per le app per le funzioni di Azure, vedere Use OpenTelemetry con Funzioni di Azure.

Abilitare OpenTelemetry con Application Insights

Seguire la procedura descritta in questa sezione per instrumentare l'applicazione con OpenTelemetry. Selezionare una scheda per istruzioni specifiche della lingua.

La tabella seguente riepiloga i pacchetti e installa i comandi per ogni lingua supportata:

Lingua Package Installa comando
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 da GitHub
Node.js @azure/monitor-opentelemetry npm install @azure/monitor-opentelemetry
Python azure-monitor-opentelemetry pip install azure-monitor-opentelemetry

Nota

.NET illustra più scenari, tra cui ASP.NET classici, app console, Windows Forms (WinForm) e altro ancora.

Prerequisiti

Suggerimento

Se si esegue la migrazione da SDK di Application Insights meno recenti, vedere la documentazione sulla migrazione.

Installare la libreria client

Installare il pacchetto più recente Azure.Monitor.OpenTelemetry.AspNetCoreNuGet:

dotnet add package Azure.Monitor.OpenTelemetry.AspNetCore

Modificare l'applicazione

Importare lo spazio dei nomi Azure.Monitor.OpenTelemetry.AspNetCore, aggiungere OpenTelemetry e configurarlo per l'uso di Monitoraggio di Azure nella 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();

Copiare il stringa di connessione dalla risorsa di Application Insights

Il stringa di connessione è univoco e specifica dove la distribuzione Monitoraggio di Azure OpenTelemetry invia i dati di telemetria raccolti.

Suggerimento

Se non si ha già una risorsa di Application Insights, crearne una seguendo questa guida. È consigliabile creare una nuova risorsa anziché usarne una esistente.

Per copiare il stringa di connessione:

  1. Passare al riquadro Panoramica della risorsa di Application Insights.
  2. Trova la tua stringa di connessione.
  3. Posiziona il cursore sulla stringa di connessione e seleziona l'icona Copia negli appunti.

Screenshot che mostra la panoramica di Application Insights e la stringa di connessione.

Inserisci la stringa di connessione nel tuo ambiente

Per incollare il stringa di connessione, usare uno dei metodi seguenti:

metodo Lingue disponibili Consigliati per
Variabile di ambiente Tutti Produzione
File di configurazione (applicationinsights.json) Solo per Java Produzione (Java)
Codice ASP.NET Core, Node.js, Python Solo sviluppo/test locale

Importante

È consigliabile impostare il stringa di connessione tramite codice solo in ambienti di sviluppo e test locali.

Per l'ambiente di produzione, usare una variabile di ambiente o un file di configurazione (solo Java).

  • Imposta la stringa di connessione di Application Insights come variabile di ambiente (consigliata per la produzione)

    Sostituire <Your stringa di connessione> nel comando seguente con il stringa di connessione.

    APPLICATIONINSIGHTS_CONNECTION_STRING=<Your connection string>
    
  • Impostare la stringa di connessione di Application Insights in un file di configurazione - Solo Java

    Creare un file di configurazione denominato applicationinsights.json e inserirlo nella stessa directory di applicationinsights-agent-3.7.8.jar con il contenuto seguente:

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

    Sostituire <Your stringa di connessione> nel codice JSON precedente con la vostra stringa di connessione univoca.

  • Impostare la stringa di connessione di Application Insights nel codice - Solo per ASP.NET Core, Node.js e Python

    Vedere configurazione della stringa di connessione per un esempio di impostazione della stringa di connessione tramite codice.

Nota

Se si imposta il stringa di connessione in più posizioni, viene risolto nell'ordine di precedenza seguente (più alto al più basso):

  1. Codice
  2. Variabile di ambiente
  3. File di configurazione

Verificare che i dati vengano trasmessi

Dopo aver configurato la distribuzione di OpenTelemetry Monitoraggio di Azure e impostato il stringa di connessione, eseguire l'applicazione e aprire la risorsa di Application Insights nel portale di Azure per verificare che vengano visualizzate tracce, metriche e log. La visualizzazione dei dati potrebbe richiedere alcuni minuti.

Screenshot della scheda Panoramica di Application Insights con le richieste del server e il tempo di risposta del server evidenziato.

Application Insights è ora abilitato per l'applicazione. I passaggi seguenti sono facoltativi e consentono ulteriori personalizzazioni.

Nota

Nell'ambito dell'uso della strumentazione di Application Insights, vengono raccolti e inviati dati di diagnostica a Microsoft. Questi dati consentono di eseguire e migliorare Application Insights. Altre informazioni sono disponibili nelle domande frequenti su Application Insights.

Importante

Se si dispone di due o più servizi che generano dati di telemetria nella stessa risorsa di Application Insights, è necessario impostare i nomi dei ruoli cloud per rappresentarli correttamente nella mappa delle applicazioni.

Risoluzione dei problemi, commenti e suggerimenti e supporto

Suggerimento

Le sezioni seguenti sono disponibili in tutti gli articoli sulla distribuzione di OpenTelemetry.

Risoluzione dei problemi

Feedback su OpenTelemetry

Per inviare un feedback:

Support

Selezionare la scheda del linguaggio scelto per scoprire le opzioni di supporto.

  • Per problemi di supporto Azure, aprire un ticket di supporto Azure.
  • Per i problemi di OpenTelemetry, contattare direttamente OpenTelemetry .NET community.
  • Per un elenco dei problemi aperti relativi all'utilità di esportazione di Monitoraggio di Azure, vedere la pagina GitHub Issues Page.

Passaggi successivi