Dela via


Övervaka loggar i Azure Container Apps med Log Analytics

Azure Container Apps är integrerat med Azure Monitor Log Analytics för att övervaka och analysera containerappens loggar. När den väljs som loggövervakningslösning innehåller containerappmiljön en Log Analytics-arbetsyta som är en vanlig plats för att lagra system- och programloggdata från alla containerappar som körs i miljön.

Loggposter är tillgängliga genom att köra frågor mot Log Analytics-tabeller via Azure Portal eller ett kommandogränssnitt med hjälp av Azure CLI.

Azure Container Apps innehåller två typer av loggar som hjälper dig att övervaka och felsöka:

  • Konsolloggar: Programmet genererar dessa loggar.
  • Systemloggar: Container Apps-tjänsten genererar dessa loggar.

Systemloggar

Container Apps-tjänsten tillhandahåller systemloggmeddelanden på containerappsnivå. Systemloggar genererar följande meddelanden:

Källa Typ Meddelande
Dapr Dapr Information Dapr-komponentens komponentnamn <> har skapats med omfånget <dapr-component-scope>
Dapr Dapr Information Dapr-komponentens komponentnamn <> har uppdaterats med omfångskomponenttyp <>
Dapr Dapr Fel Det gick inte att skapa dapr-komponentens <komponentnamn>
Volymmonteringar Information Volymnamnet< har monterats >för revisionsomfattning <>
Volymmonteringar Fel Fel vid montering av volymvolymnamn <>
Domänbindning Information Domändomänen <> har bundits till containerappens <appnamn>
Autentisering Information Autentisering aktiverat i appen. Skapa autentiseringskonfiguration
Autentisering Information Autentiseringskonfigurationen har skapats
Trafikvikt Information Ange en trafikvikt på <procent %> för revision <revision-name\>
Revisionsetablering Information Skapa en ny revision: <revision-name>
Revisionsetablering Information Revisionsnamn har etablerats <>
Revisionsetablering Information Inaktivera gamla revisioner sedan "ActiveRevisionsMode=Single"
Revisionsetablering Fel Det gick inte att etablera revisionens <revisionsnamn>. ErrorCode: <[ErrImagePull]|[ Tidsgräns]|[ContainerCrashing]>

Systemloggdata är tillgängliga genom att köra frågor mot ContainerAppSystemLogs_CL tabellen. De mest använda Container Apps-specifika kolumnerna i tabellen är:

Kolumn beskrivning
ContainerAppName_s Namn på containerapp
EnvironmentName_s Miljönamn för Container Apps
Log_s Loggmeddelande
RevisionName_s Revisionsnamn

Konsolloggar

Konsolloggar kommer från stderr meddelandena och stdout från containrarna i containerappen och Dapr-sidovagnarna. Du kan visa konsolloggar genom att fråga tabellen ContainerAppConsoleLogs_CL .

Dricks

Genom att instrumentera koden med väldefinierade loggmeddelanden kan du förstå hur koden fungerar och felsöka problem. Mer information om metodtips finns i Design för åtgärder.

De vanligaste containerappsspecifika kolumnerna i ContainerAppConsoleLogs_CL är:

Kolumn beskrivning
ContainerAppName_s Namn på containerapp
ContainerGroupName_g Repliknamn
ContainerId_s Containeridentifierare
ContainerImage_s Containeravbildningsnamn
EnvironmentName_s Miljönamn för Container Apps
Log_s Loggmeddelande
RevisionName_s Revisionsnamn

Frågelogg med Log Analytics

Log Analytics är ett verktyg i Azure Portal som du kan använda för att visa och analysera loggdata. Med Log Analytics kan du skriva Kusto-frågor och sedan sortera, filtrera och visualisera resultaten i diagram för att upptäcka trender och identifiera problem. Du kan arbeta interaktivt med frågeresultaten eller använda dem med andra funktioner som aviseringar, instrumentpaneler och arbetsböcker.

Azure Portal

Starta Log Analytics från Loggar i sidomenyn på sidan för containerappen. Du kan också starta Log Analytics från Övervakningsloggar>.

Du kan köra frågor mot loggarna med hjälp av tabellerna som visas på fliken Tabeller i kategorin CustomLogs. Tabellerna i den här kategorin är tabellerna ContainerAppSystemlogs_CL ochContainerAppConsoleLogs_CL.

Skärmbild av log analytics anpassade loggtabeller.

Följande Kusto-fråga visar konsolloggposter för containerappen med namnet album-api.

ContainerAppConsoleLogs_CL
| where ContainerAppName_s == 'album-api'
| project Time=TimeGenerated, AppName=ContainerAppName_s, Revision=RevisionName_s, Container=ContainerName_s, Message=Log_s
| take 100

Följande Kusto-fråga visar systemloggposter för containerappen med namnet album-api.

ContainerAppSystemLogs_CL
| where ContainerAppName_s == 'album-api'
| project Time=TimeGenerated, EnvName=EnvironmentName_s, AppName=ContainerAppName_s, Revision=RevisionName_s, Message=Log_s
| take 100

Mer information om Log Analytics- och loggfrågor finns i Log Analytics-självstudien.

Azure CLI/PowerShell

Container Apps-loggar kan efterfrågas med hjälp av Azure CLI.

I det här exemplet matar Azure CLI-frågor ut en tabell som innehåller loggposter för containerappens namn album-api. Parametrarna efter operatorn project anger tabellkolumnerna. Variabeln $WORKSPACE_CUSTOMER_ID innehåller GUID för Log Analytics-arbetsytan.

Det här exemplet frågar tabellen ContainerAppConsoleLogs_CL :

az monitor log-analytics query --workspace $WORKSPACE_CUSTOMER_ID --analytics-query "ContainerAppConsoleLogs_CL | where ContainerAppName_s == 'album-api' | project Time=TimeGenerated, AppName=ContainerAppName_s, Revision=RevisionName_s, Container=ContainerName_s, Message=Log_s, LogLevel_s | take 5" --out table

Det här exemplet frågar tabellen ContainerAppSystemLogs_CL :

az monitor log-analytics query --workspace $WORKSPACE_CUSTOMER_ID --analytics-query "ContainerAppSystemLogs_CL | where ContainerAppName_s == 'album-api' | project Time=TimeGenerated, AppName=ContainerAppName_s, Revision=RevisionName_s, Message=Log_s, LogLevel_s | take 5" --out table

Nästa steg