Schéma protokolu Container Insights

Container Insights ukládá data protokolů, která shromažďuje, v tabulce s názvem ContainerLogV2. Tento článek popisuje schéma této tabulky a její porovnání a migraci ze starší tabulky ContainerLog .

Důležité

ContainerLogV2 bude výchozí schéma prostřednictvím objektu ConfigMap pro rozhraní příkazového řádku verze 2.54.0 a vyšší. ContainerLogV2 bude výchozím formátem příjmu dat pro zákazníky, kteří budou připojovat přehledy kontejnerů pomocí ověřování spravovaných identit pomocí ARM, Bicep, Terraformu, zásad a onboardingu portálu. ContainerLogV2 je možné explicitně povolit prostřednictvím rozhraní příkazového řádku verze 2.51.0 nebo vyšší pomocí nastavení shromažďování dat.

Podpora tabulky ContainerLog bude vyřazena 30. září 2026.

Porovnání tabulek

Následující tabulka uvádí hlavní rozdíly mezi používáním schématu ContainerLogV2 a ContainerLog.

Rozdíly ve funkcích ContainerLog ContainerLogV2
Schéma Podrobnosti v ContainerLogu Podrobnosti v ContainerLogV2.
Další sloupce jsou:
- ContainerName
- PodName
- PodNamespace.
Onboarding Konfigurovatelné pouze prostřednictvím objektu ConfigMap. Konfigurovatelné prostřednictvím objektu ConfigMap i DCR. 1
Ceny Kompatibilní pouze s protokoly analýzy s plnou cenou. Kromě analytických protokolů podporuje úroveň protokolů Basic s nízkými náklady.
Dotazování Vyžaduje více operací spojení s tabulkami inventáře pro standardní dotazy. Obsahuje další metadata podu a kontejneru, aby se snížila složitost dotazů a operace spojení.
Multiline Nepodporuje se, víceřádkové položky jsou rozdělené na více řádků. Podpora víceřádkového protokolování, které umožňuje konsolidované a jednoduché položky pro víceřádkový výstup.

Konfigurace 1DCR se nepodporuje pro clustery používající clustery založené na ověřování instančního objektu. Migrace clusterů s instančním objektem na spravovanou identitu za účelem použití tohoto prostředí

Poznámka:

Export do centra událostí a účtu úložiště se nepodporuje, pokud příchozí logMessage není platný JSON. Pro zajištění nejlepšího výkonu doporučujeme generovat protokoly kontejneru ve formátu JSON.

Posouzení dopadu na existující výstrahy

Před povolením schématu ContainerLogsV2 byste měli posoudit, jestli máte nějaká pravidla upozornění, která spoléhají na tabulku ContainerLog . Aby tato tabulka používala novou tabulku, bude potřeba je aktualizovat.

Pokud chcete vyhledat výstrahy odkazované na tabulku ContainerLog , spusťte následující dotaz Azure Resource Graphu:

resources
| where type in~ ('microsoft.insights/scheduledqueryrules') and ['kind'] !in~ ('LogToMetric')
| extend severity = strcat("Sev", properties["severity"])
| extend enabled = tobool(properties["enabled"])
| where enabled in~ ('true')
| where tolower(properties["targetResourceTypes"]) matches regex 'microsoft.operationalinsights/workspaces($|/.*)?' or tolower(properties["targetResourceType"]) matches regex 'microsoft.operationalinsights/workspaces($|/.*)?' or tolower(properties["scopes"]) matches regex 'providers/microsoft.operationalinsights/workspaces($|/.*)?'
| where properties contains "ContainerLog"
| project id,name,type,properties,enabled,severity,subscriptionId
| order by tolower(name) asc

Povolení schématu ContainerLogV2

Schéma ContainerLogV2 pro cluster můžete povolit buď pomocí pravidla shromažďování dat clusteru (DCR) nebo objektu ConfigMap. Pokud jsou obě nastavení povolená, bude mít přednost objekt ConfigMap. Protokoly Stdout a stderr se ingestují do tabulky ContainerLog pouze v případech, kdy je explicitně nastavena hodnota DCR i ConfigMap.

Víceřádkové protokolování v kontejneru Přehledy

S povoleným víceřádkovým protokolováním se dříve rozdělují protokoly kontejneru a odesílají se jako jednotlivé položky do tabulky ContainerLogV2. Pokud je stehovaná čára protokolu větší než 64 kB, zkrátí se kvůli omezením pracovního prostoru služby Log Analytics. Tato funkce také podporuje trasování zásobníků .NET, Go, Python a Java, které se v tabulce ContainerLogV2 zobrazují jako samostatné položky. Povolte víceřádkové protokolování pomocí objektu ConfigMap, jak je popsáno v tématu Konfigurace shromažďování dat v Nástroji Container Insights pomocí configMap.

Poznámka:

Konfigurační mapa teď obsahuje možnost specifikace jazyka, kde zákazníci můžou vybrat pouze jazyky, které mají zájem. Tuto funkci lze povolit úpravou jazyků v možnosti stacktrace_languages v konfigurační mapě.

Následující snímky obrazovky ukazují protokolování víceřádkového protokolování pro trasování zásobníku výjimek Go:

Protokolování s více řádky je zakázané

Screenshot that shows Multi-line logging disabled.

Protokolování s více řádky je povolené

Screenshot that shows Multi-line enabled.

Trasování zásobníku Java

Screenshot that shows Multi-line enabled for Java.

Trasování zásobníku Pythonu

Screenshot that shows Multi-line enabled for Python.

Další kroky