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

Questo articolo descrive come abilitare e configurare la raccolta dati basata su OpenTelemetry in Application Insights. La distribuzione OpenTelemetry di Monitoraggio di Azure:

  • Fornisce una distribuzione OpenTelemetry che include il supporto per le funzionalità specifiche di Monitoraggio di Azure,
  • Abilita la telemetria automatica 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 altri dati di telemetria dalle applicazioni Web in produzione attive.

Per altre informazioni sui vantaggi dell'uso della distribuzione OpenTelemetry di Monitoraggio di Azure, vedere Perché usare la distribuzione di OpenTelemetry di Monitoraggio di Azure.

Per altre informazioni sulla raccolta di dati con OpenTelemetry, vedere Informazioni di base sulla raccolta dati o Domande frequenti su OpenTelemetry.

Stato versione OpenTelemetry

Le offerte OpenTelemetry sono disponibili per le applicazioni .NET, Node.js, Python e Java. Per uno stato di release funzionalità per funzionalità, vedere le domande frequenti.

Abilitare OpenTelemetry con Application Insights

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

Nota

.NET include più scenari, tra cui ASP.NET classiche, app console, Windows Form (WinForms) e altro ancora.

Prerequisiti

Suggerimento

Se si esegue la migrazione dall'API classica di Application Insights, vedere la documentazione sulla migrazione.

Installare la libreria client

Installare il pacchetto NuGet Azure.Monitor.OpenTelemetry.AspNetCore più recente:

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 la stringa di connessione dalla risorsa di Application Insights

La stringa di connessione è univoca e specifica dove la distribuzione OpenTelemetry di Monitoraggio di Azure 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 la stringa di connessione:

  1. Passare al riquadro Panoramica della risorsa di Application Insights.
  2. Trovare la stringa di connessione.
  3. Passare il puntatore del mouse sulla stringa di connessione e selezionare l'icona Copia negli Appunti.

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

Incollare la stringa di connessione nell'ambiente

Per incollare la stringa di connessione, selezionare una delle opzioni seguenti:

Importante

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

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

  • Impostare tramite variabile di ambiente - scelta consigliata

    Sostituire <Your connection string> nel comando seguente con la stringa di connessione univoca.

    APPLICATIONINSIGHTS_CONNECTION_STRING=<Your connection string>
    
  • Impostare tramite il file di configurazione - Solo Java

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

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

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

  • Impostare tramite codice - Solo ASP.NET Core, Node.js e Python

    Per un esempio di impostazione della stringa di connessione tramite codice, vedere Configurazione della stringa di connessione.

Nota

Se si imposta la stringa di connessione in più posizioni, la variabile di ambiente verrà assegnata in ordine di priorità nell'ordine seguente:

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

Verificare che i dati vengano trasmessi

Eseguire l'applicazione, quindi aprire Application Insights nel portale di Azure. 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.

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.

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. Per altre informazioni, vedere Statsbeat in Azure Application Insights.

Applicazioni di esempio

Le applicazioni di esempio OpenTelemetry di Monitoraggio di Azure sono disponibili per tutte le lingue supportate:

Passaggi successivi