Korzystanie z pulpitu nawigacyjnego platformy .NET Aspire
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.
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.
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.
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.
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:
Metryka http.server.request.duration wyświetla czas reakcji aplikacji w danym momencie:
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: