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
Ukończ poprzednie przewodniki Szybki start z tej serii:
- Aprowizuj wystąpienie usługi Azure Spring Apps.
- Szybki start: konfigurowanie serwera Spring Cloud Config Server dla usługi Azure Spring Apps.
- Tworzenie i wdrażanie aplikacji w usłudze Azure Spring Apps.
- Konfigurowanie obszaru roboczego usługi Log Analytics.
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
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.
Edytuj zapytanie, aby usunąć klauzule Where, które ograniczają wyświetlanie do dzienników ostrzeżeń i błędów.
Wybierz Uruchom. Wyświetlane są dzienniki. Aby uzyskać więcej informacji, zobacz Rozpoczynanie pracy z zapytaniami dzienników w usłudze Azure Monitor.
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
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.
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 .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.
Śledzenie rozproszone
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.
Teraz możesz zobaczyć stan wywołań między aplikacjami.
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.
Na koniec wybierz pozycję Zbadaj wydajność , aby zapoznać się z bardziej zaawansowaną wbudowaną analizą wydajności.
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
Ukończ poprzednie przewodniki Szybki start z tej serii:
- Aprowizuj wystąpienie usługi Azure Spring Apps.
- Szybki start: konfigurowanie serwera Spring Cloud Config Server dla usługi Azure Spring Apps.
- Tworzenie i wdrażanie aplikacji w usłudze Azure Spring Apps.
- Konfigurowanie obszaru roboczego usługi Log Analytics.
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:
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
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.
Następnie są wyświetlane przefiltrowane dzienniki. Aby uzyskać więcej informacji, zobacz Rozpoczynanie pracy z zapytaniami dzienników w usłudze Azure Monitor.
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
.
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
, PetResource
i 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 :
Możesz użyć funkcji Test dostępności w aplikacji Szczegółowe informacje i monitorować dostępność aplikacji:
Przejdź do strony Metryki na żywo, aby wyświetlić metryki na żywo z małymi opóźnieniami (mniej niż jedna sekunda):
Śledzenie
Otwórz aplikację Szczegółowe informacje utworzoną przez usługę Azure Spring Apps i rozpocznij monitorowanie aplikacji Spring.
Przejdź do strony Mapa aplikacji:
Przejdź do strony Wydajność :
Przejdź do karty Zależności , gdzie można zobaczyć numer wydajności zależności, w szczególności wywołania SQL:
Wybierz wywołanie SQL, aby wyświetlić kompleksową transakcję w kontekście:
Przejdź do strony Błędy i karty Wyjątki , gdzie można zobaczyć kolekcję wyjątków:
Wybierz wyjątek, aby wyświetlić kompleksową transakcję i stostrace w kontekście:
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: