Använda OpenTelemetry i .NET Aspire

Slutförd

.NET Aspire hjälper dig att registrera beteendet för en molnbaserad app genom att inkludera OpenTelemetry-stöd automatiskt när du skapar ett .NET Aspire-projekt.

Anta att du arbetar för en återförsäljare av utomhusutrustning. Du har bestämt dig för att du vill registrera telemetridata. Nu vill du ta reda på hur .NET Aspire hjälper till med telemetri.

I den här lektionen får du lära dig om integreringen mellan .NET Aspire- och OpenTelemetry-API:er.

.NET Aspire och OpenTelemetry

Huvudsyftet med utformningen och implementeringen av .NET Aspire är att säkerställa att molnbaserade appar är enkla att övervaka och felsöka. .NET Aspire gör det enklare att se till att hela appen är observerbar och fullständigt instrumenterad med hjälp av OpenTelemetry-API:erna och konfigurerar automatiskt källorna för telemetridata när du skapar en ny app från mallarna eller lägger till en befintlig app i .NET Aspire-orkestrering.

.NET Aspire-integreringar har också inbyggt stöd för telemetri.

.NET Aspire tillhandahåller .NET Aspire-instrumentpanelen när du felsöker lokalt. Det här webbgränssnittet innehåller omfattande verktyg som visar loggar, mått i grafiska format och spårningar i tidslinjer.

Skärmbild som visar sidan Spårningar på instrumentpanelen .NET Aspire.

OpenTelemetry-konfiguration i .NET Aspire

Koden som lägger till och konfigurerar OpenTelemetry i en .NET Aspire-lösning finns i ServiceDefaults-projektet . I den Extensions.cs filen hittar du:

  • Metoden ConfigureOpenTelemetry() , som lägger till loggning, mått och spårningstjänster.
  • Metoden AddOpenTelemetryExporters() , som lägger till OpenTelemetry Protocol-exportörer (OTLP).
  • Metoden AddBuiltInMeters() , som lägger till alla mått som är inbyggda i .NET.

Om du inte vill lägga till andra exportörer eller mått kan du lämna den här koden som den är.

Du bör utöka den här koden när du vill:

  • Lägg till ytterligare källor med mått eller distribuerade spårningsdata, till exempel anpassade mått.
  • Lägg till exportörer för att skicka telemetridata till ett APM-system (Application Performance Management), till exempel Application Insights eller Grafana.

Exportera telemetri

OpenTelemetry kan exportera data som den registrerar till olika verktyg, så att du kan välja den som stöder den analys du behöver.

Vanliga mål för telemetriexport är:

  • Instrumentpanelen Aspire. Du får lära dig mer om instrumentpanelen senare i den här modulen.
  • Andra APM-verktyg (Application Performance Management), till exempel Prometheus och Grafana.
  • Azure Application Insights. Den här funktionen i Azure Monitor kan analysera och visa beteendedata från många källor, både i Azure och från andra källor, till exempel molnbaserade appar.

Läs mer