Szybki start: monitorowanie aplikacji Platformy Azure Spring Apps przy użyciu dzienników, metryk i śledzenia

Uwaga

Azure Spring Apps to nowa nazwa usługi Azure Spring Cloud. Mimo że usługa ma nową nazwę, stara nazwa będzie widoczna w niektórych miejscach przez pewien czas, ponieważ pracujemy nad aktualizowaniem zasobów, takich jak zrzuty ekranu, filmy wideo i diagramy.

Ten artykuł dotyczy: ✔️ Podstawowa/Standardowa ❌ Enterprise

Dzięki wbudowanej funkcji monitorowania w usłudze Azure Spring Apps można debugować i monitorować złożone problemy. Usługa Azure Spring Apps integruje śledzenie rozproszone Steeltoe z usługą Application Szczegółowe informacje platformy Azure. Ta integracja zapewnia zaawansowane dzienniki, metryki i możliwość śledzenia rozproszonego z witryny Azure Portal.

Poniższe procedury wyjaśniają, jak używać przesyłania strumieniowego dzienników, usługi Log Analytics, metryk i śledzenia rozproszonego przy użyciu przykładowej aplikacji wdrożonej w poprzednich przewodnikach Szybki start.

Wymagania wstępne

Dzienniki

Istnieją dwa sposoby wyświetlenia dzienników w usłudze Azure Spring Apps: przesyłanie strumieniowe dzienników dzienników w czasie rzeczywistym dla wystąpienia aplikacji lub usługi Log Analytics w przypadku zagregowanych dzienników z zaawansowaną możliwością wykonywania zapytań.

Przesyłanie strumieniowe dzienników

Możesz użyć przesyłania strumieniowego dzienników w interfejsie wiersza polecenia platformy Azure za pomocą następującego polecenia.

az spring app logs --name solar-system-weather --follow

Wyświetlane są dane wyjściowe podobne do następującego przykładu:

=> ConnectionId:0HM2HOMHT82UK => RequestPath:/weatherforecast RequestId:0HM2HOMHT82UK:00000003, SpanId:|e8c1682e-46518cc0202c5fd9., TraceId:e8c1682e-46518cc0202c5fd9, ParentId: => Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather)
Executing action method Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather) - Validation state: Valid
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController[0]

=> ConnectionId:0HM2HOMHT82UK => RequestPath:/weatherforecast RequestId:0HM2HOMHT82UK:00000003, SpanId:|e8c1682e-46518cc0202c5fd9., TraceId:e8c1682e-46518cc0202c5fd9, ParentId: => Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather)
Retrieved weather data from 4 planets
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2]

=> ConnectionId:0HM2HOMHT82UK => RequestPath:/weatherforecast RequestId:0HM2HOMHT82UK:00000003, SpanId:|e8c1682e-46518cc0202c5fd9., TraceId:e8c1682e-46518cc0202c5fd9, ParentId: => Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather)
Executing ObjectResult, writing value of type 'System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]][]'.
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2]

Napiwek

Służy az spring app logs -h do eksplorowania większej liczby parametrów i funkcji strumienia dziennika.

Log Analytics

  1. W witrynie Azure Portal przejdź do usługi | Strona Przegląd i wybierz pozycję Dzienniki w sekcji Monitorowanie . Wybierz pozycję Uruchom w jednym z przykładowych zapytań dla usługi Azure Spring Apps.

    Zrzut ekranu witryny Azure Portal przedstawiający okienko Dzienniki z otwartą stroną Zapytania i wyróżnioną pozycją Uruchom.

  2. Edytuj zapytanie, aby usunąć klauzule Where, które ograniczają wyświetlanie do dzienników ostrzeżeń i błędów.

  3. Wybierz Uruchom. Wyświetlane są dzienniki. Aby uzyskać więcej informacji, zobacz Rozpoczynanie pracy z zapytaniami dzienników w usłudze Azure Monitor.

    Zrzut ekranu witryny Azure Portal przedstawiający wynik zapytania usługi Logs Analytics.

  4. Aby dowiedzieć się więcej o języku zapytań używanym w usłudze Log Analytics, zobacz Zapytania dzienników usługi Azure Monitor. Aby wykonać zapytanie dotyczące wszystkich dzienników usługi Log Analytics ze scentralizowanego klienta, zapoznaj się z usługą Azure Data Explorer.

Metryki

  1. W witrynie Azure Portal przejdź do usługi | Strona Przegląd i wybierz pozycję Metryki w sekcji Monitorowanie . Dodaj pierwszą metrykę, wybierając jedną z metryk platformy .NET w obszarze Wydajność (.NET) lub Żądanie (.NET) na liście rozwijanej Metryka i Avg for Aggregation (Średnia dla agregacji), aby wyświetlić oś czasu dla tej metryki.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Metryki z dostępnymi filtrami.

  2. Wybierz pozycję Dodaj filtr na pasku narzędzi, aby App=solar-system-weather wyświetlić użycie procesora CPU tylko dla aplikacji solar-system-weather .

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Metryki z wyróżnionymi opcjami Właściwości, Operator i Wartości filtru.

  3. Odrzuć filtr utworzony w poprzednim kroku, wybierz pozycję Zastosuj podział, a następnie wybierz pozycję Aplikacja dla wartości , aby wyświetlić użycie procesora CPU przez różne aplikacje.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Metryki z wyróżnionymi opcjami podziału wartości, limitu i sortowania.

Śledzenie rozproszone

  1. W witrynie Azure Portal przejdź do usługi | Strona Przegląd i wybierz pozycję Śledzenie rozproszone w sekcji Monitorowanie . Następnie wybierz kartę Wyświetl mapę aplikacji po prawej stronie.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę śledzenia rozproszonego.

  2. Teraz możesz zobaczyć stan wywołań między aplikacjami.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę mapy aplikacji.

  3. Wybierz link między solar-system-weather i planet-weather-provider, aby wyświetlić więcej szczegółów, takich jak najwolniejsze wywołania metod HTTP.

    Zrzut ekranu witryny Azure Portal przedstawiający szczegóły mapy aplikacji.

  4. Na koniec wybierz pozycję Zbadaj wydajność , aby zapoznać się z bardziej zaawansowaną wbudowaną analizą wydajności.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Wydajność.

Dzięki wbudowanej funkcji monitorowania w usłudze Azure Spring Apps można debugować i monitorować złożone problemy. Usługa Azure Spring Apps integruje rozwiązanie Spring Cloud Sleuth z usługą Application Szczegółowe informacje platformy Azure. Ta integracja zapewnia zaawansowane dzienniki, metryki i możliwość śledzenia rozproszonego z witryny Azure Portal. Poniższe procedury wyjaśniają, jak używać przesyłania strumieniowego dzienników, usługi Log Analytics, metryk i śledzenia rozproszonego przy użyciu wdrożonych aplikacji PetClinic.

Wymagania wstępne

Dzienniki

Istnieją dwa sposoby wyświetlenia dzienników w usłudze Azure Spring Apps: przesyłanie strumieniowe dzienników dzienników w czasie rzeczywistym dla wystąpienia aplikacji lub usługi Log Analytics w przypadku zagregowanych dzienników z zaawansowaną możliwością wykonywania zapytań.

Przesyłanie strumieniowe dzienników

Możesz użyć przesyłania strumieniowego dzienników w interfejsie wiersza polecenia platformy Azure za pomocą następującego polecenia.

az spring app logs \
    --resource-group <resource-group-name> \
    --service <service-instance-name> \
    --name api-gateway \
    --follow

Są wyświetlane dzienniki w następujący sposób:

Zrzut ekranu przedstawiający dane wyjściowe przesyłania strumieniowego dziennika interfejsu wiersza polecenia platformy Azure.

Napiwek

Użyj az spring app logs -h polecenia , aby poznać więcej parametrów i funkcji strumienia dziennika.

Aby dowiedzieć się więcej o języku zapytań używanym w usłudze Log Analytics, zobacz Zapytania dzienników usługi Azure Monitor. Aby wykonać zapytanie dotyczące wszystkich dzienników usługi Log Analytics ze scentralizowanego klienta, zapoznaj się z usługą Azure Data Explorer.

Log Analytics

  1. Przejdź do usługi | Strona Przegląd i wybierz pozycję Dzienniki w sekcji Monitorowanie . Wybierz pozycję Uruchom w jednym z przykładowych zapytań dla usługi Azure Spring Apps.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Zapytania z wyróżnioną funkcją Uruchom.

  2. Następnie są wyświetlane przefiltrowane dzienniki. Aby uzyskać więcej informacji, zobacz Rozpoczynanie pracy z zapytaniami dzienników w usłudze Azure Monitor.

    Zrzut ekranu witryny Azure Portal przedstawiający wynik zapytania filtrowanych dzienników.

Metryki

Przejdź do strony Application Insights , a następnie przejdź do strony Metryki . Metryki dodane przez aplikacje Spring Boot, moduły Spring i zależności można zobaczyć.

Na poniższym wykresie przedstawiono gateway_requests (Spring Cloud Gateway), hikaricp_connections (Połączenie ions JDBC) i http_client_requests.

Zrzut ekranu witryny Azure Portal przedstawiający stronę Application Szczegółowe informacje Metrics (Metryki aplikacji) z wykresem wybranych wartości.

Platforma Spring Boot rejestruje kilka podstawowych metryk, w tym JVM, CPU, Tomcat i Logback. Automatyczna konfiguracja platformy Spring Boot umożliwia instrumentację żądań obsługiwanych przez platformę Spring MVC. Wszystkie trzy kontrolery REST (OwnerResource, PetResourcei VisitResource) są instrumentowane przez adnotację @Timed Mikrometr na poziomie klasy.

Aplikacja customers-service ma włączone następujące metryki niestandardowe:

  • @Timed: petclinic.owner
  • @Timed: petclinic.pet

Aplikacja visits-service ma włączone następujące metryki niestandardowe:

  • @Timed: petclinic.visit

Te metryki niestandardowe można zobaczyć na stronie Metryki :

Zrzut ekranu witryny Azure Portal przedstawiający stronę Metryki usługi Application Szczegółowe informacje z metrykami niestandardowymi.

Możesz użyć funkcji Test dostępności w aplikacji Szczegółowe informacje i monitorować dostępność aplikacji:

Zrzut ekranu witryny Azure Portal przedstawiający stronę Dostępność Szczegółowe informacje aplikacji z wyróżnioną sekcją Test dostępności.

Przejdź do strony Metryki na żywo, aby wyświetlić metryki na żywo z małymi opóźnieniami (mniej niż jedna sekunda):

Zrzut ekranu witryny Azure Portal przedstawiający wykresy małe opóźnienia strony Application Szczegółowe informacje Live Metrics.

Śledzenie

Otwórz aplikację Szczegółowe informacje utworzoną przez usługę Azure Spring Apps i rozpocznij monitorowanie aplikacji Spring.

Przejdź do strony Mapa aplikacji:

Zrzut ekranu witryny Azure Portal przedstawiający stronę Application Szczegółowe informacje Application Map (Mapa aplikacji) ze składnikami mapy.

Przejdź do strony Wydajność :

Zrzut ekranu witryny Azure Portal przedstawiający stronę Application Szczegółowe informacje Performance (Wydajność aplikacji) ze szczegółami operacji.

Przejdź do karty Zależności , gdzie można zobaczyć numer wydajności zależności, w szczególności wywołania SQL:

Zrzut ekranu witryny Azure Portal przedstawiający stronę Application Szczegółowe informacje Performance z wyróżnioną tabelą Depencies.

Wybierz wywołanie SQL, aby wyświetlić kompleksową transakcję w kontekście:

Zrzut ekranu witryny Azure Portal przedstawiający stronę Szczegółów transakcji kompleksowej.

Przejdź do strony Błędy i karty Wyjątki , gdzie można zobaczyć kolekcję wyjątków:

Zrzut ekranu witryny Azure Portal przedstawiający stronę Błędy Szczegółowe informacje aplikacji.

Wybierz wyjątek, aby wyświetlić kompleksową transakcję i stostrace w kontekście:

Zrzut ekranu witryny Azure Portal przedstawiający stronę Szczegółów transakcji kompleksowej z szczegółami wyjątku i stosem wywołań.

Czyszczenie zasobów

Jeśli planujesz kontynuować pracę z kolejnymi przewodnikami Szybki start i samouczkami, możesz pozostawić te zasoby na miejscu. Gdy grupa zasobów nie będzie już potrzebna, usuń grupę zasobów, która usuwa zasoby w grupie zasobów. Aby usunąć grupę zasobów przy użyciu interfejsu wiersza polecenia platformy Azure, użyj następujących poleceń:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

W poprzednim przewodniku Szybki start ustawisz również domyślną nazwę grupy zasobów. Jeśli nie zamierzasz kontynuować następnego przewodnika Szybki start, wyczyść to domyślnie, uruchamiając następujące polecenie interfejsu wiersza polecenia:

az config set defaults.group=

Następne kroki

Aby poznać więcej możliwości monitorowania usługi Azure Spring Apps, zobacz: