Uso di OpenTelemetry in .NET Aspire

Completato

.NET Aspire consente di registrare il comportamento di un'app nativa del cloud includendo automaticamente il supporto di OpenTelemetry quando si crea un progetto .NET Aspire.

Si supponga di lavorare per un rivenditore di attrezzature all'aperto. Si è deciso di registrare i dati di telemetria. Ora si vuole scoprire come .NET Aspire aiuta con i dati di telemetria.

In questa unità si apprenderà l'integrazione tra le API .NET Aspire e OpenTelemetry.

.NET Aspire e OpenTelemetry

Un obiettivo principale nella progettazione e nell'implementazione di .NET Aspire è garantire che le app native del cloud siano facili da monitorare e risolvere i problemi. .NET Aspire semplifica la verifica che l'app completa sia osservabile e completamente instrumentata usando le API OpenTelemetry e configurando automaticamente le origini dei dati di telemetria ogni volta che si crea una nuova app dai modelli o si aggiunge un'app esistente all'orchestrazione .NET Aspire.

Le integrazioni di .NET Aspire dispongono anche del supporto predefinito per i dati di telemetria.

.NET Aspire fornisce il dashboard .NET Aspire quando si esegue il debug in locale. Questa interfaccia Web include strumenti avanzati che visualizzano log, metriche in formati grafici e tracce nelle sequenze temporali.

Screenshot che mostra la pagina Tracce nel dashboard .NET Aspire.

Configurazione di OpenTelemetry in .NET Aspire

Il codice che aggiunge e configura OpenTelemetry in una soluzione .NET Aspire si trova nel progetto ServiceDefaults. Nel file Extensions.cs trovato:

  • Metodo ConfigureOpenTelemetry(), che aggiunge servizi di registrazione, metriche e traccia.
  • Metodo AddOpenTelemetryExporters(), che aggiunge gli utilità di esportazione OTLP (OpenTelemetry Protocol).
  • Metodo AddBuiltInMeters(), che aggiunge tutte le metriche incorporate in .NET.

A meno che non si voglia aggiungere altri strumenti di esportazione o metriche, è possibile lasciare il codice così come è.

È consigliabile estendere questo codice quando si vuole:

  • Aggiungere altre origini di metriche o dati di traccia distribuita, ad esempio metriche personalizzate.
  • Aggiungere gli esportatori per inviare dati di telemetria a un sistema di Application Performance Management (APM), ad esempio Application Insights o Grafana.

Esportazione dei dati di telemetria

OpenTelemetry può esportare i dati registrati in strumenti diversi, quindi è possibile scegliere quello che supporta l'analisi necessaria.

Le destinazioni comuni di esportazione dei dati di telemetria includono:

  • Dashboard di Aspire. Altre informazioni sul dashboard verranno fornite più avanti in questo modulo.
  • Altri strumenti di Application Performance Management (APM), ad esempio Prometheus e Grafana.
  • Azure Application Insights. Questa funzionalità di Monitoraggio di Azure può analizzare e visualizzare i dati di comportamento da molte origini, sia in Azure che da altre origini, ad esempio app native del cloud.

Altre informazioni