Korzystanie z pulpitu nawigacyjnego platformy .NET Aspire

Ukończone

Po zarejestrowaniu danych telemetrycznych potrzebny jest sposób ich zbadania. Za pomocą platformy .NET Aspire pulpit nawigacyjny udostępnia zaawansowane narzędzia do badania telemetrii i diagnozowania problemów.

Wyobraź sobie, że pracujesz dla sprzedawcy sprzętu zewnętrznego. Używasz biblioteki OpenTelemetry w aplikacji natywnej dla chmury platformy .NET Aspire. Teraz chcesz zbadać dane emitujące dane telemetryczne, aby zdecydować, czy można ich użyć do zwiększenia wydajności.

W tej lekcji zobaczysz, jak pulpit nawigacyjny platformy .NET Aspire wyświetla dane telemetryczne.

Telemetria na pulpicie nawigacyjnym platformy .NET Aspire

Po uruchomieniu aplikacji utworzonej przy użyciu platformy .NET Aspire na komputerze dewelopera i kontenerach, które uruchamiają każdą integrację, platforma .NET uruchamia pulpit nawigacyjny platformy .NET Aspire. Ten interfejs internetowy zawiera pięć sekcji, z których cztery zawierają dane telemetryczne:

  • Zasoby: wyświetla listę kontenerów, projektów i plików wykonywalnych tworzących całą aplikację natywną dla chmury. Użyj linków w kolumnie Punkty końcowe, aby nawiązać połączenie z każdą mikrousługą.
  • Konsola: wyświetla tekst wysyłany do standardowych danych wyjściowych z określonej integracji.
  • Dzienniki ustrukturyzowane: wyświetla informacje wysyłane do rejestratorów OpenTelemetry.
  • Ślady: wyświetla ślad dla każdego żądania odebranego przez dowolną mikrousługę w aplikacji.
  • Metryki: wyświetla konfigurowalne wykresy domeny czasu, które pokazują, jak wybierane metryki różnią się.

Dzienniki na pulpicie nawigacyjnym

Zarejestrowane zdarzenia opisują, co się stanie podczas uruchamiania i uruchamiania aplikacji. Na pulpicie nawigacyjnym można wyświetlić dwa typy zarejestrowanych informacji: dzienniki konsoli i dzienniki ustrukturyzowane.

Dzienniki konsoli

Dzienniki konsoli wyświetlają tekst, który aplikacja wysłała do standardowych danych wyjściowych. Program wiersza polecenia wyświetla taki tekst jak wiersze w konsoli, ale mikrousługi i usługi pomocnicze nie mają wewnętrznego miejsca do wyświetlania standardowych danych wyjściowych. Platforma .NET Aspire pomaga, udostępniając stronę Dzienniki konsoli na pulpicie nawigacyjnym.

Po otwarciu strony należy najpierw wybrać integrację źródłową, taką jak jedna z mikrousług. Narzędzie wyświetla wszystkie standardowe dane wyjściowe z tego źródła w oknie głównym z pewnym formatowaniem. Na przykład zdarzenia informacyjne są wyświetlane na zielono, a błędy są wyświetlane na czerwono.

Dzienniki konsoli to po prostu wiersze tekstu. Są one łatwe do tworzenia i emitowania aplikacji, ale są trudne do odczytania dla ludzi i trudne do przetworzenia w celach analitycznych, ponieważ brakuje im struktury.

Zrzut ekranu przedstawiający dzienniki konsoli na pulpicie nawigacyjnym platformy .NET Aspire.

Dzienniki ustrukturyzowane

Zamiast zwykłego tekstu dzienniki ustrukturyzowane zachowują zarejestrowane komunikaty przy użyciu ich szablonu i parametrów komunikatów. Ta struktura ułatwia filtrowanie zdarzeń, które są nieistotne, dzięki czemu można przejść do szczegółów w celu rozwiązania konkretnego problemu. W środowisku produkcyjnym dzienniki mogą być utrwalane, indeksowane, a następnie odpytywane jak baza danych. W ten sposób można wykonywać zaawansowane analizy danych, które zawierają.

Uwaga

Dzienniki ustrukturyzowane są również często nazywane dziennikami semantycznymi.

W kodzie wyślij zdarzenie do dzienników strukturalnych przy użyciu obiektu OpenTelemetry ILogger :

logger.Info("{shopitem} added to basket by {user}", "Ski goggles", "Kenny");

Na pulpicie nawigacyjnym platformy .NET na stronie Dzienniki strukturalne są wyświetlane zdarzenia z każdego zasobu w aplikacji. Aby przejść do szczegółów, wybierz zasób, który rozwiązujesz, i użyj pól Filtr i Poziom , aby wyświetlić tylko odpowiednie zdarzenia.

Zrzut ekranu przedstawiający dzienniki strukturalne na pulpicie nawigacyjnym platformy .NET Aspire.

Rozproszone ślady na pulpicie nawigacyjnym

Ślad to rekord opisujący sposób przetwarzania żądania i zwracany do elementu wywołującego. Każdy ślad może obejmować wywołania wielu integracji w aplikacji. Na przykład gdy użytkownik żąda strony sieci Web wykazu produktów, mikrousługę internetowego interfejsu użytkownika może odebrać żądanie, które może wywołać mikrousługę uwierzytelniania, mikrousługę wykazu i pamięć podręczną Redis, przed zwróceniem strony internetowej do użytkownika.

Zrzut ekranu przedstawiający listę śladów na pulpicie nawigacyjnym platformy .NET Aspire.

Każdy ślad składa się z zakresów, takich jak wywołanie mikrousługi wykazu. System rejestruje każdy zakres wraz z informacjami o chronometrażu i informacjach nadrzędnych, dzięki czemu można zobaczyć, która integracja reaguje szybko i co powoduje opóźnienia. Dodatkowe szczegóły są dostępne dla każdego zakresu.

Zrzut ekranu przedstawiający poszczególne ślady na pulpicie nawigacyjnym platformy .NET Aspire.

Podobnie jak w przypadku dzienników strukturalnych, możesz wybrać źródło i zastosować filtry, aby przejść do szczegółów i zlokalizować ślady dla konkretnego problemu, który cię interesuje.

Metryki na pulpicie nawigacyjnym

Metryki to wartości, które różnią się w czasie, rejestrowane przez integrację aplikacji. Na przykład metryki mogą rejestrować czas trwania żądania i odpowiedzi lub liczbę aktywnych połączeń z mikrousługą katalogu. Niektóre metryki są wbudowane w platformę .NET, niektóre są dostarczane z bibliotekami zestawu SDK OpenTelemetry, a deweloperzy mogą dodawać niestandardowe metryki OpenTelemetry, które są unikatowe dla ich integracji.

Pulpit nawigacyjny platformy .NET Aspire zawiera sekcję Metryki , której można użyć do zbadania i wyświetlenia różnic metryk w czasie.

Na przykład metryka http.server.active_requests wyświetla liczbę przetwarzanych żądań w dowolnym momencie:

Zrzut ekranu przedstawiający graf metryki aktywnych żądań na pulpicie nawigacyjnym platformy .NET Aspire.

Metryka http.server.request.duration wyświetla czas reakcji aplikacji w danym momencie:

Zrzut ekranu przedstawiający wykres metryki czasu trwania żądania na pulpicie nawigacyjnym platformy .NET Aspire.

W ramach każdego grafu można określić filtry, które mają być przeznaczone dla grafu. Na przykład na tym wykresie przedstawiono metryki czasu trwania żądania dla żądań do trasy strony głównej:

Zrzut ekranu przedstawiający wykres metryki czasu trwania żądania na pulpicie nawigacyjnym .NET Aspire z zastosowanym filtrem.

Dowiedz się więcej