Condividi tramite


.NET .NET Aspire dati di telemetria

Uno degli obiettivi principali di .NET.NET Aspire è garantire che le app siano semplici da eseguire per il debug e la diagnosi. .NET .NET Aspire le integrazioni configurano automaticamente configurazioni di registrazione, traccia e metriche, talvolta note come pilastri dell'osservabilità, usando .NETOpenTelemetry SDK.

  • tracciamento: gli eventi di registrazione descrivono cosa accade durante l'esecuzione di un'app. Un set di base è abilitato di default per le integrazioni .NET.NET Aspire e una registrazione di log più estesa può essere abilitata su richiesta per diagnosticare problemi particolari.

  • Tracciamento: le tracce correlano gli eventi di log che fanno parte della stessa attività logica (ad esempio, la gestione di una singola richiesta), anche se sono diffusi tra più computer o processi.

  • Metriche: le metriche mostrano le caratteristiche di prestazioni e stato di salute di un'app come valori numerici semplici. Di conseguenza, hanno un basso sovraccarico delle prestazioni e molti servizi li configurano come telemetria sempre attiva. Ciò li rende adatti anche per l'attivazione di avvisi quando vengono rilevati potenziali problemi.

Insieme, questi tipi di dati di telemetria consentono di ottenere informazioni dettagliate sul comportamento e sulle prestazioni dell'applicazione usando vari strumenti di monitoraggio e analisi. A seconda del servizio di backup, alcune integrazioni possono supportare solo alcune di queste funzionalità.

integrazione di .NET AspireOpenTelemetry

Il SDK di include funzionalità per la raccolta di dati da diverse API di , tra cui , , e . Queste API corrispondono alle funzionalità di telemetria, ad esempio la registrazione, la traccia e le metriche. .NET Aspire progetti definiscono le configurazioni SDK OpenTelemetry nel progetto ServiceDefaults. Per altre informazioni, vedere impostazioni predefinite del servizio .NET.NET Aspire.

Per impostazione predefinita, il metodo ConfigureOpenTelemetry abilita la registrazione, la traccia e le metriche per l'app. Aggiunge anche gli esportatori per questi punti dati in modo che possano essere raccolti da altri strumenti di monitoraggio.

Esportare i dati OpenTelemetry per il monitoraggio

L'SDK di .NETOpenTelemetry facilita l'esportazione di questi dati di telemetria in un archivio dati o in uno strumento di creazione di report. Il meccanismo di esportazione dei dati di telemetria si basa sul protocollo OpenTelemetry (OTLP), che funge da approccio standardizzato per la trasmissione dei dati di telemetria tramite REST o gRPC. Il metodo ConfigureOpenTelemetry registra anche gli esportatori per fornire i dati di telemetria ad altri strumenti di monitoraggio, ad esempio Prometheus o Azure Monitor. Per altre informazioni, vedere OpenTelemetry configurazione.

variabili di ambiente OpenTelemetry

OpenTelemetry include un elenco di variabili di ambiente note che configurano il comportamento più importante per la raccolta ed esportazione dei dati di telemetria. OpenTelemetry SDK, incluso .NET SDK, supportano la lettura di queste variabili.

.NET Aspire progetti vengono avviati con variabili di ambiente che configurano il nome e l'ID dell'app nei dati di telemetria esportati e impostano l'indirizzo endpoint del server OTLP per esportare i dati. Per esempio:

  • OTEL_SERVICE_NAME = myfrontend
  • OTEL_RESOURCE_ATTRIBUTES = service.instance.id=1a5f9c1e-e5ba-451b-95ee-ced1ee89c168
  • OTEL_EXPORTER_OTLP_ENDPOINT = http://localhost:4318

Le variabili di ambiente vengono impostate automaticamente nello sviluppo locale.

.NET .NET Aspire sviluppo locale

Quando si crea un progetto .NET Aspire, il dashboard .NET Aspire fornisce un'interfaccia utente per la visualizzazione dei dati di telemetria delle app per impostazione predefinita. I dati di telemetria vengono inviati al dashboard usando OTLP e il dashboard implementa un server OTLP per ricevere i dati di telemetria e archiviarli in memoria. Il flusso di lavoro di debug .NET.NET Aspire è il seguente:

  • Lo sviluppatore avvia il progetto di .NET.NET Aspire con il debug, preme F5.
  • .NET .NET Aspire avvio del dashboard e del piano di controllo per sviluppatori (DCP).
  • La configurazione dell'app viene eseguita nel progetto AppHost.
    • OpenTelemetry variabili di ambiente vengono aggiunte automaticamente ai progetti .NET nel corso della configurazione dell'applicazione.
    • DCP fornisce il nome (OTEL_SERVICE_NAME) e l'ID (OTEL_RESOURCE_ATTRIBUTES) dell'app nei dati di telemetria esportati.
    • L'endpoint OTLP è una porta HTTP/2 avviata dal dashboard. Questo endpoint viene impostato nella variabile di ambiente OTEL_EXPORTER_OTLP_ENDPOINT in ogni progetto. Ciò indica ai progetti di esportare i dati di telemetria nel dashboard.
    • Intervalli di esportazione di piccole dimensioni (OTEL_BSP_SCHEDULE_DELAY, OTEL_BLRP_SCHEDULE_DELAY, OTEL_METRIC_EXPORT_INTERVAL) in modo che i dati siano rapidamente disponibili nel dashboard. I valori di piccole dimensioni vengono usati nello sviluppo locale per classificare in ordine di priorità la velocità di risposta del dashboard rispetto all'efficienza.
  • DCP avvia progetti, contenitori ed eseguibili configurati.
  • Dopo l'avvio, le app inviano dati di telemetria al dashboard.
  • Il dashboard visualizza i dati di telemetria quasi in tempo reale di tutti i progetti .NET.NET Aspire.

Tutti questi passaggi vengono eseguiti internamente, quindi nella maggior parte dei casi lo sviluppatore deve semplicemente eseguire l'app per visualizzare questo processo in azione.

distribuzione .NET.NET Aspire

.NET Aspire ambienti di distribuzione devono configurare OpenTelemetry variabili di ambiente che hanno senso per il proprio ambiente. Ad esempio, OTEL_EXPORTER_OTLP_ENDPOINT deve essere configurato per il servizio di raccolta o monitoraggio OTLP locale dell'ambiente.

.NET .NET Aspire la telemetria funziona meglio in ambienti che supportano OTLP. L'esportazione di OTLP è disabilitata se OTEL_EXPORTER_OTLP_ENDPOINT non è configurato.

Per altre informazioni, vedere .NET.NET Aspire distribuzioni.