Naplók és metrikák elemzése diagnosztikai beállításokkal
Feljegyzés
Az Alapszintű, a Standard és a Nagyvállalati csomag 2025. március közepétől megszűnik, 3 éves nyugdíjazási időszakkal. Javasoljuk, hogy váltson az Azure Container Appsre. További információkért lásd az Azure Spring Apps kivonási bejelentését.
A standard felhasználás és a dedikált csomag 2024. szeptember 30-tól megszűnik, hat hónap után pedig teljes leállítással. Javasoljuk, hogy váltson az Azure Container Appsre. További információ: Azure Spring Apps Standard-használat migrálása és dedikált csomag az Azure Container Appsbe.
Ez a cikk a következőre vonatkozik:✅ Java ✅ C#
Ez a cikk a következőre vonatkozik:✅ Basic/Standard ✅ Enterprise
Ez a cikk bemutatja, hogyan elemezheti a diagnosztikai adatokat az Azure Spring Appsben.
Az Azure Spring Apps diagnosztikai funkcióinak használatával a naplókat és metrikákat az alábbi szolgáltatások bármelyikével elemezheti:
- Használja az Azure Log Analyticst. A naplók Log Analyticsbe való exportálása késik.
- Naplókat menthet egy tárfiókba naplózás vagy manuális ellenőrzés céljából. Megadhatja a megőrzési időt (napokban).
- Naplókat streamelhet az eseményközpontba egy külső szolgáltatás vagy egyéni elemzési megoldás általi betöltés céljából.
Válassza ki a figyelni kívánt naplókategóriát és metrikakategóriát.
Tipp.
Ha csak a naplókat szeretné streamelni, használhatja az Azure CLI az spring app logs parancsát.
Naplók
Napló | Leírás |
---|---|
ApplicationConsole | Az összes ügyfélalkalmazás konzolnaplója. |
SystemLogs | A rendelkezésre álló LogType értékek ( ConfigServer csak alapszintű/standard), ServiceRegistry (minden csomag), ApiPortal (csak vállalati csomag), ApplicationConfigurationService (csak vállalati csomag), SpringCloudGateway (csak vállalati csomag) és SpringCloudGatewayOperator (csak vállalati csomag esetén) |
Bejövő forgalomnaplók | Az ügyfél összes alkalmazásának bejövő naplói , csak a hozzáférési naplók. |
Buildlogs | Az egyes buildelési fázisokhoz tartozó összes ügyfélalkalmazás naplóinak összeállítása. |
Feljegyzés
Annak érdekében, hogy megvédje az alkalmazást a lehetséges hitelesítő adatok kiszivárgásától, a rendszer maszkolja az összes hitelesítő adatot vagy más bizalmas információt tartalmazó ***
naplótartalmakat. A rendszer például az alábbi mintákkal rendelkező naplótartalmakat bizalmas információként kezeli, a megfelelő értékeket pedig maszkolja:
-
dbpass
,password
,key
,secret
,sig
éssignature
utána:
vagy=
. Ezek a minták általában URL-paraméterekben és hasznos adatképekben jelennek meg. Például: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=xxxxxxxxxxxxxx
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=***
- JWT-jogkivonat-szerű kódolt sztringek a következő formátumban:
eyJxxxxxx.eyJxxxxxx
Ha maszkolt értékeket talál a naplókban, mindenképpen frissítse az alkalmazáskódot a hitelesítő adatok szivárgásának elkerülése érdekében.
Mérőszámok
A metrikák teljes listáját az Azure Spring Apps metrikáinak Felhasználói metrikák beállítási szakaszában találja.
Első lépésként engedélyezze ezen szolgáltatások egyikének az adatok fogadását. A Log Analytics konfigurálásával kapcsolatos további információkért tekintse meg a Log Analytics használatának első lépéseit az Azure Monitorban.
Diagnosztikai beállítások konfigurálása
Az Azure Portalon nyissa meg az Azure Spring Apps-példányt.
Válassza a Diagnosztikai beállítások lehetőséget , majd válassza a Diagnosztikai beállítások hozzáadása lehetőséget.
Adja meg a beállítás nevét, majd adja meg, hogy hová szeretné elküldeni a naplókat. A következő lehetőségek bármelyikét választhatja:
- Archiválás tárfiókba
- Streamelés eseményközpontba
- Küldés a Log Analyticsnek
- Küldés partnermegoldásnak
Válassza ki a figyelni kívánt naplókategóriát és metrikakategóriát, majd adja meg a megőrzési időt (napokban). A megőrzési idő csak a tárfiókra vonatkozik.
Válassza a Mentés parancsot.
Feljegyzés
A naplók vagy metrikák kibocsátása és a tárfiókban, az eseményközpontban vagy a Log Analyticsben való megjelenésük között akár 15 perc is lehet. Ha az Azure Spring Apps-példányt törölték vagy áthelyezték, a művelet nem kaszkádolt a diagnosztikai beállítások erőforrásaira. A diagnosztikai beállítások erőforrásait manuálisan kell törölni, mielőtt a művelet a szülője, az Azure Spring Apps-példány ellen fut. Ellenkező esetben, ha egy új Azure Spring Apps-példány ki van építve ugyanazzal az erőforrás-azonosítóval, mint a törölt, vagy ha az Azure Spring Apps-példány vissza lett helyezve, a korábbi diagnosztikai beállítások erőforrásai tovább bővítik azt.
Naplók és metrikák megtekintése
A naplók és metrikák megtekintésének különböző módjai vannak az alábbi címsorokban leírtak szerint.
A Naplók panel használata
Az Azure Portalon nyissa meg az Azure Spring Apps-példányt.
A Naplókeresés panel megnyitásához válassza a Naplók lehetőséget.
A Táblák keresőmezőben használja az alábbi lekérdezések egyikét:
A naplók megtekintéséhez írjon be egy lekérdezést, például a következő példát:
AppPlatformLogsforSpring | limit 50
A metrikák megtekintéséhez adjon meg egy lekérdezést, például a következő példát:
AzureMetrics | limit 50
A keresési eredmény megtekintéséhez válassza a Futtatás lehetőséget.
A Log Analytics használata
Az Azure Portal bal oldali ablaktábláján válassza a Log Analytics lehetőséget.
Válassza ki a diagnosztikai beállítások hozzáadásakor kiválasztott Log Analytics-munkaterületet.
A Naplókeresés panel megnyitásához válassza a Naplók lehetőséget.
A Táblák keresőmezőben használja az alábbi lekérdezések egyikét:
A naplók megtekintéséhez írjon be egy lekérdezést, például a következő példát:
AppPlatformLogsforSpring | limit 50
A metrikák megtekintéséhez adjon meg egy lekérdezést, például a következő példát:
AzureMetrics | limit 50
A keresési eredmény megtekintéséhez válassza a Futtatás lehetőséget.
Az adott alkalmazás vagy példány naplóiban egy szűrőfeltétel beállításával kereshet, ahogyan az alábbi példában látható:
AppPlatformLogsforSpring | where ServiceName == "YourServiceName" and AppName == "YourAppName" and InstanceName == "YourInstanceName" | limit 50
Feljegyzés
==
a kis- és nagybetűk megkülönböztetése, de=~
nem.
A Log Analyticsben használt lekérdezési nyelvről további információt az Azure Monitor napló lekérdezései című témakörben talál. Ha egy központi ügyféltől szeretné lekérdezni az összes Log Analytics-naplót, tekintse meg az Azure Data Explorert.
A tárfiók használata
- Az Azure Portalon keresse meg a Storage-fiókokat a bal oldali navigációs panelen vagy keresőmezőben.
- Válassza ki a diagnosztikai beállítások hozzáadásakor kiválasztott tárfiókot.
- A Blob Container panel megnyitásához válassza a Blobok lehetőséget.
- Az alkalmazásnaplók áttekintéséhez keressen egy insights-logs-applicationconsole nevű tárolót.
- Az alkalmazásmetrikák áttekintéséhez keressen egy insights-metrics-pt1m nevű tárolót.
A diagnosztikai adatok tárfiókba való küldésével kapcsolatos további információkért lásd : Diagnosztikai adatok tárolása és megtekintése az Azure Storage-ban.
Az eseményközpont használata
Az Azure Portalon keresse meg az Event Hubsot a bal oldali navigációs panelen vagy keresőmezőben.
Keresse meg és válassza ki azt az eseményközpontot, amelyet a diagnosztikai beállítások hozzáadásakor választott.
Az Event Hub Lista panel megnyitásához válassza az Event Hubs lehetőséget.
Az alkalmazásnaplók áttekintéséhez keressen egy insights-logs-applicationconsole nevű eseményközpontot.
Az alkalmazásmetrikák áttekintéséhez keressen egy insights-metrics-pt1m nevű eseményközpontot.
Ha többet szeretne tudni a diagnosztikai adatok eseményközpontba való küldéséről, tekintse meg az Azure Diagnostics-adatok streamelését a gyakori elérésű útvonalon az Event Hubs használatával.
Naplók elemzése
Az Azure Log Analytics egy Kusto-motorral fut, így lekérdezheti a naplókat elemzés céljából. A naplók Kusto használatával történő lekérdezésének gyors bemutatásához tekintse át a Log Analytics-oktatóanyagot.
Az alkalmazásnaplók kritikus információkat és részletes naplókat tartalmaznak az alkalmazás állapotáról, teljesítményéről és egyebekről. A következő szakaszokban néhány egyszerű lekérdezést találhat, amelyek segítenek megérteni az alkalmazás aktuális és korábbi állapotát.
Alkalmazásnaplók megjelenítése az Azure Spring Appsből
Ha az Azure Spring Apps alkalmazásnaplóinak listáját szeretné áttekinteni, idő szerint rendezve a legutóbbi naplókkal, futtassa a következő lekérdezést:
AppPlatformLogsforSpring
| project TimeGenerated , ServiceName , AppName , InstanceName , Log
| sort by TimeGenerated desc
Hibákat vagy kivételeket tartalmazó naplóbejegyzések megjelenítése
Ha egy hibát vagy kivételt említő nem válogatott naplóbejegyzéseket szeretne áttekinteni, futtassa a következő lekérdezést:
AppPlatformLogsforSpring
| project TimeGenerated , ServiceName , AppName , InstanceName , Log
| where Log contains "error" or Log contains "exception"
Ezzel a lekérdezésrel hibákat kereshet, vagy módosíthatja a lekérdezési kifejezéseket adott hibakódok vagy kivételek megkereséséhez.
Az alkalmazás által az elmúlt egy órában jelentett hibák és kivételek számának megjelenítése
Ha olyan kördiagramot szeretne létrehozni, amely megjeleníti az alkalmazás által az elmúlt órában naplózott hibák és kivételek számát, futtassa a következő lekérdezést:
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
Adott gazdagépet tartalmazó bejövő naplóbejegyzések megjelenítése
Egy adott gazdagép által létrehozott naplóbejegyzések áttekintéséhez futtassa a következő lekérdezést:
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
Ezzel a lekérdezésrel megkeresheti az adott gazdagép bejövő naplóinak válaszát Status
RequestTime
és egyéb tulajdonságait.
Adott requestId bejövő naplóbejegyzéseinek megjelenítése
Egy adott requestId
érték <request_ID>
naplóbejegyzéseinek áttekintéséhez futtassa a következő lekérdezést:
AppPlatformIngressLogs
| where TimeGenerated > ago(1h) and ReqId == "<request_ID>"
| project TimeGenerated, RemoteIP, Host, Request, Status, BodyBytesSent, RequestTime, ReqId, RequestHeaders
| sort by TimeGenerated
Adott alkalmazás buildnapló-bejegyzéseinek megjelenítése
Ha egy adott alkalmazás naplóbejegyzéseit szeretné áttekinteni a buildelési folyamat során, futtassa a következő lekérdezést:
AppPlatformBuildLogs
| where TimeGenerated > ago(1h) and PodName contains "<app-name>"
| sort by TimeGenerated
Adott alkalmazás buildnapló-bejegyzéseinek megjelenítése egy adott buildelési szakaszban
Ha egy adott alkalmazás naplóbejegyzéseit szeretné áttekinteni egy adott buildelési szakaszban, futtassa az alábbi lekérdezést. Cserélje le a <app-name>
helyőrzőt az alkalmazás nevére. Cserélje le a <build-stage>
helyőrzőt a következő értékek egyikére, amelyek a buildelési folyamat szakaszait jelölik: prepare
, , detect
, restore
analyze
, build
, export
vagy completion
.
AppPlatformBuildLogs
| where TimeGenerated > ago(1h) and PodName contains "<app-name>" and ContainerName == "<build-stage>"
| sort by TimeGenerated
VMware Spring Cloud Gateway-naplók megjelenítése a Vállalati csomagban
A VMware Spring Cloud Gateway-naplók vállalati csomagban lévő naplóbejegyzéseinek áttekintéséhez futtassa a következő lekérdezést:
AppPlatformSystemLogs
| where LogType == "SpringCloudGateway"
| project TimeGenerated , LogType, Level , ServiceName , Thread , Stack , Log , _ResourceId
| limit 100
Egy másik, Spring Cloud Gateway-operátor nevű összetevő szabályozza a Spring Cloud Gateway és az útvonalak életciklusát. Ha az útvonal nem érvénybe lépésével kapcsolatos problémákat tapasztal, ellenőrizze az összetevő naplóit. A VMware Spring Cloud Gateway-operátor vállalati csomagbeli naplóbejegyzéseinek áttekintéséhez futtassa a következő lekérdezést:
AppPlatformSystemLogs
| where LogType == "SpringCloudGatewayOperator"
| project TimeGenerated , LogType, Level , ServiceName , Thread , Stack , Log , _ResourceId
| limit 100
Tanzu-naplók alkalmazáskonfigurációs szolgáltatásának megjelenítése a Vállalati csomagban
A Tanzu-naplókhoz készült Application Configuration Service naplóbejegyzéseinek áttekintéséhez futtassa a következő lekérdezést:
AppPlatformSystemLogs
| where LogType == "ApplicationConfigurationService"
| project TimeGenerated , LogType, Level , ServiceName , Thread , Stack , Log , _ResourceId
| limit 100
Tanzu szolgáltatásregisztrációs naplók megjelenítése a Vállalati csomagban
A Tanzu Szolgáltatásregisztrációs adatbázis nagyvállalati csomagban lévő naplóbejegyzéseinek áttekintéséhez futtassa a következő lekérdezést:
AppPlatformSystemLogs
| where LogType == "ServiceRegistry"
| project TimeGenerated , LogType, Level , ServiceName , Thread , Stack , Log , _ResourceId
| limit 100
VMware Tanzu-naplók API-portáljának megjelenítése az Enterprise-csomagban
A VMware Tanzu-naplókhoz készült API Portal naplóbejegyzéseinek áttekintéséhez futtassa a következő lekérdezést:
AppPlatformSystemLogs
| where LogType == "ApiPortal"
| project TimeGenerated , LogType, Level , ServiceName , Thread , Stack , Log , _ResourceId
| limit 100
További információ az alkalmazásnaplók lekérdezéséről
Az Azure Monitor széles körű támogatást nyújt az alkalmazásnaplók Log Analytics használatával történő lekérdezéséhez. A szolgáltatással kapcsolatos további információkért tekintse meg a napló-lekérdezések első lépéseit az Azure Monitorban. Az alkalmazásnaplók elemzéséhez szükséges lekérdezések készítéséről további információt az Azure Monitor napló lekérdezéseinek áttekintése című témakörben talál.
Kényelmes belépési pontok az Azure Portalon
Az alábbi lépésekkel előre definiált lekérdezésekkel navigálhat a Log Analytics panelre:
Nyissa meg az Azure Spring Apps szolgáltatáspéldány áttekintési lapját, majd válassza az Alkalmazások lehetőséget a navigációs panelen.
Keresse meg a célalkalmazást, majd válassza a helyi menüt.
Az előugró helyi menüben válassza a Naplók megtekintése lehetőséget.
Ez a művelet előre definiált lekérdezésekkel navigál a Log Analytics panelre.
A naplók megtekintéséhez más belépési pontok is rendelkezésre állnak. A felügyelt összetevők, például a Build Service és a Service Registry nézetnaplóinak gombja is megtalálható.
Gyakori kérdések (GYIK)
Hogyan többsoros Java-verem nyomkövetését egyetlen sorba konvertálni?
Van egy áthidaló megoldás a többsoros verem nyomkövetésének egyetlen vonallá alakításához. A Java-napló kimenetét módosíthatja úgy, hogy újraformálja a verem nyomkövetési üzeneteit, és az új karaktereket jogkivonatra cserélje. Ha Java Logback-kódtárat használ, újraformálhatja a verem nyomkövetési üzeneteit a %replace(%ex){'[\r\n]+', '\\n'}%nopex
következőképpen:
<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>
A jogkivonatot ezután lecserélheti új karakterekkel a Log Analyticsben, ahogyan az a következő példában látható:
AppPlatformLogsforSpring
| extend Log = array_strcat(split(Log, '\\n'), '\n')
Előfordulhat, hogy ugyanezt a stratégiát más Java-naplótárakhoz is használhatja.