Monitorování aplikace v Azure Container Apps Preview
Azure Container Apps shromažďuje širokou škálu dat o vaší aplikaci typu kontejner a ukládá je pomocí Log Analytics. Tento článek popisuje dostupné protokoly a způsob zápisu a zobrazení protokolů.
Zápis do protokolu
Když zapisujete do streamů standardního výstupu (stdout) nebo standardní chyby (stderr),agenti protokolování Container Apps zapíšou protokoly pro každou zprávu.
Při protokolování zprávy se v tabulce protokolů shromáždí následující informace:
| Vlastnost | Poznámky |
|---|---|
RevisionName |
|
ContainerAppName |
|
ContainerGroupID |
|
ContainerGroupName |
|
ContainerImage |
|
ContainerID |
Jedinečný identifikátor kontejneru. Tuto hodnotu můžete použít k identifikaci selhání kontejneru. |
Stream |
Ukazuje, stdout jestli se k protokolování používá nebo stderr . |
EnvironmentName |
Jednoduchý text vs. strukturovaná data
Můžete protokolovat jeden textový řetězec nebo řádek serializovaných dat JSON. Informace se zobrazují různě v závislosti na typu dat, která se protokolují.
| Datový typ | Popis |
|---|---|
| Jeden řádek textu | Ve sloupci se Log_s zobrazí text. |
| Serializovaný JSON | Data se analyzují agentem protokolování a zobrazují se ve sloupcích, které odpovídají názvům vlastností objektu JSON. |
Zobrazení protokolů
Data protokolovaná prostřednictvím aplikace kontejneru se ukládají ve ContainerAppConsoleLogs_CL vlastní tabulce v pracovním prostoru služby Log Analytics. Protokoly můžete zobrazit prostřednictvím Azure Portal nebo pomocí rozhraní příkazového řádku.
Nastavte název skupiny prostředků a pracovního prostoru služby Log Analytics a pak pomocí LOG_ANALYTICS_WORKSPACE_CLIENT_ID následujících příkazů načtěte .
RESOURCE_GROUP="my-containerapps"
LOG_ANALYTICS_WORKSPACE="containerapps-logs"
LOG_ANALYTICS_WORKSPACE_CLIENT_ID=`az monitor log-analytics workspace show --query customerId -g $RESOURCE_GROUP -n $LOG_ANALYTICS_WORKSPACE --out tsv`
K zobrazení protokolů na příkazovém řádku použijte následující příkaz rozhraní příkazového řádku.
az monitor log-analytics query \
--workspace $LOG_ANALYTICS_WORKSPACE_CLIENT_ID \
--analytics-query "ContainerAppConsoleLogs_CL | where ContainerAppName_s == 'my-container-app' | project ContainerAppName_s, Log_s, TimeGenerated | take 3" \
--out table
Následující výstup ukazuje typ odpovědi, která se má očekávat od příkazu rozhraní příkazového řádku.
ContainerAppName_s Log_s TableName TimeGenerated
-------------------- -------------------- ------------- ------------------------
my-container-app listening on port 80 PrimaryResult 2021-10-23T02:09:00.168Z
my-container-app listening on port 80 PrimaryResult 2021-10-23T02:11:36.197Z
my-container-app listening on port 80 PrimaryResult 2021-10-23T02:11:43.171Z