Protokollschema von Container Insights

Container Insights speichert Protokolldaten, die in einer Tabelle mit dem Namen ContainerLogV2 gesammelt werden. In diesem Artikel wird das Schema dieser Tabelle sowie deren Vergleich mit und die Migration aus der Legacytabelle ContainerLog beschrieben.

Wichtig

ContainerLogV2 wird das Standardschema über die ConfigMap für CLI-Version 2.54.0 und höher sein. ContainerLogV2 wird das Standarderfassungsschema für Kunden sein, die das Onboarding von Container-Einblicken mit verwalteter Identitätsauthentifizierung über ARM, Bicep, Terraform, Policy und Portal-Onboarding durchführen. ContainerLogV2 kann über die CLI-Version 2.51.0 oder höher mithilfe von Datensammlungseinstellungen explizit aktiviert werden.

Die Unterstützung für die ContainerLog-Tabelle wird am 30. September 2026 eingestellt.

Tabellenvergleich

In der folgenden Tabelle werden die wichtigsten Unterschiede zwischen der Verwendung des ContainerLogV2- und des ContainerLog-Schemas hervorgehoben.

Featureunterschiede ContainerLog ContainerLogV2
Schema Details unter ContainerLog. Details unter ContainerLogV2.
Weitere Spalten sind:
- ContainerName
- PodName
- PodNamespace.
Onboarding Nur über ConfigMap konfigurierbar. Konfigurierbar über ConfigMap und DCR. 1
Preisberechnung Nur kompatibel mit vollpreisigen Analyseprotokollen. Unterstützt die kostengünstige Basisprotokollebene zusätzlich zu Analyseprotokollen.
Abfragen Erfordert mehrere Verknüpfungsvorgänge mit Inventartabellen für Standardabfragen. Enthält zusätzliche Pod- und Containermetadaten zur Verringerung der Abfragekomplexität und Verknüpfungsvorgänge.
Mehrzeilig Nicht unterstützt, mehrzeilige Einträge werden in mehrere Datensätze unterteilt. Unterstützung für mehrzeilige Protokollierung, um konsolidierte, einzelne Einträge für mehrzeilige Ausgaben zu ermöglichen.

1DCR-Konfiguration wird für Cluster, die auf Dienstprinzipalauthentifizierung basieren, nicht unterstützt. Migrieren Sie Ihre Cluster mit Dienstprinzipal zu einer verwalteten Identität, um diese Funktion zu verwenden.

Hinweis

Der Export zu Event Hub und Speicherkonto wird nicht unterstützt, wenn die eingehende LogMessage kein gültiges JSON ist. Für eine optimale Leistung empfehlen wir, Containerprotokolle im JSON-Format zu ausgeben.

Bewerten der Auswirkungen auf vorhandene Warnungen

Bevor Sie das ContainerLogsV2-Schema aktivieren, sollten Sie bewerten, ob Sie über Warnungsregeln verfügen, die auf der Tabelle ContainerLog basieren. Alle derartigen Warnungen müssen aktualisiert werden, um die neue Tabelle zu verwenden.

Führen Sie die folgende Azure Resource Graph-Abfrage aus, um nach Warnungen zu suchen, die auf die ContainerLog-Tabelle verweisen:

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

Aktivieren des ContainerLogV2-Schemas

Sie können das ContainerLogV2-Schema für einen Cluster entweder über die Datensammlungsregel (Data Collection Rule, DCR) des Clusters oder ConfigMap aktivieren. Wenn beide Einstellungen aktiviert sind, hat ConfigMap Vorrang. Stdout- und stderr-Protokolle werden nur dann in der ContainerLog-Tabelle erfasst, wenn sowohl DCR als auch ConfigMap explizit auf deaktiviert festgelegt sind.

Mehrzeilige Protokollierung in Container Insights

Wenn die mehrzeilige Protokollierung aktiviert ist, werden zuvor geteilte Containerprotokolle zusammengefügt und als einzelne Einträge an die Tabelle ContainerLogV2 gesendet. Wenn die zusammengefügte Protokollzeile größer als 64 KB ist, wird sie aufgrund der Grenzwerte des Log Analytics-Arbeitsbereichs abgeschnitten. Dieses Feature bietet auch Unterstützung für .NET-, Go-, Python- und Java-Stapelüberwachungen, die als einzelne Einträge in der ContainerLogV2-Tabelle angezeigt werden. Aktivieren Sie die mehrzeilige Protokollierung mit ConfigMap, wie in Konfigurieren der Datensammlung in Container Insights mithilfe von ConfigMap beschrieben.

Hinweis

Die configmap verfügt jetzt über eine Sprachspezifikationsoption, bei der Kunden nur die Sprachen auswählen können, an denen sie interessiert sind. Dieses Feature kann durch Bearbeiten der Sprachen in der Option stacktrace_languages in der Configmapaktiviert werden.

Die folgenden Screenshots zeigen die mehrzeilige Protokollierung für die Go-Ausnahmestapelüberwachung:

Mehrzeilige Protokollierung deaktiviert

Screenshot that shows Multi-line logging disabled.

Mehrzeilige Protokollierung aktiviert

Screenshot that shows Multi-line enabled.

Java-Stapelüberwachung

Screenshot that shows Multi-line enabled for Java.

Python-Stapelüberwachung

Screenshot that shows Multi-line enabled for Python.

Nächste Schritte