Monitorování protokolů v Azure Container Apps pomocí Log Analytics
Služba Azure Container Apps je integrovaná se službou Azure Monitor Log Analytics, která monitoruje a analyzuje protokoly vaší aplikace kontejneru. Když jste jako řešení pro monitorování protokolů vybrali, prostředí Container Apps obsahuje pracovní prostor služby Log Analytics, který poskytuje společné místo pro ukládání dat protokolů systému a aplikací ze všech kontejnerových aplikací spuštěných v prostředí.
Položky protokolu jsou přístupné dotazováním tabulek Log Analytics prostřednictvím webu Azure Portal nebo příkazového prostředí pomocí Azure CLI.
Pro Container Apps existují dva typy protokolů.
- Protokoly konzoly, které vaše aplikace vygeneruje.
- Systémové protokoly, které jsou generovány službou Container Apps.
Systémové protokoly
Služba Container Apps poskytuje zprávy protokolu systému na úrovni aplikace kontejneru. Systémové protokoly generují následující zprávy:
Zdroj | Typ | Zpráva |
---|---|---|
Dapr | Informace | Úspěšně se vytvořil název> komponenty dapr komponenty <s oborem <dapr-component-scope> |
Dapr | Informace | Úspěšně aktualizován název> komponenty komponenty <dapr s oborem <component-type> |
Dapr | Chyba | Chyba při vytváření názvu komponenty dapr <> |
Připojení svazků | Informace | Úspěšně připojený <název> svazku svazku pro <obor revize revize> |
Připojení svazků | Chyba | Chyba při připojování názvu svazku <> |
Vazba domény | Informace | Doména úspěšně vázaná <> na název kontejnerové <aplikace kontejneru> |
Ověřování | Informace | Ověřování je povolené v aplikaci. Vytvoření konfigurace ověřování |
Ověřování | Informace | Konfigurace ověřování byla úspěšně vytvořena. |
Hmotnost provozu | Informace | Nastavení hmotnosti <provozu v procentech> pro <název revize\> |
Zřizování revizí | Informace | Vytvoření nové revize: <název revize> |
Zřizování revizí | Informace | Název úspěšně zřízené revize <> |
Zřizování revizí | Informace | Deaktivace starých revizí od ActiveRevisionsMode=Single |
Zřizování revizí | Chyba | Při zřizování revizí <>došlo k chybě. Kód chyby: <[ErrImagePull]|[ Časový limit]|[ContainerCrashing]> |
Data systémového protokolu jsou přístupná dotazováním tabulky ContainerAppSystemLogs_CL
. Nejčastěji používané sloupce specifické pro Container Apps v tabulce jsou:
Sloupec | Popis |
---|---|
ContainerAppName_s |
Název kontejnerové aplikace |
EnvironmentName_s |
Název prostředí Container Apps |
Log_s |
Zpráva protokolu |
RevisionName_s |
Název revize |
Protokoly konzoly
Protokoly konzoly pocházejí z stderr
stdout
kontejnerů v kontejnerové aplikaci a ze sajdkáře Dapr. Protokoly konzoly můžete zobrazit dotazováním tabulky ContainerAppConsoleLogs_CL
.
Tip
Instrumentace kódu pomocí dobře definovaných zpráv protokolu vám může pomoct pochopit, jak váš kód funguje, a ladit problémy. Další informace oosvědčených
Mezi nejčastěji používané sloupce specifické pro Container Apps v ContainerAppConsoleLogs_CL patří:
Sloupec | Popis |
---|---|
ContainerAppName_s |
Název kontejnerové aplikace |
ContainerGroupName_g |
Název repliky |
ContainerId_s |
Identifikátor kontejneru |
ContainerImage_s |
Název image kontejneru |
EnvironmentName_s |
Název prostředí Container Apps |
Log_s |
Zpráva protokolu |
RevisionName_s |
Název revize |
Dotazy na protokol s využitím analytiky protokolů
Log Analytics je nástroj na webu Azure Portal, který můžete použít k zobrazení a analýze dat protokolu. Pomocí Log Analytics můžete psát dotazy Kusto a pak řadit, filtrovat a vizualizovat výsledky v grafech, abyste zjistili trendy a identifikovali problémy. S výsledky dotazu můžete interaktivně pracovat nebo je používat s dalšími funkcemi, jako jsou upozornění, řídicí panely a sešity.
portál Azure
V nabídce bočního panelu na stránce aplikace kontejneru spusťte Log Analytics z protokolů . Log Analytics můžete spustit také z protokolů monitorování>.
Protokoly můžete dotazovat pomocí tabulek uvedených na kartě Tabulky kategorií CustomLogs. Tabulky v této kategorii jsou a ContainerAppSystemlogs_CL
ContainerAppConsoleLogs_CL
tabulky.
Níže je dotaz Kusto, který zobrazuje položky protokolu konzoly pro aplikaci kontejneru s názvem 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
Níže je dotaz Kusto, který zobrazuje položky systémového protokolu pro aplikaci kontejneru s názvem 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
Další informace týkající se Log Analytics a dotazů na protokoly najdete v kurzu služby Log Analytics.
Azure CLI / PowerShell
Protokoly Container Apps je možné dotazovat pomocí Azure CLI.
V tomto příkladu se Azure CLI dotazuje na výstup tabulky obsahující záznamy protokolu pro album-api aplikace kontejneru. Sloupce tabulky jsou určeny parametry za operátorem project
. Proměnná $WORKSPACE_CUSTOMER_ID
obsahuje identifikátor GUID pracovního prostoru služby Log Analytics.
Tento příklad dotazuje ContainerAppConsoleLogs_CL
tabulku:
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
Tento příklad dotazuje ContainerAppSystemLogs_CL
tabulku:
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