.NET .NET Aspire telemetrie
Een van de belangrijkste doelstellingen van .NET.NET Aspire is ervoor te zorgen dat apps eenvoudig fouten kunnen opsporen en diagnosticeren. .NET .NET Aspire integraties stellen automatisch de configuraties voor logging, tracing en metrische gegevens in, die ook wel de pijlers van waarneembaarheid worden genoemd, met de .NETOpenTelemetry SDK.
Logboekregistratie: logboeken beschrijven wat er gebeurt wanneer een app wordt uitgevoerd. Een basislijnset is standaard ingeschakeld voor .NET.NET Aspire integraties en uitgebreidere logboekregistratie kan op aanvraag worden ingeschakeld om specifieke problemen te diagnosticeren.
Tracering: Traceringen correleren logboekgebeurtenissen die deel uitmaken van dezelfde logische activiteit (bijvoorbeeld de verwerking van één aanvraag), zelfs als ze zijn verspreid over meerdere machines of processen.
metrische gegevens: metrische gegevens geven de prestatie- en statuskenmerken van een app weer als eenvoudige numerieke waarden. Als gevolg hiervan hebben ze lage overheadprestaties en veel services configureren ze als always-on telemetrie. Dit maakt ze ook geschikt voor het activeren van waarschuwingen wanneer er potentiële problemen worden gedetecteerd.
Met deze typen telemetrie kunt u samen inzicht krijgen in het gedrag en de prestaties van uw toepassing met behulp van verschillende hulpprogramma's voor bewaking en analyse. Afhankelijk van de back-upservice ondersteunen sommige integraties mogelijk slechts enkele van deze functies.
integratie van .NET AspireOpenTelemetry
De .NETOpenTelemetry SDK- bevat functies voor het verzamelen van gegevens uit verschillende .NET API's, waaronder ILogger, Activity, Meteren Instrument<T>. Deze API's komen overeen met telemetriefuncties zoals logboekregistratie, tracering en metrische gegevens. In het ServiceDefaults project definiëren .NET Aspire projecten OpenTelemetry SDK-configuraties. Zie .NET.NET Aspire servicestandaardenvoor meer informatie.
De methode ConfigureOpenTelemetry
maakt standaard logboekregistratie, tracering en metrische gegevens voor de app mogelijk. Het voegt ook exporteurs toe voor deze gegevenspunten, zodat ze kunnen worden verzameld door andere controleprogramma's.
OpenTelemetry-gegevens exporteren voor monitoring
De .NETOpenTelemetry SDK vereenvoudigt het exporteren van deze telemetriegegevens naar een hulpprogramma voor gegevensopslag of rapportage. Het telemetrie-exportmechanisme is afhankelijk van het OpenTelemetry protocol (OTLP), dat fungeert als een gestandaardiseerde benadering voor het verzenden van telemetriegegevens via REST of gRPC. De methode ConfigureOpenTelemetry
registreert ook exporteurs om uw telemetriegegevens aan andere bewakingshulpprogramma's, zoals Prometheus of Azure Monitor, te leveren. Zie OpenTelemetry configuratievoor meer informatie.
omgevingsvariabelen OpenTelemetry
OpenTelemetry heeft een lijst met bekende omgevingsvariabelen waarmee het belangrijkste gedrag voor het verzamelen en exporteren van telemetrie wordt geconfigureerd. OpenTelemetry SDK's, waaronder de .NET SDK, bieden ondersteuning voor het lezen van deze variabelen.
.NET Aspire projecten worden gestart met omgevingsvariabelen die de naam en id van de app configureren in geëxporteerde telemetrie en het adreseindpunt van de OTLP-server instellen om gegevens te exporteren. Bijvoorbeeld:
-
OTEL_SERVICE_NAME
= myfrontend -
OTEL_RESOURCE_ATTRIBUTES
= service.instance.id=1a5f9c1e-e5ba-451b-95ee-ced1ee89c168 OTEL_EXPORTER_OTLP_ENDPOINT
=http://localhost:4318
De omgevingsvariabelen worden automatisch ingesteld in lokale ontwikkeling.
.NET .NET Aspire lokale ontwikkeling
Wanneer u een .NET Aspire-project maakt, biedt het .NET Aspire dashboard standaard een gebruikersinterface voor het weergeven van app-telemetrie. Telemetriegegevens worden verzonden naar het dashboard met behulp van OTLP en het dashboard implementeert een OTLP-server om telemetriegegevens te ontvangen en op te slaan in het geheugen. De .NET.NET Aspire foutopsporingswerkstroom is als volgt:
- Ontwikkelaars starten het .NET.NET Aspire project met foutopsporing en drukt op F5-.
- .NET .NET Aspire dashboard en ontwikkelaarsbedieningspaneel starten.
- App-configuratie wordt uitgevoerd in het project AppHost.
- OpenTelemetry omgevingsvariabelen worden automatisch toegevoegd aan .NET projecten tijdens de app-configuratie.
- DCP biedt de naam (
OTEL_SERVICE_NAME
) en id (OTEL_RESOURCE_ATTRIBUTES
) van de app in geëxporteerde telemetrie. - Het OTLP-eindpunt is een HTTP/2-poort die is gestart door het dashboard. Dit eindpunt wordt ingesteld in de omgevingsvariabele
OTEL_EXPORTER_OTLP_ENDPOINT
voor elk project. Dit instrueert projecten om telemetrie terug te exporteren naar het dashboard. - Kleine exportintervallen (
OTEL_BSP_SCHEDULE_DELAY
,OTEL_BLRP_SCHEDULE_DELAY
,OTEL_METRIC_EXPORT_INTERVAL
) zodat gegevens snel beschikbaar zijn in het dashboard. Kleine waarden worden gebruikt in lokale ontwikkeling om de reactiesnelheid van het dashboard te prioriteren ten opzichte van efficiëntie.
- De DCP start geconfigureerde projecten, containers en uitvoerbare bestanden.
- Zodra de app is gestart, verzendt apps telemetrie naar het dashboard.
- Dashboard geeft bijna realtime telemetrie weer van alle .NET.NET Aspire projecten.
Al deze stappen worden intern uitgevoerd, dus in de meeste gevallen moet de ontwikkelaar de app gewoon uitvoeren om dit proces in actie te zien.
implementatie van .NET.NET Aspire
.NET Aspire implementatieomgevingen moeten OpenTelemetry omgevingsvariabelen configureren die zinvol zijn voor hun omgeving.
OTEL_EXPORTER_OTLP_ENDPOINT
moet bijvoorbeeld worden geconfigureerd voor de lokale OTLP-collector of monitoringservice van de omgeving.
.NET
.NET Aspire telemetrie werkt het beste in omgevingen die OTLP ondersteunen. OTLP exporteren is uitgeschakeld als OTEL_EXPORTER_OTLP_ENDPOINT
niet is geconfigureerd.
Zie .NET.NET Aspire implementatiesvoor meer informatie.