Korzystanie z technologii OpenTelemetry na platformie .NET Aspire

Ukończone

Platforma .NET Aspire pomaga rejestrować zachowanie aplikacji natywnej dla chmury, automatycznie włączając obsługę biblioteki OpenTelemetry podczas tworzenia projektu .NET Aspire.

Wyobraź sobie, że pracujesz dla sprzedawcy sprzętu zewnętrznego. Zdecydowano, że chcesz rejestrować dane telemetryczne. Teraz chcesz dowiedzieć się, jak platforma .NET Aspire pomaga w telemetrii.

W tej lekcji dowiesz się więcej na temat integracji między interfejsami API platformy .NET Aspire i OpenTelemetry.

.NET Aspire i OpenTelemetry

Głównym celem projektowania i implementacji platformy .NET Aspire jest zapewnienie, że aplikacje natywne dla chmury są łatwe do monitorowania i rozwiązywania problemów. Platforma .NET Aspire upraszcza zapewnienie, że kompletna aplikacja jest zauważalna i w pełni instrumentowana przy użyciu interfejsów API OpenTelemetry i automatycznie konfiguruje źródła danych telemetrycznych za każdym razem, gdy tworzysz nową aplikację z szablonów lub dodawaj istniejącą aplikację do orkiestracji platformy .NET Aspire.

Składniki platformy .NET Aspire mają również wbudowaną obsługę telemetrii.

Platforma .NET Aspire udostępnia pulpit nawigacyjny platformy .NET Aspire podczas lokalnego debugowania. Ten interfejs internetowy zawiera zaawansowane narzędzia, które wyświetlają dzienniki, metryki w formatach graficznych i ślady na osi czasu.

Zrzut ekranu przedstawiający stronę Ślady na pulpicie nawigacyjnym platformy .NET Aspire.

Konfiguracja openTelemetry na platformie .NET Aspire

Kod, który dodaje i konfiguruje bibliotekę OpenTelemetry w rozwiązaniu .NET Aspire, znajduje się w projekcie ServiceDefaults . W pliku Extensions.cs znajdziesz:

  • Metoda ConfigureOpenTelemetry() , która dodaje usługi rejestrowania, metryk i śledzenia.
  • Metoda AddOpenTelemetryExporters() , która dodaje eksporterów Protokołu OTLP (OpenTelemetry Protocol).
  • Metoda AddBuiltInMeters() , która dodaje wszystkie metryki wbudowane w platformę .NET.

Jeśli nie chcesz dodawać innych eksporterów lub metryk, możesz pozostawić ten kod tak, jak to jest.

Ten kod należy rozszerzyć, gdy chcesz:

  • Dodaj dodatkowe źródła metryk lub rozproszone dane śledzenia, takie jak metryki niestandardowe.
  • Dodaj eksporterów, aby wysyłać dane telemetryczne do systemu zarządzania wydajnością aplikacji (APM), takiego jak Application Insights lub Grafana.

Eksportowanie danych telemetrycznych

Funkcja OpenTelemetry może wyeksportować dane, które rekordy są rejestrowane do różnych narzędzi, dzięki czemu można wybrać te, które obsługują potrzebną analizę.

Typowe miejsca docelowe eksportu telemetrii obejmują:

  • Pulpit nawigacyjny Aspiruj. Więcej informacji na temat pulpitu nawigacyjnego znajdziesz w dalszej części tego modułu.
  • Inne narzędzia do zarządzania wydajnością aplikacji (APM), takie jak Prometheus i Grafana.
  • Azure Application Insights. Ta funkcja usługi Azure Monitor umożliwia analizowanie i wyświetlanie danych zachowania z wielu źródeł, zarówno na platformie Azure, jak i z innych źródeł, takich jak aplikacje natywne dla chmury.

Dowiedz się więcej