Sdílet prostřednictvím


telemetrie .NET.NET Aspire

Jedním z hlavních cílů .NET.NET Aspire je zajistit, aby aplikace byly jednoduché ladit a diagnostikovat. .NET .NET Aspire integrace automaticky nastaví konfigurace logování, trasování a metrik, které jsou někdy označovány jako pilíře pozorovatelnosti, využitím sady SDK .NETOpenTelemetry.

  • protokolování: Události protokolu popisují, co se děje při spuštění aplikace. Standardní sada je ve výchozím nastavení povolená pro integraci .NET.NET Aspire a pro diagnostiku konkrétních problémů je možné povolit rozsáhlejší protokolování na vyžádání.

  • trasování: Trasování koreluje události protokolu, které jsou součástí stejné logické aktivity (např. zpracování jednoho požadavku), i když jsou rozložené mezi více počítačů nebo procesů.

  • Metriky: Metriky zpřístupňují výkon a vlastnosti stavu aplikace jako jednoduché číselné hodnoty. V důsledku toho mají nízkou režii na výkon a mnoho služeb je konfiguruje jako vždy zapnutou telemetrii. To je také vhodné pro aktivaci výstrah při zjištění potenciálních problémů.

Tyto typy telemetrie vám společně umožňují získat přehled o chování a výkonu vaší aplikace pomocí různých monitorovacích a analytických nástrojů. V závislosti na zálohovací službě můžou některé integrace podporovat pouze některé z těchto funkcí.

integrace .NET AspireOpenTelemetry

Sada .NETOpenTelemetry SDK obsahuje funkce pro shromažďování dat z několika rozhraní API .NET, včetně ILogger, Activity, Metera Instrument<T>. Tato rozhraní API odpovídají funkcím telemetrie, jako je protokolování, trasování a metriky. Projekty .NET Aspire definují konfigurace sady SDK OpenTelemetry v projektu ServiceDefaults. Pro více informací nahlédněte do .NET.NET Aspire výchozí nastavení služby.

Ve výchozím nastavení metoda ConfigureOpenTelemetry umožňuje protokolování, trasování a metriky pro aplikaci. Přidává také vývozce těchto datových bodů, aby je mohly shromažďovat další monitorovací nástroje.

Export OpenTelemetry dat pro monitorování

Sada .NETOpenTelemetry SDK usnadňuje export těchto telemetrických dat do datového úložiště nebo reportovacího nástroje. Mechanismus exportu telemetrie spoléhá naprotokolu (OTLP), který slouží jako standardizovaný přístup k přenosu telemetrických dat prostřednictvím nebo gRPC. Metoda ConfigureOpenTelemetry také zaregistruje vývozce, kteří poskytují telemetrická data jiným monitorovacím nástrojům, jako je Prometheus nebo Azure Monitor. Další informace viz OpenTelemetry konfigurace.

OpenTelemetry proměnné prostředí

OpenTelemetry obsahuje seznam známých proměnných prostředí, které konfigurují nejdůležitější chování pro shromažďování a export telemetrie. OpenTelemetry SDK, včetně .NET SDK, podporují čtení těchto proměnných.

.NET Aspire projekty se spouštějí s proměnnými prostředí, které konfigurují název a ID aplikace v exportované telemetrii a nastaví koncový bod adresy server OTLP pro export dat. Například:

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

Proměnné prostředí se automaticky nastaví v místním vývoji.

místní vývoj .NET.NET Aspire

Když vytvoříte projekt .NET Aspire, řídicí panel .NET Aspire ve výchozím nastavení poskytuje uživatelské rozhraní pro zobrazení telemetrie aplikací. Telemetrická data se odesílají na řídicí panel pomocí OTLP a řídicí panel implementuje server OTLP pro příjem telemetrických dat a jejich uložení do paměti. Pracovní postup ladění .NET.NET Aspire je následující:

  • Vývojář zahájí projekt .NET.NET Aspire laděním, stiskne F5.
  • .NET .NET Aspire spuštění řídicího panelu a vývojářské řídicí roviny (DCP).
  • Konfigurace aplikace se spouští v projektu AppHost.
    • Proměnné prostředí OpenTelemetry se automaticky přidávají do projektů .NET během konfigurace aplikace.
    • DCP poskytuje název (OTEL_SERVICE_NAME) a ID (OTEL_RESOURCE_ATTRIBUTES) aplikace v exportované telemetrii.
    • Koncový bod OTLP je port HTTP/2 spuštěný řídicím panelem. Tento koncový bod je nastavený v proměnné prostředí OTEL_EXPORTER_OTLP_ENDPOINT v každém projektu. To dává projektům pokyn k exportu telemetrie zpět na řídicí panel.
    • Malé intervaly exportu (OTEL_BSP_SCHEDULE_DELAY, OTEL_BLRP_SCHEDULE_DELAY, OTEL_METRIC_EXPORT_INTERVAL), takže data jsou na řídicím panelu rychle dostupná. Malé hodnoty se používají v místním vývoji k určení priority odezvy řídicího panelu před efektivitou.
  • Systém DCP spustí nakonfigurované projekty, kontejnery a spustitelné soubory.
  • Po spuštění aplikace odesílají telemetrii na řídicí panel.
  • Řídicí panel zobrazuje telemetrii všech .NET.NET Aspire projektů téměř v reálném čase.

Všechny tyto kroky probíhají interně, takže ve většině případů vývojář jednoduše potřebuje spustit aplikaci, aby tento proces viděl v akci.

nasazení .NET.NET Aspire

.NET Aspire prostředí nasazení by měla nakonfigurovat OpenTelemetry proměnných prostředí, které mají smysl pro jejich prostředí. Například OTEL_EXPORTER_OTLP_ENDPOINT by mělo být nakonfigurované pro místní kolektor OTLP prostředí nebo službu monitorování.

.NET .NET Aspire telemetrie funguje nejlépe v prostředích, která podporují OTLP. Export OTLP je zakázaný, pokud není nakonfigurovaný OTEL_EXPORTER_OTLP_ENDPOINT.

Další informace viz nasazení .NET.NET Aspire.