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 - LogLevel 1- KubernetesMetadata 2 |
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. LogLevel
is een tekenreeksveld met een statuswaarde zoals CRITICAL
, ERROR
, WARNING
, INFO
, , DEBUG
, of UNKNOWN
TRACE
.
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 ImageTag
Image 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 aangeroepenKubernetesMetadata
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 dekube-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.
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.
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
Logboekregistratie met meerdere regels ingeschakeld
Java-stacktracering
Python-stacktracering
Volgende stappen
- Configureer basislogboeken voor ContainerLogv2.
- Meer informatie over het uitvoeren van query's op gegevens uit ContainerLogV2