Logboeken bewaken in Azure Container Apps met Log Analytics
Azure Container Apps is geïntegreerd met Azure Monitor Log Analytics om de logboeken van uw container-app te bewaken en te analyseren. Wanneer deze optie is geselecteerd als uw oplossing voor logboekbewaking, bevat uw Container Apps-omgeving een Log Analytics-werkruimte die een gemeenschappelijke plek biedt voor het opslaan van het systeem- en toepassingslogboekgegevens van alle container-apps die in de omgeving worden uitgevoerd.
Logboekvermeldingen zijn toegankelijk door query's uit te voeren op Log Analytics-tabellen via Azure Portal of een opdrachtshell met behulp van de Azure CLI.
Er zijn twee soorten logboeken voor Container Apps.
- Consolelogboeken, die worden verzonden door uw app.
- Systeemlogboeken die worden verzonden door de Container Apps-service.
Systeemlogboeken
De Container Apps-service biedt systeemlogboekberichten op het niveau van de container-app. Systeemlogboeken verzenden de volgende berichten:
Bron | Type | Bericht |
---|---|---|
Dapr | Info | De componentnaam> van het dapr-onderdeel <is gemaakt met bereik <dapr-component-scope> |
Dapr | Info | De componentnaam> van het dapr-onderdeel <is bijgewerkt met het onderdeeltype Bereik <> |
Dapr | Error | Fout bij het maken van een dapr-onderdeelonderdeelnaam <> |
Volumekoppelingen | Info | Volumenaam <> gekoppeld voor revisierevisiebereik <> |
Volumekoppelingen | Error | Fout bij het koppelen van volumevolumenaam <> |
Domeinbinding | Info | Domeindomein <> is gebonden aan de container-app-naam van de container-app <> |
Verificatie | Info | Verificatie ingeschakeld voor de app. Verificatieconfiguratie maken |
Verificatie | Info | De verificatieconfiguratie is gemaakt |
Verkeersgewicht | Info | Een verkeersgewicht van <percentage> instellen voor revisierevisienaam <\> |
Revisieinrichting | Info | Een nieuwe revisie maken: <revisienaam> |
Revisieinrichting | Info | De naam van de revisie <is ingericht> |
Revisieinrichting | Info | Oude revisies deactiveren sinds 'ActiveRevisionsMode=Single' |
Revisieinrichting | Error | Fout bij het inrichten van revisierevisienaam<>. ErrorCode: <[ErrImagePull]|[ Time-out]|[ContainerCrashing]> |
De systeemlogboekgegevens zijn toegankelijk door een query uit te voeren op de ContainerAppSystemLogs_CL
tabel. De meest gebruikte Container Apps-specifieke kolommen in de tabel zijn:
Kolom | Beschrijving |
---|---|
ContainerAppName_s |
Naam container-app |
EnvironmentName_s |
Naam container-apps-omgeving |
Log_s |
Logboekbericht |
RevisionName_s |
Revisienaam |
Consolelogboeken
Consolelogboeken zijn afkomstig van de stderr
en stdout
berichten van de containers in uw container-app en Dapr-sidecars. U kunt consolelogboeken bekijken door een query uit te voeren op de ContainerAppConsoleLogs_CL
tabel.
Tip
Het instrumenteren van uw code met goed gedefinieerde logboekberichten kan u helpen inzicht te verkrijgen in hoe uw code presteert en om problemen op te sporen. Raadpleeg Ontwerp voor bewerkingen voor meer informatie over aanbevolen procedures.
De meestgebruikte Container Apps-specifieke kolommen in ContainerAppConsoleLogs_CL zijn:
Kolom | Beschrijving |
---|---|
ContainerAppName_s |
Naam container-app |
ContainerGroupName_g |
Replicanaam |
ContainerId_s |
Container-id |
ContainerImage_s |
Naam containerinstallatiekopieën |
EnvironmentName_s |
Naam container-apps-omgeving |
Log_s |
Logboekbericht |
RevisionName_s |
Revisienaam |
Querylogboek met Log Analytics
Log Analytics is een hulpprogramma in Azure Portal dat u kunt gebruiken om logboekgegevens weer te geven en te analyseren. Met Log Analytics kunt u Kusto-query's schrijven en de resultaten vervolgens sorteren, filteren en visualiseren in grafieken om trends te herkennen en problemen te identificeren. U kunt interactief werken met de queryresultaten of deze gebruiken met andere functies, zoals waarschuwingen, dashboards en werkmappen.
Azure Portal
Start Log Analytics vanuit Logboeken in het zijbalkmenu op de pagina van uw container-app. U kunt Log Analytics ook starten vanuit Logboeken bewaken>.
U kunt query's uitvoeren op de logboeken met behulp van de tabellen die worden vermeld op het tabblad Tabellen van de categorie CustomLogs. De tabellen in deze categorie zijn de ContainerAppSystemlogs_CL
tabellen en ContainerAppConsoleLogs_CL
tabellen.
Hieronder ziet u een Kusto-query waarin consolelogboekvermeldingen worden weergegeven voor de container-app met de naam 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
Hieronder ziet u een Kusto-query waarin systeemlogboekvermeldingen worden weergegeven voor de container-app met de naam 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
Zie de zelfstudie log analytics voor meer informatie over Log Analytics en logboekquery's.
Azure CLI/PowerShell
Container Apps-logboeken kunnen worden opgevraagd met behulp van de Azure CLI.
Met deze Azure CLI-query's wordt een tabel uitgevoerd met logboekrecords voor de album-API van de container-app. De tabelkolommen worden opgegeven door de parameters na de project
operator. De $WORKSPACE_CUSTOMER_ID
variabele bevat de GUID van de Log Analytics-werkruimte.
In dit voorbeeld wordt een query uitgevoerd op de ContainerAppConsoleLogs_CL
tabel:
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
In dit voorbeeld wordt een query uitgevoerd op de ContainerAppSystemLogs_CL
tabel:
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