Analysera loggar och mått med diagnostikinställningar
Den här artikeln gäller för: ✔️ Java ✔️ C #
Med diagnostikfunktionen i Azure Spring Cloud kan du analysera loggar och mått med någon av följande tjänster:
- Använd Azure Log Analytics, där data skrivs till Azure Storage. Det finns en fördröjning när du exporterar loggar till Log Analytics.
- Spara loggar till ett lagringskonto för granskning eller manuell granskning. Du kan ange kvarhållningstiden (i dagar).
- Strömma loggar till din händelsehubb för inmatning av en tjänst från tredje part eller en anpassad analyslösning.
Välj den loggkategori och måttkategori som du vill övervaka.
Tips
Vill du bara strömma loggarna? Kolla in det här Azure CLI-kommandot!
Loggar
| Loggas | Description |
|---|---|
| ApplicationConsole | Konsollogg för alla kundprogram. |
| SystemLogs | För närvarande finns endast Spring Cloud Config Server i den här kategorin. |
| IngressLogs | Ingressloggar för alla kundens program, får endast åtkomst till loggar. |
Mått
En fullständig lista över mått finns i Spring Cloud Mått.
Kom igång genom att aktivera en av dessa tjänster för att ta emot data. Mer information om hur du konfigurerar Log Analytics finns i Kom igång med Log Analytics i Azure Monitor.
Konfigurera diagnostikinställningar
I Azure Portal du till din Azure Spring Cloud instans.
Välj alternativet Diagnostikinställningar och välj sedan Lägg till diagnostikinställning.
Ange ett namn för inställningen och välj sedan var du vill skicka loggarna. Du kan välja valfri kombination av följande tre alternativ:
- Arkivera till ett lagringskonto
- Strömma till en händelsehubb
- Skicka till Log Analytics
Välj vilken loggkategori och måttkategori du vill övervaka och ange sedan kvarhållningstiden (i dagar). Kvarhållningstiden gäller endast för lagringskontot.
Välj Spara.
Anteckning
- Det kan finnas en lucka på upp till 15 minuter mellan när loggar eller mått genereras och när de visas i ditt lagringskonto, din händelsehubb eller Log Analytics.
- Om Azure Spring Cloud instansen tas bort eller flyttas kommer åtgärden inte att vidareföras till resurserna för diagnostikinställningar. Resurserna för diagnostikinställningar måste tas bort manuellt innan åtgärden utförs mot dess överordnade instans, Azure Spring Cloud instansen. Om en ny Azure Spring Cloud-instans etableras med samma resurs-ID som den borttagna, eller om Azure Spring Cloud-instansen flyttas tillbaka, fortsätter de tidigare diagnostikinställningsresurserna att utöka den.
Visa loggar och mått
Det finns olika metoder för att visa loggar och mått enligt beskrivningen i följande rubriker.
Använda bladet Loggar
I Azure Portal du till din Azure Spring Cloud instans.
Öppna fönstret Loggsökning genom att välja Loggar.
I sökrutan Tabeller
- Om du vill visa loggar anger du en enkel fråga, till exempel:
AppPlatformLogsforSpring | limit 50- Om du vill visa mått anger du en enkel fråga, till exempel:
AzureMetrics | limit 50Om du vill visa sökresultatet väljer du Kör.
Använda Log Analytics
I Azure Portal väljer du Log Analytics i den vänstra rutan.
Välj den Log Analytics-arbetsyta som du valde när du lade till diagnostikinställningarna.
Öppna fönstret Loggsökning genom att välja Loggar.
I sökrutan Tabeller
- om du vill visa loggar anger du en enkel fråga, till exempel:
AppPlatformLogsforSpring | limit 50- om du vill visa mått anger du en enkel fråga, till exempel:
AzureMetrics | limit 50Om du vill visa sökresultatet väljer du Kör.
Du kan söka i loggarna för det specifika programmet eller instansen genom att ange ett filtervillkor:
AppPlatformLogsforSpring | where ServiceName == "YourServiceName" and AppName == "YourAppName" and InstanceName == "YourInstanceName" | limit 50Anteckning
==är fallkänsligt, men=~det är det inte.
Mer information om frågespråket som används i Log Analytics finns i Azure Monitor och loggfrågor. Om du vill fråga efter alla Log Analytics-loggar från en centraliserad klient kan du läsa Azure Data Explorer.
Använda ditt lagringskonto
- I rutan Azure Portal du efter Storage konton i den vänstra navigeringspanelen eller i sökrutan.
- Välj det lagringskonto som du valde när du lade till diagnostikinställningarna.
- Öppna fönstret Blobcontainer genom att välja Blobar.
- Om du vill granska programloggar söker du efter en container med namnet insights-logs-applicationconsole.
- Om du vill granska programmått söker du efter en container med namnet insights-metrics-pt1m.
Mer information om hur du skickar diagnostikinformation till ett lagringskonto finns i Lagra och visa diagnostikdata i Azure Storage.
Använda din händelsehubb
I rutan Azure Portal du Event Hubs i den vänstra navigeringspanelen eller sökrutan.
Sök efter och välj den händelsehubb som du valde när du lade till diagnostikinställningarna.
Öppna fönstret Händelsehubblista genom att välja Event Hubs.
Om du vill granska programloggar söker du efter en händelsehubb med namnet insights-logs-applicationconsole.
Om du vill granska programmått söker du efter en händelsehubb med namnet insights-metrics-pt1m.
Mer information om hur du skickar diagnostikinformation till en händelsehubb finns i Strömma Azure Diagnostics data i den heta sökvägen med hjälp av Event Hubs.
Analysera loggarna
Azure Log Analytics körs med en Kusto-motor så att du kan köra frågor mot loggarna för analys. En snabb introduktion till att köra frågor mot loggar med hjälp av Kusto finns i Log Analytics-självstudien.
Programloggar ger viktig information och utförliga loggar om programmets hälsa, prestanda med mera. I nästa avsnitt finns några enkla frågor som hjälper dig att förstå programmets aktuella och tidigare tillstånd.
Visa programloggar från Azure Spring Cloud
Om du vill granska en lista med programloggar från Azure Spring Cloud, sorterade efter tid med de senaste loggarna som visas först, kör du följande fråga:
AppPlatformLogsforSpring
| project TimeGenerated , ServiceName , AppName , InstanceName , Log
| sort by TimeGenerated desc
Visa loggposter som innehåller fel eller undantag
Om du vill granska osorterade loggposter som nämner ett fel eller undantag kör du följande fråga:
AppPlatformLogsforSpring
| project TimeGenerated , ServiceName , AppName , InstanceName , Log
| where Log contains "error" or Log contains "exception"
Använd den här frågan för att hitta fel eller ändra frågevillkoren för att hitta specifika felkoder eller undantag.
Visa antalet fel och undantag som rapporterats av ditt program under den senaste timmen
Om du vill skapa ett cirkeldiagram som visar antalet fel och undantag som loggats av ditt program under den senaste timmen kör du följande fråga:
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
Visa ingressloggposter som innehåller en specifik värd
Om du vill granska loggposter som genereras av en specifik värd kör du följande fråga:
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
Använd den här frågan för att Status hitta svar , och andra egenskaper för den här RequestTime värdens ingressloggar.
Visa ingressloggposter för ett specifikt requestId
Om du vill granska loggposter för ett requestId visst värde kör du följande <request_ID> fråga:
AppPlatformIngressLogs
| where TimeGenerated > ago(1h) and ReqId == "<request_ID>"
| project TimeGenerated, RemoteIP, Host, Request, Status, BodyBytesSent, RequestTime, ReqId, RequestHeaders
| sort by TimeGenerated
Läs mer om att köra frågor mot programloggar
Azure Monitor har omfattande stöd för att köra frågor mot programloggar med hjälp av Log Analytics. Mer information om den här tjänsten finns i Kom igång med loggfrågor i Azure Monitor. Mer information om hur du skapar frågor för att analysera dina programloggar finns i Översikt över loggfrågor i Azure Monitor.
Vanliga frågor och svar (FAQ)
Hur gör jag för att du konvertera Java-stackspårningar med flera linjer till en enda rad?
Det finns en lösning för att konvertera dina spårningar av flerradsstackar till en enda rad. Du kan ändra Java-loggutdata för att formatera om stackspårningsmeddelanden och ersätta tecken på ny rad med en token. Om du använder Java Logback-biblioteket kan du formatera om stackspårningsmeddelanden genom att lägga %replace(%ex){'[\r\n]+', '\\n'}%nopex till följande:
<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>
Du kan sedan ersätta token med tecken på nyrad i Log Analytics enligt nedan:
AppPlatformLogsforSpring
| extend Log = array_strcat(split(Log, '\\n'), '\n')
Du kanske kan använda samma strategi för andra Java-loggbibliotek.