容器深入解析記錄結構描述

容器深入解析會將所收集的記錄資料儲存在名為 ContainerLogV2 的表格中。 本文說明此表格的結構描述及其從舊版 ContainerLog 表格的比較和移轉。

重要

ContainerLogV2 是透過 CLI 2.54.0 版和更新版本的 ConfigMap 的預設結構描述。 ContainerLogV2 將會是使用 ARM、Bicep、Terraform、原則和入口網站上線將容器深入解析與受控識別驗證上線的客戶的預設擷取格式。 ContainerLogV2 可以使用資料收集設定,透過 CLI 2.51.0 版或更高版本明確啟用。

ContainerLog 表格的支援將於 2026 年 9 月 30 日淘汰。

表格比較

下表醒目提示使用 ContainerLogV2 和 ContainerLog 結構描述之間的主要差異。

功能差異 ContainerLog ContainerLogV2
結構描述 ContainerLog 的詳細資料。 ContainerLogV2 的詳細資料。
其他資料行為:
- ContainerName
- PodName
- PodNamespace.
登入 只能透過 ConfigMap 進行設定。 可透過 ConfigMap 和 DCR 來設定。 1
定價 只與全價分析記錄相容。 除了分析記錄之外,還支援低成本基本記錄層。
查詢 建立自我聯結通常需要多重聯結條件。 包含額外的 Pod 和容器中繼資料,以減少查詢複雜性和聯結作業。
多行 不支援多行項目會分割成多個列。 支援多行記錄,以允許多行輸出的合併單一項目。

1DCR 組態不支援使用服務主體驗證型叢集的叢集。 使用服務主體將叢集移轉至受控識別以使用此體驗。

注意

如果傳入的 LogMessage 不是有效的 JSON,則不支援匯出至事件中樞和儲存體帳戶。 為了獲得最佳效能,建議您以 JSON 格式發出容器記錄。

評估對現有警示的影響

啟用 ContainerLogsV2 結構描述之前,您應該評估您是否有任何警示規則依賴 ContainerLog 表格。 任何這類警示都必須更新,才能使用新的表格。

若要瀏覽參考 ContainerLog 表格的警示,請執行下列 Azure Resource Graph 查詢:

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

啟用 ContainerLogV2 結構描述

您可以使用叢集的資料收集規則 (DCR) 或 ConfigMap,為叢集啟用 ContainerLogV2 結構描述。 如果啟用這兩個設定,則 ConfigMap 會優先使用。 當 DCR 和 ConfigMap 明確設定為關閉時,Stdout 和 stderr 記錄只會內嵌至 ContainerLog 表格。

容器深入解析的多行記錄

啟用多行記錄后,先前分割的容器記錄會合併在一起,並以單一項目傳送至 ContainerLogV2 表格。 如果合併的記錄行大於 64 KB,則會因為 Log Analytics 工作區限制而遭到截斷。 這項功能也支援 .NET、Go、Python 和 Java 堆疊追蹤,其會顯示為 ContainerLogV2 表格中的單一項目。 使用 ConfigMap 啟用多行記錄,如使用 ConfigMap 在容器深入解析中設定資料收集中所述。

下列螢幕擷取畫面會顯示 Go 例外狀況堆疊追蹤的多行記錄:

多行記錄已停用

Screenshot that shows Multi-line logging disabled.

多行記錄已啟用

Screenshot that shows Multi-line enabled.

Java 堆疊追蹤

Screenshot that shows Multi-line enabled for Java.

Python 堆疊追蹤

Screenshot that shows Multi-line enabled for Python.

下一步