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-portalen eller ett kommandogränssnitt med hjälp av Azure CLI.

Det finns två typer av loggar för Container Apps.

  • Konsolloggar som genereras av din app.
  • Systemloggar som genereras av Container Apps-tjänsten.

Systemloggar

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

Source Type Meddelande
Dapr Info Dapr-komponentens komponentnamn <> har skapats med omfånget <dapr-component-scope>
Dapr Info Dapr-komponentens komponentnamn <> har uppdaterats med omfångskomponenttyp <>
Dapr Fel Det gick inte att skapa dapr-komponentens <komponentnamn>
Volymmonteringar Info Volymnamnet> har monterats <för revisionsomfattning <>
Volymmonteringar Fel Fel vid montering av volymvolymnamn <>
Domänbindning Info Domändomänen <> har bundits till containerappens <appnamn>
Autentisering Info Autentisering aktiverat i appen. Skapa autentiseringskonfiguration
Autentisering Info Autentiseringskonfigurationen har skapats
Trafikvikt Info Ange en trafikvikt på <procent %> för revision <revision-name\>
Revisionsetablering Info Skapa en ny revision: <revision-name>
Revisionsetablering Info Revisionsnamn har etablerats <>
Revisionsetablering Info 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 Description
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 Description
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-portalen 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.

Screenshot of the Log Analytics custom log tables.

Nedan visas en Kusto-fråga som 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

Nedan visas en Kusto-fråga som 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. Tabellkolumnerna anges av parametrarna efter operatorn project . 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