Container Insights-naplóséma
A Container Insights egy ContainerLogV2 nevű táblában tárolja az általa gyűjtött naplóadatokat. Ez a cikk a tábla sémáját, valamint az örökölt ContainerLog táblából való összehasonlítását és migrálását ismerteti.
Fontos
A ContainerLogV2 lesz az alapértelmezett séma a ConfigMap for CLI 2.54.0-s és újabb verzióján keresztül. A ContainerLogV2 alapértelmezett betöltési formátum azoknak az ügyfeleknek, akik ARM, Bicep, Terraform, Szabályzat és Portál használatával végzik a tárolóelemzéseket a Managed Identity Auth használatával. 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.
A ContainerLog tábla támogatása 2026. szeptember 30-án megszűnik.
Táblázat összehasonlítása
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. |
1Ha a LogMessage érvényes JSON- és elnevezett kulcsszinttel rendelkezik, a rendszer az értékét fogja használni. Ellenkező esetben regex-alapú kulcsszóegyeztetési módszert használunk a LogLevel magára a LogMessage-ra való következtetéshez. Vegye figyelembe, hogy előfordulhat, hogy néhány helytelen besorolás jelenik meg, mivel ez az érték kikövetkeztetett.
2A KubernetesMetadata nem kötelező oszlop, és ennek a mezőnek a gyűjteménye engedélyezhető a Kubernetes Metadata funkcióval. Ennek a mezőnek az értéke JSON, és olyan mezőket tartalmaz, mint a podLabels, podAnnotations, podUid, Image, ImageTag és Image repo.
3 Aszolgáltatásnév-hitelesítésen alapuló fürtöket használó fürtök DCR-konfigurációja nem támogatott. Ennek a felületnek a használatához migrálja a fürtöket szolgáltatásnévvel a felügyelt identitásba.
Feljegyzés
Ha a bejövő LogMessage nem érvényes JSON, az Event Hubba és a Tárfiókba való exportálás nem támogatott. A legjobb teljesítmény érdekében javasoljuk, hogy a tárolónaplókat JSON formátumban bocsátsa ki.
A meglévő riasztásokra gyakorolt hatás felmérése
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.
A ContainerLog táblára hivatkozó riasztások kereséséhez futtassa a következő Azure Resource Graph-lekérdezést:
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
A ContainerLogV2 séma engedélyezése
A fürt ContainerLogV2 sémáját a fürt adatgyűjtési szabálya (DCR) vagy ConfigMap használatával engedélyezheti. Ha mindkét beállítás engedélyezve van, a ConfigMap elsőbbséget élvez. A stdout- és stderr-naplók csak akkor kerülnek a ContainerLog táblába, ha a DCR és a ConfigMap is kifejezetten ki van kapcsolva.
Kubernetes-metaadatok és naplók szűrése
A Kubernetes metaadatainak és naplóinak szűrése javítja a ContainerLogsV2 sémát több Kubernetes-metaadattal, például PodLabels, PodAnnotations, PodUid, Image, ImageID, ImageRepo és ImageTag. A naplószűrési funkció emellett szűrési képességeket is biztosít a számítási feladatok és a platform (azaz a rendszernévterek) tárolói számára. Ezekkel a funkciókkal a felhasználók gazdagabb környezetet és jobb betekintést kapnak a számítási feladataikba.
Legfontosabb funkciók
Továbbfejlesztett ContainerLogV2-séma a Kubernetes metaadatmezőivel: A Kubernetes Naplók metaadatai olyan egyéb választható metaadatmezőket vezet be, amelyek javítják az egyszerű Log Analytics-lekérdezések hibaelhárítási élményét, és szükségtelenné teszi a más táblákhoz való csatlakozást. Ezek a mezők olyan alapvető információkat tartalmaznak, mint a "PodLabels", "PodAnnotations", "PodUid", "Image", "ImageID", "ImageRepo" és "ImageTag". Ha ez a környezet könnyen elérhető, a felhasználók felgyorsíthatják a hibaelhárítást, és gyorsan azonosíthatják a problémákat.
Testreszabott listakonfiguráció: A felhasználók a konfigurációtérkép szerkesztésével testre szabhatják a megtekinteni kívánt új metaadatmezőket. Vegye figyelembe, hogy az összes metaadatmező alapértelmezés szerint akkor lesz összegyűjtve, ha engedélyezve
metadata_collection
van, és ha konkrét mezőket szeretne kijelölni, törölje a megjegyzéstinclude_fields
, és adja meg az összegyűjtendő mezőket.
Továbbfejlesztett ContainerLogV2 séma naplószinttel: A felhasználók mostantól a színkódolt súlyossági szintek (például KRITIKUS, HIBA, FIGYELMEZTETÉS, INFORMÁCIÓ, HIBAKERESÉS, NYOMKÖVETÉS vagy ISMERETLEN) alapján értékelhetik az alkalmazás állapotát. Kulcsfontosságú eszköz az incidensek elhárításához és a proaktív monitorozáshoz. A súlyossági szintek vizuális megkülönböztetésével a felhasználók gyorsan rögzíthetik az érintett erőforrásokat. A színkódolt rendszer leegyszerűsíti a vizsgálati folyamatot, és lehetővé teszi a felhasználók számára, hogy még tovább részletezzék a vizsgálatot a panel kiválasztásával a további hibakereséshez. Fontos azonban megjegyezni, hogy ez a funkció csak a Grafana használatakor alkalmazható. Ha Log Analytics-munkaterületet használ, a LogLevel egyszerűen egy másik oszlop a ContainerLogV2 táblában.
Jegyzetalapú naplószűrés számítási feladatokhoz: Hatékony naplószűrési technika podjegyzeteken keresztül. A felhasználók a releváns információkra összpontosíthatnak anélkül, hogy zajt szitálnak. A széljegyzetalapú szűrés lehetővé teszi a felhasználók számára, hogy bizonyos podok és tárolók naplógyűjteményét kizárják a pod megjegyzésével, ami jelentősen csökkentené a naplóelemzési költségeket.
ConfigMap-alapú naplószűrés platformnaplókhoz (System Kubernetes-névterek): A platformnaplókat 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 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. Vegyük például a coredns tárolót a kube-system névtérben. A naplók (stdout és stderr) kizárólag a coredns-tároló űrlap kube-rendszerből való gyűjtéséhez engedélyezheti a következő beállításokat a konfigurációtérképen.
- Grafana-irányítópult vizualizációhoz: A Grafana-irányítópult nem csak a kritikustól az ISMERETLENig terjedő naplószintek színkódolt vizualizációit jeleníti meg, hanem a Naplók kötete, a Naplók sebessége, a Naplórekordok és a Naplók funkcióval is foglalkozik. A felhasználók időérzékeny elemzéseket, dinamikus elemzéseket kaphatnak a naplószintű trendekről az idő függvényében, és fontos valós idejű monitorozást végezhetnek. A számítógép, pod és tároló részletes lebontását is biztosítjuk, amely lehetővé teszi a részletes elemzést és a pontos hibaelhárítást. Végül az új Naplók tábla felületén a felhasználók részletes részleteket tekinthetnek meg kibontott nézetben, és megtekinthetik az egyes oszlopokban lévő adatokat, és nagyíthatják a megtekinteni kívánt információkat.
Íme egy videó, amely a Grafana irányítópultját mutatja be:
Kubernetes-metaadatok és naplók szűrésének engedélyezése
Előfeltételek
Migrálás felügyelt identitáshitelesítésre. További információ.
Győződjön meg arról, hogy a ContainerLogV2 engedélyezve van. A felügyelt identitás-hitelesítési fürtök alapértelmezés szerint engedélyezve vannak ezzel a sémával. Ha nem, engedélyezze a ContainerLogV2 sémát.
Korlátozások
A ContainerLogV2 Grafana irányítópult nem támogatott a ContainerLogV2 tábla Alapszintű naplók termékváltozata esetében.
Kubernetes-metaadatok engedélyezése
- Töltse le a konfigurációtérképet, és módosítsa a beállításokat hamisról igazra az alábbi képernyőképen látható módon. Vegye figyelembe, hogy alapértelmezés szerint az összes támogatott metaadatmezőt összegyűjti a rendszer. Ha konkrét mezőket szeretne gyűjteni, adja meg a szükséges mezőket a mezőben
include_fields
.
Alkalmazza a ConfigMap-et. A konfigurációtérkép telepítésével és konfigurálásával kapcsolatos további információkért tekintse meg a konfigurációtérkép konfigurálását ismertető témakört.
Néhány perc elteltével az adatoknak a ContainerLogV2 táblába kell áramlani a Kubernetes Logs Metaadataival, ahogy az az alábbi képernyőképen látható.
Bevezetés a Grafana-irányítópult felületére
- A Elemzések lapon válassza a monitorozási beállításokat, majd a Grafana irányítópultra való előkészítést a 10.3.4-es vagy újabb verzióval
- A Hozzáférés-vezérlés (IAM) ellenőrzésével győződjön meg arról, hogy rendelkezik a Grafana Rendszergazda/Szerkesztő/Olvasó szerepkörök egyikével. Ha nem, vegye fel őket.
- Győződjön meg arról, hogy a Grafana-példány rendelkezik hozzáféréssel az Azure Logs Analytics(LA) munkaterülethez. Ha nem rendelkezik hozzáféréssel, hozzáférést kell adnia a Grafana példányfigyelési olvasó szerepkörének az LA-munkaterülethez.
Lépjen a Grafana-munkaterületre, és importálja a ContainerLogV2 irányítópultot a Grafana gyűjteményből.
Válassza ki az adatforrás, az előfizetés, a ResourceGroup, a fürt, a névtér és a címkék adatait. Az irányítópult ezután feltöltődik az alábbi képernyőképen látható módon.
Feljegyzés
Amikor először betölti a Grafana-irányítópultot, az hibát okozhat, mivel 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.
Széljegyzetalapú szűrés engedélyezése
A széljegyzetalapú szűrés engedélyezéséhez kövesse az alábbi lépéseket. A kapcsolódó szűrési dokumentáció közzététele után itt találja a hivatkozást.
- Töltse le a konfigurációtérképet , és módosítsa a beállításokat hamisról igazra az alábbi képernyőképen látható módon.
Alkalmazza a ConfigMap-et. A konfigurációtérkép telepítésével és konfigurálásával kapcsolatos további információkért tekintse meg a konfigurációtérkép konfigurálását ismertető témakört.
Adja hozzá a szükséges széljegyzeteket a számítási feladat podjának specifikációjához. Az alábbi táblázat különböző lehetséges podjegyzeteket és azok leírását emeli ki.
Jegyzet | Leírás |
---|---|
fluentbit.io/exclude: "true" |
Mindkét stdout &stderr-streamet kizárja a Pod összes tárolóján |
fluentbit.io/exclude_stdout: "true" |
Csak az stdout streamet zárja ki a pod összes tárolóján |
fluentbit.io/exclude_stderr: "true" |
Csak a stderr-stream kizárása a pod összes tárolóján |
fluentbit.io/exclude_container1: "true" |
Mindkét stdout &stderr-stream kizárása csak a pod1 tárolóhoz |
fluentbit.io/exclude_stdout_container1: "true" |
Csak az stdout kizárása csak a pod1 tárolójában |
Feljegyzés
Ezek a széljegyzetek folyékony bitalapúak. Ha a Kubernetes beépülő modulszűrővel és a széljegyzetalapú kizárással saját, fluent bites alapú naplógyűjtési megoldást használ, az a Tároló Elemzések és a megoldás naplóinak gyűjtését is leállítja.
Íme egy példa a podspektrakcióban fluentbit.io/exclude: "true"
lévő széljegyzetre:
apiVersion: v1
kind: Pod
metadata:
name: apache-logs
labels:
app: apache-logs
annotations:
fluentbit.io/exclude: "true"
spec:
containers:
- name: apache
image: edsiper/apache_logs
ConfigMap-alapú naplószűrés platformnaplókhoz (System Kubernetes-névterek)
- Töltse le a konfigurációtérképet, és módosítsa a kapcsolódó
collect_system_pod_logs
beállításokat.exclude_namespaces
Ha például a kube-system névtérben szeretné összegyűjteni a coredns tároló stdout & stderr naplóit, győződjön meg arról, hogy a kube-system névtér nincs benne exclude_namespaces
, és ez a funkció csak a következő rendszernévterekre korlátozódik: kube-system, gatekeeper-system, calico-system, azure-arc, kube-public és kube-node-lease namespaces.
- Alkalmazza a ConfigMap-et. A konfigurációtérkép telepítésével és konfigurálásával kapcsolatos további információkért tekintse meg a konfigurációtérkép konfigurálását ismertető témakört.
Többsoros naplózás a Tároló Elemzések
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