Share via


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
- LogLevel1
- KubernetesMetadata2
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ést include_fields , és adja meg az összegyűjtendő mezőket.

Metaadatmezőket megjelenítő képernyőkép.

  • 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.

Képernyőfelvétel a szűrési mezőkről.

  • 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

  1. Migrálás felügyelt identitáshitelesítésre. További információ.

  2. 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

  1. 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.

A metaadatmezők engedélyezését bemutató képernyőkép.

  1. 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.

  2. 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ó.

Képernyőkép a containerlogv2-ről.

Bevezetés a Grafana-irányítópult felületére

  1. 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

Képernyőkép a grafana előkészítésről.

  1. 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.

Képernyőkép a grafanaszerepkörökről.

  1. 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.

Képernyőkép a grafánról.

  1. Lépjen a Grafana-munkaterületre, és importálja a ContainerLogV2 irányítópultot a Grafana gyűjteményből.

  2. 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.

Képernyőkép a grafana irányítópultról.

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.

  1. 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.

Széljegyzeteket ábrázoló képernyőkép.

  1. 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.

  2. 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)

  1. 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.

Képernyőfelvétel a szűrési mezőkről.

  1. 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

Képernyőkép a többsoros naplózás letiltásról.

Többsoros naplózás engedélyezve

Képernyőkép a többsoros engedélyezésről.

Java-verem nyomkövetése

Képernyőkép a Java többsoros engedélyezéséről.

Python-verem nyomkövetése

Képernyőkép a Python többsoros engedélyezéséről.

Következő lépések