Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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áblázat azoknak az ügyfeleknek, akik a felügyelt identitáshitelesítéssel használják a Container Insights szolgáltatást. 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 | Kontejnernapló | 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 |
| Beilleszté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. | Többsoros naplózás támogatása a többsoros kimenet egyesített, egyetlen bejegyzéseként történő megjelenítéséhez. |
1 Ha LogMessage érvényes JSON, és rendelkezik egy elnevezett kulccsal level, a rendszer az értékét fogja használni. Amennyiben más módon nem lehetséges, a regex-alapú kulcsszóegyeztetést a LogLevel következtetésére a LogMessage forrásból használjuk. Ez a következtetés néhány helytelen besorolást eredményezhet.
LogLevel egy olyan sztringmező, amely egészségügyi értéket tartalmaz, mint például CRITICAL, ERROR, WARNING, INFO, DEBUG, TRACE vagy UNKNOWN.
A 2KubernetesMetadata egy választható oszlop, amely Kubernetes-metaadatokkal van engedélyezve. Ennek a mezőnek az értéke JSON a mezőkkelpodLabels, podAnnotations, , podUidImage, ImageTagés Image repo.
A 3 DCR-konfigurációhoz felügyelt identitáshitelesítés szükséges.
Feljegyzés
A LogMessage mező dinamikus, és támogatja a JSON- és az egyszerű szöveges sztringformátumok betöltését is.
A naplóadatok Event Hubsba és Storage-fiókba való exportálása akkor támogatott, ha a bejövő LogMessage érték érvényes JSON vagy egy érvényes egyszerű sztring.
Ha a LogMessage JSON hibás formátumú, akkor a naplóüzenetek karakter escaping-gel lesznek feldolgozva. Alapértelmezés szerint a rendszer a 16 KB-nál nagyobb naplóüzeneteket csonkolja. Ha engedélyezve van a többsoros naplózás , a rendszer csonkolja a 64 KB-nál nagyobb naplóüzeneteket.
A ContainerLogV2 séma engedélyezése
Engedélyezze a ContainerLogV2 sémát egy fürt számára vagy a fürt naplóprofiljának, 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 mindkettő 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álata érdekében. Futtassa a következő Azure Resource Graph-lekérdezést, hogy megkeresse azokat a riasztási szabályokat, amelyek a ContainerLog táblára hivatkoznak.
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.
Feljegyzés
A Kubernetes-metaadatokkal és naplókkal foglalkozó Grafana irányítópult jelenleg nem támogatja az alapszintű naplókat.
Funkciók
Továbbfejlesztett ContainerLogV2 séma Ha a Kubernetes Naplók metaadatai engedélyezve vannak, hozzáad egy meghívandó
ContainerLogV2KubernetesMetadataoszlopot, 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, ,PodUidImage,ImageID,ImageRepo.ImageTagEzek 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ó hozzáad egy oszlopot a ContainerLogV2-hez, amelynek lehetséges értékei:
LogLevel, hiba, figyelmeztetés, információ, debug, nyomkövetés vagy ismeretlen. 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 a vizualizációhoz A Grafana irányítópult színkóddal ábrázolja a naplószintet, és betekintést nyújt a naplómennyiségbe, naplósebességbe, naplórekordokba és általánosan 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 felesleges információk között keresgélne. 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
corednsnévtérben lévőkube-systemtá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. Az include_fields megjegyzésének törlése az egyes gyűjtendő mezők megadásához.
[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 ContainerLogV2 táblához tartozó naplólekérdezések között az alább látható módon.
A Grafana-irányítópult telepítése
Fontos
Ha a Grafana használatát a Kubernetes-fürtök monitorozásának engedélyezése című útmutatás alapján engedélyezte, akkor a Grafana-példánynak már hozzáférhet az Azure Monitor munkaterülethez a Prometheus-metrikákra. 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 Grafana gyűjteményéből a ContainerLogV2 Dashboard néven. Ezután megnyithatja az irányítópultot, és kiválaszthatja az adatforrás, az előfizetés, a ResourceGroup, a fürt, a névtér (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. 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, amely lehetővé teszi, hogy csak azokat a nyelveket válassza ki, amelyek érdeklik. Ez a funkció a konfigurációtérkép stacktrace_languages lehetőségének nyelveinek szerkesztésével engedélyezhető.
Korlátozások
- A többsoros naplózás csak a Java, a Python, a .NET és a Go használatával varrja össze a kivételverem-nyomkövetéseket a tárolókból. Más többsoros naplóbejegyzések, beleértve az egyéni kivételeket és az tetszőleges naplóüzeneteket, nincsenek összefűzve.
- A többsoros naplózás nem támogatott a Python-kivételverem-nyomkövetések esetében, ha részletes hibakeresési helyek vannak a nyomkövetésekben. A többsoros naplózás működéséhez le kell tiltania ezt a funkciót a Python dokumentációjában leírtak szerint.
- Ha a naplósor mérete meghaladja a 16 KB-ot, a tároló futtatókörnyezete alapértelmezés szerint nem csonkolja, és a naplósor legfeljebb 64 KB-ig lesz támogatott.
Példák
A Go exception stack trace több soros naplózása ki van kapcsolva
A Go hibakivétel veremnyomvonal többvonalas naplózás engedélyezve
A Java verem nyomkövetésének többsoros naplózása engedélyezve van
A Python stack nyomkövetési többsoros naplózása engedélyezve van
Következő lépések
- Konfigurálja az Alapszintű naplókat a ContainerLogv2-hez.
- Megtudhatja, hogyan kérdezhet le adatokat a ContainerLogV2-ből