Container Insights-naplóséma
A Container Insights egy Log Analytics-munkaterületen lévő ContainerLogV2 nevű táblában tárolja az általa gyűjtött naplóadatokat. Ez a cikk a táblázat sémáját és a hozzá tartozó konfigurációs beállításokat ismerteti. Emellett összehasonlítja ezt a táblát az örökölt ContainerLog táblával, és részletes információt nyújt a migrálásról.
Táblázat összehasonlítása
A ContainerLogV2 a CLI 2.54.0-s és újabb verziójának alapértelmezett sémája. Ez az alapértelmezett tábla azoknak az ügyfeleknek, akik felügyelt identitáshitelesítéssel készítik el a Container Insightst. A ContainerLogV2 kifejezetten engedélyezhető a CLI 2.51.0-s vagy újabb verziójával az adatgyűjtési beállítások használatával.
Fontos
A ContainerLog tábla támogatása 2026. szeptember 30-án megszűnik.
Az alábbi táblázat a ContainerLogV2 és a ContainerLog séma közötti főbb különbségeket emeli ki.
Szolgáltatások eltérései | ContainerLog | ContainerLogV2 |
---|---|---|
Séma | Részletek a ContainerLogban. | Részletek a ContainerLogV2 webhelyen. További oszlopok a következők: - ContainerName - PodName - PodNamespace - LogLevel 1- KubernetesMetadata 2 |
Előkészítés | Csak a ConfigMap segítségével konfigurálható. | Konfigurálható a ConfigMap és a DCR segítségével is. 3 |
Díjszabás | Csak teljes árú elemzési naplókkal kompatibilis. | Az elemzési naplók mellett az alacsony költségű alapszintű naplókat is támogatja. |
Lekérdezés | A standard lekérdezésekhez több illesztési műveletre van szükség leltártáblákkal. | További pod- és tároló metaadatokat tartalmaz a lekérdezések összetettségének csökkentéséhez és az összekapcsolási műveletekhez. |
Többsoros | Nem támogatott, a többsoros bejegyzések több sorra vannak osztva. | A többsoros naplózás támogatása a többsoros kimenet összevont, egyetlen bejegyzéseinek engedélyezéséhez. |
1 Ha LogMessage
érvényes JSON, és rendelkezik egy elnevezett kulccsal level
, a rendszer az értékét fogja használni. Ellenkező esetben a regex-alapú kulcsszóegyeztetés a forrásból LogMessage
való következtetésre LogLevel
szolgál. Ez a következtetés néhány helytelen besorolást eredményezhet. LogLevel
egy olyan sztringmező, amelynek állapota olyan, mint CRITICAL
a , ERROR
, WARNING
, INFO
, , DEBUG
, TRACE
vagy UNKNOWN
.
A 2 KubernetesMetadata
egy választható oszlop, amely Kubernetes-metaadatokkal van engedélyezve. Ennek a mezőnek az értéke JSON a mezőkkelpodLabels
, podAnnotations
, , Image
podUid
, ImageTag
és Image repo
.
A 3 DCR-konfigurációhoz felügyelt identitáshitelesítés szükséges.
Feljegyzés
Az Event Hubba és a Tárfiókba való exportálás nem támogatott, ha a bejövő adatok LogMessage
érvénytelen JSON-alapúak. A legjobb teljesítmény érdekében a tárolónaplókat JSON formátumban kell kibocsátania.
A ContainerLogV2 séma engedélyezése
Engedélyezze a ContainerLogV2 sémát egy fürthöz a fürt adatgyűjtési szabálya (DCR) vagy a ConfigMap használatával. Ha mindkét beállítás engedélyezve van, a ConfigMap elsőbbséget élvez. A ContainerLog
tábla csak akkor használatos, ha a DCR és a ConfigMap is kifejezetten ki van kapcsolva.
A ContainerLogsV2 séma engedélyezése előtt meg kell vizsgálnia, hogy rendelkezik-e a ContainerLog táblára támaszkodó riasztási szabályokkal. Az ilyen riasztásokat frissíteni kell az új tábla használatához. Futtassa az alábbi Azure Resource Graph-lekérdezést a táblára hivatkozó riasztási ContainerLog
szabályok kereséséhez.
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-metaadatok és naplók szűrése
A Kubernetes metaadatainak és naplóinak szűrése kibővíti a ContainerLogsV2 sémát további Kubernetes-metaadatokkal. A naplószűrési funkció szűrési képességeket biztosít a számítási feladatokhoz és a platformtárolókhoz is. Ezek a funkciók gazdagabb környezetet és jobb láthatóságot biztosítanak a számítási feladatokhoz.
Funkciók
Továbbfejlesztett ContainerLogV2 séma Ha a Kubernetes Naplók metaadatai engedélyezve vannak, hozzáad egy meghívandó
ContainerLogV2
KubernetesMetadata
oszlopot, amely javítja az egyszerű napló lekérdezésekkel történő hibaelhárítást, és eltávolítja a más táblákhoz való csatlakozás szükségességét. Az oszlop mezői a következők:PodLabels
,PodAnnotations
, ,Image
PodUid
,ImageID
,ImageRepo
.ImageTag
Ezek a mezők javítják a napló lekérdezések hibaelhárítási élményét anélkül, hogy más táblákhoz kellene csatlakozniuk. A Kubernetes metaadat-szolgáltatás engedélyezésével kapcsolatos részletekért lásd alább.Naplószint Ez a funkció egy oszlopot
LogLevel
ad hozzá a ContainerLogV2-hez a kritikus, a hiba, a figyelmeztetés, az információ, a hibakeresés, a nyomkövetés vagy az ismeretlen lehetséges értékekkel. Ez segít felmérni az alkalmazás állapotát a súlyossági szint alapján. A Grafana-irányítópult hozzáadásával megjelenítheti a naplószintű trendeket az idő függvényében, és gyorsan rögzítheti az érintett erőforrásokat.Grafana-irányítópult vizualizációhoz A Grafana irányítópult a naplószint színkódolt vizualizációját biztosítja, valamint betekintést nyújt a naplókötetbe, a naplók sebességébe, a naplórekordokba és a naplókba. Időérzékeny elemzéseket, dinamikus elemzéseket kaphat a naplószintű trendekről az idő függvényében, és kulcsfontosságú valós idejű monitorozást végezhet. Az irányítópult emellett számítógép, pod és tároló szerinti részletes lebontást is biztosít, amely lehetővé teszi a részletes elemzést és a pontos hibaelhárítást. A Grafana-irányítópult telepítésével kapcsolatos részletekért lásd alább.
Jegyzetalapú naplószűrés számítási feladatokhoz Hatékony naplószűrés podjegyzeteken keresztül. Ez lehetővé teszi, hogy a releváns információkra összpontosítson anélkül, hogy zajt szitál. A széljegyzetalapú szűrés lehetővé teszi bizonyos podok és tárolók naplógyűjteményének kizárását a pod megjegyzésével, ami jelentősen csökkentené a naplóelemzési költségeket. A széljegyzetalapú szűrés konfigurálásával kapcsolatos részletekért tekintse meg a jegyzetalapú naplószűrést .
A platformnaplók (System Kubernetes-névterek) ConfigMap-alapú naplószűrését a rendszerbeli (vagy hasonló korlátozott) névterek tárolói bocsátják ki. Alapértelmezés szerint a rendszernévtér összes tárolónaplója ki van zárva a Log Analytics-munkaterületen lévő adatok költségeinek minimalizálása érdekében. Bizonyos hibaelhárítási forgatókönyvekben azonban a rendszertároló tárolónaplói kulcsfontosságú szerepet játszanak. Ilyen például a
coredns
névtérben lévőkube-system
tároló.
Kubernetes-metaadatok engedélyezése
Fontos
A Kubernetes-metaadatok gyűjtéséhez felügyelt identitás-hitelesítésre és ContainerLogsV2-ra van szükség
Engedélyezze a Kubernetes-metaadatokat a ConfigMap használatával az alábbi beállításokkal. A rendszer alapértelmezés szerint minden metaadatmezőt összegyűjt, ha engedélyezve metadata_collection
van. include_fields
Az egyes gyűjtendő mezők megadásának megszüntetése.
[log_collection_settings.metadata_collection]
enabled = true
include_fields = ["podLabels","podAnnotations","podUid","image","imageID","imageRepo","imageTag"]
Néhány perc elteltével az KubernetesMetadata
oszlopnak szerepelnie kell a tábla napló lekérdezései között ContainerLogV2
az alább látható módon.
A Grafana-irányítópult telepítése
Fontos
Ha engedélyezte a Grafana használatát a Kubernetes-fürtök monitorozásának engedélyezése című útmutatóval, akkor a Grafana-példánynak már hozzá kell férnie az Azure Monitor-munkaterülethez Prometheus-metrikákhoz. A Kubernetes Logs Metadata irányítópultjának hozzáférésre van szüksége a Log Analytics-munkaterülethez is, amely naplóadatokat tartalmaz. Az Azure Monitor hozzáférési engedélyeinek módosítása című témakör útmutatást nyújt a Grafana-példány monitorozási olvasó szerepkörének a Log Analytics-munkaterülethez való biztosításához.
Importálja az irányítópultot a ContainerLogV2 irányítópult Grafana gyűjteményéből. Ezután megnyithatja az irányítópultot, és kiválaszthatja az adatforrás, az előfizetés, a ResourceGroup, a fürt, a Namespace és a címkék értékeit.
Feljegyzés
Amikor először betölti a Grafana-irányítópultot, hibák léphetnek fel, mert a változók még nincsenek kiválasztva. Ha meg szeretné akadályozni, hogy ez ismétlődjön, mentse az irányítópultot egy változókészlet kiválasztása után, hogy az alapértelmezett legyen az első megnyitáskor.
Többsoros naplózás
Ha engedélyezve van a többsoros naplózás, a korábban felosztott tárolónaplók össze vannak fűzve, és egyetlen bejegyzésként lesznek elküldve a ContainerLogV2 táblába. Ha az összefűzött naplósor nagyobb, mint 64 KB, a Log Analytics-munkaterület korlátai miatt csonkolja. Ez a funkció támogatja a .NET, a Go, a Python és a Java verem nyomkövetését is, amelyek a ContainerLogV2 táblában egyetlen bejegyzésként jelennek meg. Engedélyezze a többsoros naplózást a ConfigMap használatával a Container Insights adatgyűjtésének konfigurálása a ConfigMap használatával című cikkben leírtak szerint.
Feljegyzés
A konfigurációs térkép mostantól tartalmaz egy nyelvspecifikációs beállítást, amelyben az ügyfelek csak azokat a nyelveket választhatják ki, amelyek érdeklik őket. Ez a funkció a konfigurációtérkép stacktrace_languages lehetőségének nyelveinek szerkesztésével engedélyezhető.
Az alábbi képernyőképek a Go kivételverem-nyomkövetés többsoros naplózását mutatják be:
A többsoros naplózás le van tiltva
Többsoros naplózás engedélyezve
Java-verem nyomkövetése
Python-verem nyomkövetése
Következő lépések
- Alapszintű naplók konfigurálása a ContainerLogv2-hez.
- Megtudhatja, hogyan kérdezhet le adatokat a ContainerLogV2-ből