OpenTelemetry gebruiken in .NET Aspire

Voltooid

.NET Aspire helpt u bij het vastleggen van het gedrag van een cloudeigen app door automatisch ondersteuning voor OpenTelemetry op te nemen wanneer u een .NET Aspire-project maakt.

Stel dat u werkt voor een winkel voor buitenapparatuur. U hebt besloten dat u telemetriegegevens wilt opnemen. Nu wilt u weten hoe .NET Aspire helpt met telemetrie.

In deze les leert u meer over de integratie tussen .NET Aspire en OpenTelemetry-API's.

.NET Aspire en OpenTelemetry

Een belangrijk doel in het ontwerp en de implementatie van .NET Aspire is ervoor te zorgen dat cloudeigen apps eenvoudig kunnen worden bewaakt en problemen kunnen oplossen. .NET Aspire vereenvoudigt het controleren of de volledige app kan worden waargenomen en volledig is geïnstrueerd met behulp van de OpenTelemetry-API's en het automatisch instellen van de bronnen van telemetriegegevens wanneer u een nieuwe app maakt op basis van de sjablonen of een bestaande app toevoegt aan .NET Aspire-indeling.

.NET Aspire-integraties hebben ook ingebouwde ondersteuning voor telemetrie.

.NET Aspire biedt het .NET Aspire-dashboard wanneer u lokaal fouten opssport. Deze webinterface bevat uitgebreide hulpprogramma's voor het weergeven van logboeken, metrische gegevens in grafische indelingen en traceringen in tijdlijnen.

Schermopname van de pagina Traces in het .NET Aspire-dashboard.

OpenTelemetry-configuratie in .NET Aspire

De code waarmee OpenTelemetry wordt toegevoegd en geconfigureerd in een .NET Aspire-oplossing bevindt zich in het ServiceDefaults-project . In het bestand Extensions.cs vindt u:

  • De ConfigureOpenTelemetry() methode waarmee services voor logboekregistratie, metrische gegevens en tracering worden toegevoegd.
  • De AddOpenTelemetryExporters() methode, waarmee OTLP-exporteurs (OpenTelemetry Protocol) worden toegevoegd.
  • De AddBuiltInMeters() methode, waarmee alle metrische gegevens worden toegevoegd die zijn ingebouwd in .NET.

Tenzij u andere exporteurs of metrische gegevens wilt toevoegen, kunt u deze code laten staan zoals deze is.

U moet deze code uitbreiden als u het volgende wilt doen:

  • Voeg aanvullende bronnen van metrische gegevens of gedistribueerde traceringsgegevens toe, zoals aangepaste metrische gegevens.
  • Voeg exporteurs toe om telemetriegegevens te verzenden naar een APM-systeem (Application Performance Management), zoals Application Insights of Grafana.

Telemetrie exporteren

OpenTelemetry kan de gegevens die worden vastgelegd, exporteren naar verschillende hulpprogramma's, zodat u de gegevens kunt kiezen die ondersteuning bieden voor de analyse die u nodig hebt.

Veelvoorkomende exportbestemmingen voor telemetrie zijn:

  • Het Dashboard Aspire. Verderop in deze module vindt u meer informatie over het dashboard.
  • Andere APM-hulpprogramma's (Application Performance Management), zoals Prometheus en Grafana.
  • Azure Application Insights. Deze functie van Azure Monitor kan gedragsgegevens uit veel bronnen analyseren en weergeven, zowel binnen Azure als vanuit andere bronnen, zoals cloudeigen apps.

Meer informatie