Ö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
.
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