Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Plany Basic, Standardi Enterprise weszły w okres wycofywania 17 marca 2025 r. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.
Plan dotyczący zużycia standardowego oraz dedykowany plan zostały wycofane 30 września 2024 r., z całkowitym zamknięciem do końca marca 2025 r. Aby uzyskać więcej informacji, zobacz Migrowanie planu standardowego wykorzystania oraz dedykowanego planu usługi Azure Spring Apps do usługi Azure Container Apps.
Ten artykuł dotyczy:✅ Java ✅ C#
Ten artykuł dotyczy:✅ Podstawowa/Standardowa ✅ Enterprise
W tym artykule pokazano, jak analizować dane diagnostyczne w usłudze Azure Spring Apps.
Korzystając z funkcji diagnostyki usługi Azure Spring Apps, można analizować dzienniki i metryki przy użyciu dowolnej z następujących usług:
- Korzystanie z usługi Azure Log Analytics. Podczas eksportowania dzienników do usługi Log Analytics występuje opóźnienie.
- Zapisz dzienniki na koncie przechowywania do celów audytu lub ręcznej kontroli. Możesz określić czas przechowywania (w dniach).
- Przesyłaj dzienniki do centrum zdarzeń do przetwarzania przez zewnętrzną usługę lub niestandardowe analizy.
Wybierz kategorię dziennika i kategorię metryk, którą chcesz monitorować.
Napiwek
Jeśli chcesz tylko przesyłać strumieniowo dzienniki, możesz użyć polecenia Azure CLI az spring app logs.
Dzienniki
Dziennik | opis |
---|---|
ApplicationConsole | Dziennik konsoli wszystkich aplikacji klienta. |
Dzienniki systemowe | Dostępne LogType wartości to ConfigServer (tylko wersja Podstawowa/Standardowa), ServiceRegistry (wszystkie plany), ApiPortal (tylko plan Enterprise), ApplicationConfigurationService (tylko plan Enterprise), SpringCloudGateway (tylko plan Enterprise), i SpringCloudGatewayOperator (tylko plan Enterprise) |
Dzienniki wejściowe | Dzienniki wejścia wszystkich aplikacji klienta, tylko dzienniki dostępu. |
Dzienniki kompilacji | Dzienniki kompilacji wszystkich aplikacji klienta na każdym etapie budowy. |
Uwaga
Aby chronić aplikację przed potencjalnym wyciekiem poświadczeń, cała zawartość dziennika z poświadczeniami lub innymi poufnymi informacjami są maskowane za pomocą polecenia ***
. Na przykład każda zawartość dziennika z następującymi wzorcami jest obsługiwana jako informacje poufne, a odpowiednie wartości są maskowane:
-
dbpass
,password
,key
,secret
,sig
isignature
następnie:
lub=
. Te wzorce są zwykle wyświetlane w parametrach adresu URL i zrzutach ładunku. Na przykładhttps://somestorage.blob.core.windows.net?sv=2021-08-06&st=2024-04-30T10%3A01%3A19Z&se=2024-04-30T11%3A01%3A19Z&sr=b&sp=r&sig=xxxxxxxxxxxxxx
staje sięhttps://somestorage.blob.core.windows.net?sv=2021-08-06&st=2024-04-30T10%3A01%3A19Z&se=2024-04-30T11%3A01%3A19Z&sr=b&sp=r&sig=***
- Ciągi zakodowane jak token JWT w formacie:
eyJxxxxxx.eyJxxxxxx
Jeśli w dziennikach znajdziesz wartości maskowane, zaktualizuj kod aplikacji, aby wyeliminować wyciek poświadczeń.
Metryki
Aby uzyskać pełną listę metryk, zobacz sekcję Opcje metryk użytkownika w temacie Metryki dla usługi Azure Spring Apps.
Aby rozpocząć, włącz jedną z tych usług, aby odbierać dane. Aby dowiedzieć się więcej na temat konfigurowania usługi Log Analytics, zobacz Rozpoczynanie pracy z usługą Log Analytics w usłudze Azure Monitor.
Konfigurowanie ustawień diagnostycznych
W portalu Azure przejdź do wystąpienia Azure Spring Apps.
Wybierz opcję ustawienia diagnostyki, a następnie wybierz pozycję Dodaj ustawienie diagnostyki.
Wprowadź nazwę ustawienia, a następnie wybierz miejsce, w którym chcesz wysłać dzienniki. Możesz wybrać dowolną kombinację następujących opcji:
- Archiwizowanie na koncie magazynowym
- Przesyłaj strumieniowo do centrum zdarzeń
- Wyślij do Log Analytics
- Wysyłanie do rozwiązania partnerskiego
Wybierz kategorię dziennika i kategorię metryk, którą chcesz monitorować, a następnie określ czas przechowywania (w dniach). Czas przechowywania dotyczy tylko konta magazynu.
Wybierz pozycję Zapisz.
Uwaga
Może wystąpić różnica do 15 minut między momentem emisji dzienników lub metryk a pojawieniem się ich na koncie magazynu, w centrum wydarzeń lub w usłudze Log Analytics. Jeśli wystąpienie usługi Azure Spring Apps zostanie usunięte lub przeniesione, operacja nie zostanie kaskadowo przeniesiona do zasobów ustawień diagnostycznych. Zasoby ustawień diagnostycznych należy usunąć ręcznie przed operacją względem jej elementu nadrzędnego, wystąpienia usługi Azure Spring Apps. W przeciwnym razie, jeśli nowe wystąpienie usługi Azure Spring Apps zostanie aprowizowane przy użyciu tego samego identyfikatora zasobu co usunięte lub jeśli wystąpienie usługi Azure Spring Apps zostanie przeniesione z powrotem, poprzednie zasoby ustawień diagnostycznych będą nadal je rozszerzać.
Wyświetl dzienniki i metryki
Istnieją różne metody wyświetlania dzienników i metryk zgodnie z opisem w poniższych nagłówkach.
Korzystanie z okienka Dzienniki
W portalu Azure przejdź do wystąpienia usługi Azure Spring Apps.
Aby otworzyć okienko Przeszukiwanie dzienników, wybierz pozycję Dzienniki.
W polu wyszukiwania Tabele użyj jednego z następujących zapytań:
Aby wyświetlić dzienniki, wprowadź zapytanie, takie jak w poniższym przykładzie:
AppPlatformLogsforSpring | limit 50
Aby wyświetlić metryki, wprowadź zapytanie, takie jak poniższy przykład:
AzureMetrics | limit 50
Aby wyświetlić wynik wyszukiwania, wybierz pozycję Uruchom.
Korzystanie z usługi Log Analytics
W witrynie Azure Portal w okienku po lewej stronie wybierz pozycję Log Analytics.
Wybierz obszar roboczy usługi Log Analytics wybrany podczas dodawania ustawień diagnostycznych.
Aby otworzyć okienko Przeszukiwanie dzienników, wybierz pozycję Dzienniki.
W polu wyszukiwania Tabele użyj jednego z następujących zapytań:
Aby wyświetlić dzienniki, wprowadź zapytanie, takie jak w poniższym przykładzie:
AppPlatformLogsforSpring | limit 50
Aby wyświetlić metryki, wprowadź zapytanie, takie jak poniższy przykład:
AzureMetrics | limit 50
Aby wyświetlić wynik wyszukiwania, wybierz pozycję Uruchom.
Dzienniki określonej aplikacji lub wystąpienia można przeszukiwać, ustawiając warunek filtru, jak pokazano w poniższym przykładzie:
AppPlatformLogsforSpring | where ServiceName == "YourServiceName" and AppName == "YourAppName" and InstanceName == "YourInstanceName" | limit 50
Uwaga
==
rozróżnia wielkość liter, ale=~
nie rozróżnia.
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.
Korzystanie z konta magazynowego
- W portalu Azure znajdź Konta magazynu w lewym panelu nawigacyjnym lub w polu wyszukiwania.
- Wybierz konto magazynu, które wybrałeś podczas dodawania ustawień diagnostycznych.
- Aby otworzyć okienko Kontener obiektów blob, wybierz pozycję Obiekty blob.
- Aby przejrzeć dzienniki aplikacji, wyszukaj kontener o nazwie insights-logs-applicationconsole.
- Aby przejrzeć metryki aplikacji, wyszukaj kontener o nazwie insights-metrics-pt1m.
Aby dowiedzieć się więcej na temat wysyłania informacji diagnostycznych do konta magazynu, zobacz Przechowywanie i wyświetlanie danych diagnostycznych w usłudze Azure Storage.
Korzystaj ze swojego centrum zdarzeń
W witrynie Azure Portal znajdź usługę Event Hubs w lewym panelu nawigacyjnym lub polu wyszukiwania.
Wyszukaj i wybierz centrum zdarzeń wybrane podczas dodawania ustawień diagnostycznych.
Aby otworzyć listę centrów zdarzeń, wybierz pozycję Event Hubs.
Aby przejrzeć dzienniki aplikacji, wyszukaj centrum zdarzeń o nazwie insights-logs-applicationconsole.
Aby przejrzeć metryki aplikacji, wyszukaj centrum zdarzeń o nazwie insights-metrics-pt1m.
Aby dowiedzieć się więcej na temat wysyłania informacji diagnostycznych do centrum zdarzeń, zobacz Przesyłanie strumieniowe danych diagnostycznych Azure w ścieżce gorącej przy użyciu usługi Event Hubs.
Analizowanie dzienników
Usługa Azure Log Analytics jest uruchomiona z aparatem Kusto, dzięki czemu można wykonywać zapytania dotyczące dzienników w celu analizy. Aby zapoznać się z szybkim wprowadzeniem do wykonywania zapytań dotyczących dzienników przy użyciu usługi Kusto, zapoznaj się z samouczkiem dotyczącym usługi Log Analytics.
Dzienniki aplikacji udostępniają krytyczne informacje i szczegółowe dzienniki dotyczące kondycji, wydajności aplikacji i innych aspektów jej działania. W następnych sekcjach przedstawiono kilka prostych zapytań, które ułatwiają zrozumienie bieżących i przeszłych stanów aplikacji.
Wyświetlanie dzienników aplikacji z usługi Azure Spring Apps
Aby przejrzeć listę dzienników aplikacji z usługi Azure Spring Apps, posortowaną według czasu, z najnowszymi dziennikami wyświetlanymi jako pierwsze, uruchom następujące zapytanie:
AppPlatformLogsforSpring
| project TimeGenerated , ServiceName , AppName , InstanceName , Log
| sort by TimeGenerated desc
Pokaż wpisy dzienników zawierające błędy lub wyjątki
Aby przejrzeć niezasortowane wpisy dziennika, które zawierają błąd lub wyjątek, uruchom następujące zapytanie:
AppPlatformLogsforSpring
| project TimeGenerated , ServiceName , AppName , InstanceName , Log
| where Log contains "error" or Log contains "exception"
Użyj tego zapytania, aby znaleźć błędy lub zmodyfikować terminy zapytania, aby znaleźć określone kody błędów lub wyjątki.
Pokaż liczbę błędów i wyjątków zgłoszonych przez aplikację w ciągu ostatniej godziny
Aby utworzyć wykres kołowy, który wyświetla liczbę błędów i wyjątków zarejestrowanych przez aplikację w ciągu ostatniej godziny, uruchom następujące zapytanie:
AppPlatformLogsforSpring
| where TimeGenerated > ago(1h)
| where Log contains "error" or Log contains "exception"
| summarize count_per_app = count() by AppName
| sort by count_per_app desc
| render piechart
Pokaż wpisy dziennika ruchu przychodzącego zawierające określonego hosta
Aby przejrzeć wpisy dziennika wygenerowane przez określonego hosta, uruchom następujące zapytanie:
AppPlatformIngressLogs
| where TimeGenerated > ago(1h) and Host == "ingress-asc.test.azuremicroservices.io"
| project TimeGenerated, RemoteIP, Host, Request, Status, BodyBytesSent, RequestTime, ReqId, RequestHeaders
| sort by TimeGenerated
Użyj tego zapytania, aby znaleźć odpowiedzi Status
, RequestTime
i inne właściwości dzienników ruchu przychodzącego tego hosta.
Pokaż wpisy dziennika ruchu przychodzącego dla określonego identyfikatora żądania
Aby przejrzeć wpisy dziennika dla określonej requestId
wartości <request_ID>
, uruchom następujące zapytanie:
AppPlatformIngressLogs
| where TimeGenerated > ago(1h) and ReqId == "<request_ID>"
| project TimeGenerated, RemoteIP, Host, Request, Status, BodyBytesSent, RequestTime, ReqId, RequestHeaders
| sort by TimeGenerated
Pokaż wpisy dziennika kompilacji dla określonej aplikacji
Aby przejrzeć wpisy dziennika dla określonej aplikacji podczas procesu kompilacji, uruchom następujące zapytanie:
AppPlatformBuildLogs
| where TimeGenerated > ago(1h) and PodName contains "<app-name>"
| sort by TimeGenerated
Wyświetlanie wpisów dziennika kompilacji dla określonej aplikacji na określonym etapie kompilacji
Aby przejrzeć wpisy dziennika dla określonej aplikacji na określonym etapie kompilacji, uruchom następujące zapytanie. Zastąp symbol zastępczy <app-name>
nazwą swojej aplikacji.
<build-stage>
Zastąp symbol zastępczy jedną z następujących wartości, które reprezentują etapy procesu kompilacji: prepare
, , detect
, restore
analyze
, build
, lub export
completion
.
AppPlatformBuildLogs
| where TimeGenerated > ago(1h) and PodName contains "<app-name>" and ContainerName == "<build-stage>"
| sort by TimeGenerated
Pokaż dzienniki usługi VMware Spring Cloud Gateway w planie enterprise
Aby przejrzeć wpisy dziennika dla dzienników usługi VMware Spring Cloud Gateway w planie Enterprise, uruchom następujące zapytanie:
AppPlatformSystemLogs
| where LogType == "SpringCloudGateway"
| project TimeGenerated , LogType, Level , ServiceName , Thread , Stack , Log , _ResourceId
| limit 100
Inny składnik o nazwie Spring Cloud Gateway Operator kontroluje cykl życia i trasy Spring Cloud Gateway. Jeśli wystąpią jakiekolwiek problemy z niedziałaniem trasy, sprawdź dzienniki tego składnika. Aby przejrzeć wpisy dziennika dla VMware Spring Cloud Gateway Operatora w planie Enterprise, uruchom następujące zapytanie:
AppPlatformSystemLogs
| where LogType == "SpringCloudGatewayOperator"
| project TimeGenerated , LogType, Level , ServiceName , Thread , Stack , Log , _ResourceId
| limit 100
Pokaż dzienniki usługi konfiguracji aplikacji dla Tanzu w planie Enterprise
Aby przejrzeć wpisy dziennika dla usługi Konfiguracji aplikacji Tanzu w planie Enterprise, uruchom następujące zapytanie:
AppPlatformSystemLogs
| where LogType == "ApplicationConfigurationService"
| project TimeGenerated , LogType, Level , ServiceName , Thread , Stack , Log , _ResourceId
| limit 100
Pokaż dzienniki rejestru usługi Tanzu w planie enterprise
Aby przejrzeć wpisy dzienników usługi rejestru Tanzu w planie Enterprise, uruchom następujące zapytanie:
AppPlatformSystemLogs
| where LogType == "ServiceRegistry"
| project TimeGenerated , LogType, Level , ServiceName , Thread , Stack , Log , _ResourceId
| limit 100
Pokaż portal interfejsu API dla dzienników programu VMware Tanzu w planie Enterprise
Aby przejrzeć wpisy dziennika dla portalu API VMware Tanzu w planie Enterprise, uruchom następujące zapytanie:
AppPlatformSystemLogs
| where LogType == "ApiPortal"
| project TimeGenerated , LogType, Level , ServiceName , Thread , Stack , Log , _ResourceId
| limit 100
Dowiedz się więcej na temat wykonywania zapytań dotyczących dzienników aplikacji
Usługa Azure Monitor zapewnia rozbudowaną obsługę wykonywania zapytań dotyczących dzienników aplikacji przy użyciu usługi Log Analytics. Aby dowiedzieć się więcej na temat tej usługi, zobacz Wprowadzenie do zapytań dzienników w usłudze Azure Monitor. Aby uzyskać więcej informacji na temat tworzenia zapytań do analizowania dzienników aplikacji, zobacz Omówienie zapytań dzienników w usłudze Azure Monitor.
Wygodne punkty wejścia w witrynie Azure Portal
Wykonaj następujące kroki, aby przejść do okienka usługi Log Analytics ze wstępnie zdefiniowanymi zapytaniami:
Przejdź do strony Przegląd wystąpienia usługi Azure Spring Apps, a następnie wybierz Aplikacje w panelu nawigacyjnym.
Znajdź aplikację docelową, a następnie wybierz menu kontekstowe.
W wyskakującym menu kontekstowym wybierz pozycję Wyświetl dzienniki.
Ta akcja powoduje przejście do okienka usługi Log Analytics ze wstępnie zdefiniowanymi zapytaniami.
Istnieją inne punkty wejścia do wyświetlania dzienników. Możesz również znaleźć przycisk Wyświetl dzienniki dla składników zarządzanych, takich jak Build Service i Service Registry.
Często zadawane pytania
Jak mogę zamienić wielowierszowe logi stosu Java na jedną linię?
Istnieje obejście umożliwiające przekonwertowanie śladów stosu z wieloma liniami na jedną linię. Możesz zmodyfikować wyjście dziennika Java, aby ponownie sformatować komunikaty śledzenia stosu, zastępując znaki nowego wiersza tokenem. Jeśli używasz biblioteki Java Logback, możesz ponownie sformatować komunikaty śledzenia stosu, dodając %replace(%ex){'[\r\n]+', '\\n'}%nopex
w następujący sposób:
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>
level: %level, message: "%logger{36}: %msg", exceptions: "%replace(%ex){'[\r\n]+', '\\n'}%nopex"%n
</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</configuration>
Następnie możesz zastąpić token znakami nowego wiersza w narzędziu Log Analytics, jak pokazano w poniższym przykładzie.
AppPlatformLogsforSpring
| extend Log = array_strcat(split(Log, '\\n'), '\n')
Możesz użyć tej samej strategii dla innych bibliotek dzienników Języka Java.