Verwenden von OpenTelemetry in .NET Aspire
.NET Aspire hilft Ihnen, das Verhalten einer cloudnativen App aufzuzeichnen, indem Sie die OpenTelemetry-Unterstützung automatisch einschließen, wenn Sie ein .NET Aspire-Projekt erstellen.
Stellen Sie sich vor, Sie arbeiten für einen Outdoor-Händler. Sie haben sich entschieden, dass Sie Telemetriedaten aufzeichnen möchten. Jetzt möchten Sie herausfinden, wie .NET Aspire mit Telemetrie hilft.
In dieser Lektion erfahren Sie mehr über die Integration zwischen .NET Aspire- und OpenTelemetry-APIs.
.NET Aspire und OpenTelemetry
Ein Hauptziel im Design und der Implementierung von .NET Aspire ist es, sicherzustellen, dass cloudnative Apps einfach zu überwachen und eine Problembehandlung für sie durchzuführen sind. .NET Aspire vereinfacht die Sicherstellung, dass die vollständige App erkennbar und vollständig mithilfe der OpenTelemetry-APIs instrumentiert ist, und automatisch die Quellen von Telemetriedaten eingerichtet werden, wenn Sie eine neue App aus den Vorlagen erstellen oder eine vorhandene App zur .NET Aspire-Orchestrierung hinzufügen.
.NET Aspire-Integrationen verfügen auch über integrierte Unterstützung für Telemetrie.
.NET Aspire stellt das .NET Aspire-Dashboard bereit, wenn Sie lokal debuggen. Diese Weboberfläche enthält umfangreiche Tools zum Anzeigen von Protokollen, Metriken in grafischen Formaten und Ablaufverfolgungen in Zeitachsen.
OpenTelemetry-Konfiguration in .NET Aspire
Der Code, der OpenTelemetry in einer .NET Aspire-Lösung hinzufügt und konfiguriert, befindet sich im ServiceDefaults-Projekt. In der Extensions.cs-Datei finden Sie Folgendes:
- Die
ConfigureOpenTelemetry()
-Methode, die Protokollierungs-, Metrik- und Ablaufverfolgungsdienste hinzufügt. - Die
AddOpenTelemetryExporters()
-Methode, die OpenTelemetry Protocol (OTLP)-Exporter hinzufügt. - Die
AddBuiltInMeters()
-Methode, die alle Metriken hinzufügt, die in .NET integriert sind.
Wenn Sie keine anderen Exporter oder Metriken hinzufügen möchten, können Sie diesen Code wie folgt belassen.
Sie sollten diesen Code erweitern, wenn Sie folgende Aktionen ausführen möchten:
- Fügen Sie zusätzliche Quellen von Metriken oder verteilten Ablaufverfolgungsdaten hinzu, z. B. benutzerdefinierte Metriken.
- Fügen Sie Exporter hinzu, um Telemetriedaten an ein APM-System (Application Performance Management) wie Application Insights oder Grafana zu senden.
Exportieren von Telemetrie
OpenTelemetry kann die erfassten Daten in verschiedene Tools exportieren, sodass Sie das Tool auswählen können, welches die benötigte Analyse unterstützt.
Zu den gängigen Telemetrieexportzielen gehören:
- Das Aspire-Dashboard. Weitere Informationen zum Dashboard finden Sie weiter unten in diesem Modul.
- Andere APM-Tools (Application Performance Management), z. B. Prometheus und Grafana.
- Azure Application Insights Dieses Feature von Azure Monitor kann Verhaltensdaten aus vielen Quellen sowohl in Azure als auch aus anderen Quellen analysieren und anzeigen, z. B. cloudnative Apps.
Weitere Informationen
- .NET Aspire-Telemetrie
- .NET-Einblick mit OpenTelemetry
- Erstellen benutzerdefinierter Metriken
- Hinzufügen einer verteilten Ablaufverfolgungsinstrumentation