Delen via


Container Insights-logboekschema

Container Insights slaat logboekgegevens op die worden verzameld in een tabel met de naam ContainerLogV2 in een Log Analytics-werkruimte. In dit artikel wordt het schema van deze tabel en configuratieopties beschreven. Deze tabel wordt ook vergeleken met de verouderde ContainerLog-tabel en bevat details voor het migreren van deze tabel.

Tabelvergelijking

ContainerLogV2 is het standaardschema voor CLI-versie 2.54.0 en hoger. Dit is de standaardtabel voor klanten die containerinzichten onboarden met beheerde identiteitsverificatie. ContainerLogV2 kan expliciet worden ingeschakeld via CLI-versie 2.51.0 of hoger met behulp van instellingen voor gegevensverzameling.

Belangrijk

Ondersteuning voor de ContainerLog-tabel wordt op 30 september 2026 buiten gebruik gesteld.

In de volgende tabel ziet u de belangrijkste verschillen tussen het gebruik van het ContainerLogV2- en ContainerLog-schema.

Functieverschillen ContainerLog ContainerLogV2
Schema Details bij ContainerLog. Details van ContainerLogV2.
Aanvullende kolommen zijn:
- ContainerName
- PodName
- PodNamespace
- LogLevel1
- KubernetesMetadata2
Onboarding Alleen configureerbaar via ConfigMap. Configureerbaar via zowel ConfigMap als DCR. 3
Prijzen Alleen compatibel met volledige analyselogboeken. Biedt ondersteuning voor de laag eenvoudige logboeken naast analyselogboeken.
Uitvoeren van query's Vereist meerdere joinbewerkingen met voorraadtabellen voor standaardquery's. Bevat aanvullende pod- en containermetagegevens om de complexiteit van query's en joinbewerkingen te verminderen.
Meerdere regels Niet ondersteund, vermeldingen met meerdere regels worden gesplitst in meerdere rijen. Ondersteuning voor logboekregistratie met meerdere regels om geconsolideerde, enkelvoudige vermeldingen voor uitvoer met meerdere regels toe te staan.

1 Als LogMessage een geldige JSON is en een sleutel heeft met de naam level, wordt de waarde gebruikt. Anders wordt overeenkomende trefwoorden op basis van regex gebruikt om af te afleiden LogLevel van LogMessage. Deze deductie kan leiden tot een aantal onjuiste classificaties. LogLevelis een tekenreeksveld met een statuswaarde zoals CRITICAL, ERROR, WARNING, INFO, , DEBUG, of UNKNOWNTRACE.

2 KubernetesMetadata is een optionele kolom die is ingeschakeld met Kubernetes-metagegevens. De waarde van dit veld is JSON met de velden podLabels, podAnnotations, podUid, Image, en ImageTagImage repo.

Voor 3 DCR-configuratie is verificatie van beheerde identiteiten vereist.

Notitie

Exporteren naar Event Hub en opslagaccount wordt niet ondersteund als de binnenkomende LogMessage JSON niet geldig is. Voor de beste prestaties verzendt u containerlogboeken in JSON-indeling.

Het ContainerLogV2-schema inschakelen

Schakel het ContainerLogV2-schema in voor een cluster met behulp van de DCR (Data Collection Rule) of ConfigMap van het cluster. Als beide instellingen zijn ingeschakeld, heeft de ConfigMap voorrang. De ContainerLog tabel wordt alleen gebruikt wanneer zowel de DCR als de ConfigMap expliciet zijn uitgeschakeld.

Voordat u het ContainerLogsV2-schema inschakelt, moet u beoordelen of u waarschuwingsregels hebt die afhankelijk zijn van de ContainerLog-tabel . Dergelijke waarschuwingen moeten worden bijgewerkt om de nieuwe tabel te kunnen gebruiken. Voer de volgende Azure Resource Graph-query uit om te scannen op waarschuwingsregels die verwijzen naar de ContainerLog tabel.

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

Kubernetes-metagegevens en logboeken filteren

Met kubernetes-metagegevens en logboeken wordt het ContainerLogsV2-schema uitgebreid met aanvullende Kubernetes-metagegevens. De functie logboekfiltering biedt filtermogelijkheden voor zowel workload- als platformcontainers. Deze functies bieden u een uitgebreidere context en verbeterde zichtbaarheid van uw workloads.

Functies

  • Uitgebreid ContainerLogV2-schema Wanneer metagegevens van Kubernetes-logboeken zijn ingeschakeld, wordt er een kolom toegevoegd aan ContainerLogV2 de aangeroepen KubernetesMetadata kolom die het oplossen van problemen met eenvoudige logboekquery's verbetert en de noodzaak voor samenvoegen met andere tabellen verwijdert. De velden in deze kolom zijn: PodLabels, PodAnnotations, PodUid, Image, ImageID, , , ImageRepo. ImageTag Deze velden verbeteren de probleemoplossingservaring met behulp van logboekquery's zonder dat ze moeten worden samengevoegd met andere tabellen. Zie hieronder voor meer informatie over het inschakelen van de kubernetes-metagegevensfunctie.

  • Logboekniveau Deze functie voegt een LogLevel kolom toe aan ContainerLogV2 met de mogelijke waarden kritiek, fout, waarschuwing, informatie, fout, fout, trace of onbekend. Dit helpt u bij het beoordelen van de toepassingsstatus op basis van ernstniveau. Door het Grafana-dashboard toe te voegen, kunt u de trends op logboekniveau in de loop van de tijd visualiseren en snel betrokken resources aanwijzen.

  • Grafana-dashboard voor visualisatie Het Grafana-dashboard biedt een visualisatie met kleurcode van het logboekniveau en biedt ook inzicht in logboekvolume , logboeksnelheid, logboekrecords, logboeken. U kunt tijdgevoelige analyses, dynamische inzichten krijgen in trends op logboekniveau in de loop van de tijd en cruciale realtime bewaking. Het dashboard biedt ook een gedetailleerde uitsplitsing per computer, pod en container, die uitgebreide analyse en vastgemaakte probleemoplossing mogelijk maakt. Zie hieronder voor meer informatie over het installeren van het Grafana-dashboard.

  • Logboekfiltering op basis van aantekeningen voor workloads Efficiënte logboekfiltering via podaantekeningen. Zo kunt u zich richten op relevante informatie zonder ruis te doorzoeken. Met filteren op basis van aantekeningen kunt u logboekverzameling uitsluiten voor bepaalde pods en containers door aantekeningen te maken voor de pod, waardoor de kosten voor log analytics aanzienlijk worden verminderd. Zie Logboekfiltering op basis van aantekeningen voor meer informatie over het configureren van filteren op basis van aantekeningen.

  • Op Configuratiemap gebaseerde logboekfilters voor platformlogboeken (Systeem Kubernetes-naamruimten) Platformlogboeken worden verzonden door containers in de systeemnaamruimten (of vergelijkbare beperkte) naamruimten. Standaard worden alle containerlogboeken van de systeemnaamruimte uitgesloten om de kosten van gegevens in uw Log Analytics-werkruimte te minimaliseren. In specifieke scenario's voor probleemoplossing spelen containerlogboeken van systeemcontainers echter een cruciale rol. Een voorbeeld hiervan is de coredns container in de kube-system naamruimte.

Kubernetes-metagegevens inschakelen

Belangrijk

Voor het verzamelen van Kubernetes-metagegevens is beheerde identiteitsverificatie en ContainerLogsV2 vereist

Schakel Kubernetes-metagegevens in met behulp van ConfigMap met de volgende instellingen. Alle metagegevensvelden worden standaard verzameld wanneer de metadata_collection optie is ingeschakeld. Verwijder opmerkingen include_fields om afzonderlijke velden op te geven die moeten worden verzameld.

[log_collection_settings.metadata_collection]
    enabled = true
    include_fields = ["podLabels","podAnnotations","podUid","image","imageID","imageRepo","imageTag"]

Na enkele minuten moet de KubernetesMetadata kolom worden opgenomen in logboekquery's voor ContainerLogV2 de tabel, zoals hieronder wordt weergegeven.

Schermopname van containerlogv2.

Grafana-dashboard installeren

Belangrijk

Als u Grafana hebt ingeschakeld met behulp van de richtlijnen bij Bewaking inschakelen voor Kubernetes-clusters , moet uw Grafana-exemplaar al toegang hebben tot uw Azure Monitor-werkruimte voor metrische gegevens van Prometheus. Het Dashboard metagegevens van Kubernetes-logboeken vereist ook toegang tot uw Log Analytics-werkruimte die logboekgegevens bevat. Zie Hoe u toegangsmachtigingen voor Azure Monitor wijzigt voor hulp bij het verlenen van uw Grafana-exemplaar de rol Bewakingslezer voor uw Log Analytics-werkruimte.

Importeer het dashboard vanuit de Grafana-galerie op ContainerLogV2 Dashboard. Vervolgens kunt u het dashboard openen en waarden selecteren voor DataSource, Abonnement, ResourceGroup, Cluster, Naamruimte en Labels.

Schermopname van grafana-dashboard.

Notitie

Wanneer u het Grafana-dashboard in eerste instantie laadt, ziet u mogelijk fouten omdat er nog geen variabelen zijn geselecteerd. Als u wilt voorkomen dat dit wordt terugkeren, slaat u het dashboard op nadat u een set variabelen hebt geselecteerd, zodat het standaard wordt bij het eerste openen.

Logboekregistratie met meerdere regels

Als logboekregistratie met meerdere regels is ingeschakeld, worden eerder gesplitste containerlogboeken samengevoegd en als één vermelding naar de ContainerLogV2-tabel verzonden. Als de gestikte logboeklijn groter is dan 64 kB, wordt deze afgekapt vanwege de limieten van de Log Analytics-werkruimte. Deze functie biedt ook ondersteuning voor .NET-, Go-, Python- en Java-stacktraceringen, die worden weergegeven als één vermelding in de ContainerLogV2-tabel. Schakel logboekregistratie met meerdere regels in met ConfigMap, zoals beschreven in Gegevensverzameling configureren in Container Insights met behulp van ConfigMap.

Notitie

De configmap bevat nu een optie voor taalspecificatie, waarbij de klanten alleen de talen kunnen selecteren waarin ze geïnteresseerd zijn. Deze functie kan worden ingeschakeld door de talen te bewerken in de optie stacktrace_languages in de configmap.

In de volgende schermafbeeldingen ziet u logboekregistratie met meerdere regels voor go-uitzonderingsstacktracering:

Logboekregistratie met meerdere regels uitgeschakeld

Schermopname waarin logboekregistratie met meerdere regels is uitgeschakeld.

Logboekregistratie met meerdere regels ingeschakeld

Schermopname waarin Multi-Line is ingeschakeld.

Java-stacktracering

Schermopname van Multi-Line ingeschakeld voor Java.

Python-stacktracering

Schermopname met Multi-Line ingeschakeld voor Python.

Volgende stappen