.NET .NET Aspire telemetri
Ett av de främsta målen med .NET.NET Aspire är att säkerställa att appar är enkla att felsöka och diagnostisera. .NET .NET Aspire integreringar konfigurerar automatiskt konfigurationer för loggning, spårning och mått, som ibland kallas för grundpelarna för observerbarhet, med hjälp av .NETOpenTelemetry SDK.
Loggning: Logghändelser beskriver vad som händer när en app körs. En baslinjeuppsättning är aktiverad för .NET.NET Aspire integreringar som standard och mer omfattande loggning kan aktiveras på begäran för att diagnostisera specifika problem.
Spårning: Spårningar korrelerar logghändelser som ingår i samma logiska aktivitet (t.ex. hantering av en enskild begäran), även om de är spridda över flera datorer eller processer.
Mått: Mått exponerar prestanda- och hälsoegenskaperna för en app som enkla numeriska värden. Därför har de låga prestandakostnader och många tjänster konfigurerar dem som always-on-telemetri. Detta gör dem också lämpliga för att utlösa aviseringar när potentiella problem identifieras.
Tillsammans kan du med dessa typer av telemetri få insikter om programmets beteende och prestanda med hjälp av olika övervaknings- och analysverktyg. Beroende på säkerhetskopieringstjänsten kanske vissa integreringar bara stöder vissa av dessa funktioner.
.NET Aspire OpenTelemetry integrering
.NET OpenTelemetry SDK- innehåller funktioner för att samla in data från flera .NET API:er, inklusive ILogger, Activity, Meteroch Instrument<T>. Dessa API:er motsvarar telemetrifunktioner som loggning, spårning och mått. .NET Aspire projekt definierar OpenTelemetry SDK-konfigurationer i projektet ServiceDefaults. För mer information, se .NET.NET Aspire tjänstens standardvärden.
Som standard möjliggör metoden ConfigureOpenTelemetry
loggning, spårning och mått för appen. Den lägger också till exportörer för dessa datapunkter så att de kan samlas in av andra övervakningsverktyg.
Exportera OpenTelemetry data för övervakning
.NET
OpenTelemetry SDK underlättar exporten av dessa telemetridata till ett datalager eller rapporteringsverktyg. Telemetriexportmekanismen förlitar sig på OpenTelemetry-protokollet (OTLP), som fungerar som en standardiserad metod för att överföra telemetridata via REST eller gRPC. Metoden ConfigureOpenTelemetry
registrerar också exportörer för att tillhandahålla telemetridata till andra övervakningsverktyg, till exempel Prometheus eller Azure Monitor. Mer information finns i OpenTelemetry konfiguration.
OpenTelemetry miljövariabler
OpenTelemetry har en lista över kända miljövariabler som konfigurerar det viktigaste beteendet för att samla in och exportera telemetri. OpenTelemetry SDK:er, inklusive .NET SDK, stöder läsning av dessa variabler.
.NET Aspire projekt startas med miljövariabler som konfigurerar appens namn och ID i exporterad telemetri och anger adressslutpunkten för OTLP-server för att exportera data. Till exempel:
-
OTEL_SERVICE_NAME
= myfrontend -
OTEL_RESOURCE_ATTRIBUTES
= service.instance.id=1a5f9c1e-e5ba-451b-95ee-ced1ee89c168 OTEL_EXPORTER_OTLP_ENDPOINT
=http://localhost:4318
Miljövariablerna anges automatiskt i lokal utveckling.
.NET .NET Aspire lokal utveckling
När du skapar ett .NET Aspire projekt tillhandahåller instrumentpanelen .NET Aspire ett användargränssnitt för att visa apptelemetri som standard. Telemetridata skickas till instrumentpanelen med OTLP och instrumentpanelen implementerar en OTLP-server för att ta emot telemetridata och lagra dem i minnet. Felsökningsarbetsflödet .NET.NET Aspire är följande:
- Utvecklaren startar .NET.NET Aspire projektet med felsökning, trycker på F5.
- .NET .NET Aspire instrumentpanel och kontrollplan för utvecklare (DCP) startar.
- Appkonfigurationen körs i projektet AppHost.
- OpenTelemetry miljövariabler läggs automatiskt till i .NET projekt under appkonfigurationen.
- DCP tillhandahåller namnet (
OTEL_SERVICE_NAME
) och ID (OTEL_RESOURCE_ATTRIBUTES
) för appen i exporterad telemetri. - OTLP-slutpunkten är en HTTP/2-port som startas av instrumentpanelen. Den här slutpunkten anges i miljövariabeln
OTEL_EXPORTER_OTLP_ENDPOINT
för varje projekt. Det talar om för projekt att exportera telemetri tillbaka till instrumentpanelen. - Små exportintervall (
OTEL_BSP_SCHEDULE_DELAY
,OTEL_BLRP_SCHEDULE_DELAY
,OTEL_METRIC_EXPORT_INTERVAL
) så att data snabbt blir tillgängliga på instrumentpanelen. Små värden används i lokal utveckling för att prioritera instrumentpanelens svarstider framför effektiviteten.
- DCP startar konfigurerade projekt, containrar och körbara filer.
- När de har startats skickar appar telemetri till instrumentpanelen.
- Instrumentpanelen visar telemetri i nära realtid för alla .NET.NET Aspire projekt.
Alla dessa steg sker internt, så i de flesta fall behöver utvecklaren helt enkelt köra appen för att se den här processen i praktiken.
.NET .NET Aspire distribution
.NET Aspire distributionsmiljöer bör konfigurera OpenTelemetry miljövariabler som passar deras miljö. Till exempel bör OTEL_EXPORTER_OTLP_ENDPOINT
konfigureras för miljöns lokala OTLP-insamlare eller övervakningstjänst.
.NET
.NET Aspire telemetri fungerar bäst i miljöer som stöder OTLP. OTLP-export är inaktiverat om OTEL_EXPORTER_OTLP_ENDPOINT
inte har konfigurerats.
Mer information finns i .NET.NET Aspire distributioner.
.NET Aspire