Naplógyűjtés konfigurálása a Container Insightsban
Ez a cikk részletesen bemutatja, hogyan konfigurálhatja az adatgyűjtést a Container Insightsban a Kubernetes-fürthöz az előkészítés után. A Tárolóelemzések fürthöz való engedélyezéséről a Kubernetes-fürtök figyelésének engedélyezése című témakörben talál útmutatást.
Konfigurációs módszerek
A Container Insightsban gyűjtött adatok konfigurálására és szűrésére két módszer használható. A beállítástól függően választhat a két módszer közül, vagy szükség lehet az egyik vagy a másik használatára. A két módszert az alábbi táblázat ismerteti részletes információkkal a következő szakaszokban.
Metódus | Leírás |
---|---|
Adatgyűjtési szabály (DCR) | Az adatgyűjtési szabályok olyan utasítások, amelyek az Azure Monitor-folyamat használatával történő adatgyűjtést támogatják. A Tárolóelemzések engedélyezésekor létrejön egy DCR, és módosíthatja a DCR beállításait az Azure Portal vagy más módszerek használatával. |
ConfigMap | A ConfigMaps egy Kubernetes-mechanizmus, amellyel nem bizalmas adatokat, például konfigurációs fájlokat vagy környezeti változókat tárolhat. A Container Insights minden egyes fürtön egy ConfigMap-et keres, amely olyan beállításokat ad meg, amelyek meghatározzák az összegyűjtendő adatokat. |
Adatgyűjtés konfigurálása DCR használatával
A Container Insights által létrehozott DCR neve MSCI-cluster-region-cluster-name><<>. Ezt a DCR-t az előfizetés többi felhasználójával együtt tekintheti meg, és az Azure Monitor adatgyűjtési szabályainak (DCR-k) létrehozásával és szerkesztésével leírt módszerekkel szerkesztheti. Bár közvetlenül módosíthatja a DCR-t bizonyos testreszabásokhoz, a szükséges konfigurációt az alább ismertetett módszerekkel hajthatja végre. A speciálisabb konfigurációkért tekintse meg a Container Insights adatátalakításait a DCR közvetlen szerkesztésével kapcsolatos részletekért.
Fontos
Az AKS-fürtöknek rendszer által hozzárendelt vagy felhasználó által hozzárendelt felügyelt identitást kell használniuk. Ha a fürt szolgáltatásnevet használ, frissítenie kell a fürtöt, hogy rendszer által hozzárendelt felügyelt identitást vagy felhasználó által hozzárendelt felügyelt identitást használjon.
DCR konfigurálása az Azure Portallal
Az Azure Portal használatával több előre beállított konfiguráció közül választhat az adatgyűjtéshez a Container Insightsban. Ezek a konfigurációk különböző táblákat és gyűjtési gyakoriságokat tartalmaznak az adott prioritásoktól függően. Testre is szabhatja a beállításokat, hogy csak a szükséges adatokat gyűjtse össze. Az Azure Portal használatával testre szabhatja a meglévő fürt konfigurációját a Container Insights engedélyezése után, vagy ezt a konfigurációt akkor is végrehajthatja, ha engedélyezi a Container Insightst a fürtön.
Válassza ki a fürtöt az Azure Portalon.
Válassza az Elemzések lehetőséget a menü Figyelés szakaszában.
Ha a Container Insights már engedélyezve van a fürtön, válassza a Figyelési beállítások gombot . Ha nem, válassza az Azure Monitor konfigurálása lehetőséget, és a monitorozás engedélyezésével kapcsolatos részletekért tekintse meg a Kubernetes-fürt monitorozásának engedélyezése az Azure Monitorral című témakört.
Az AKS és az Arc-kompatibilis Kubernetes esetében válassza a Felügyelt identitás használata lehetőséget, ha még nem migrálta a fürtöt a felügyelt identitás hitelesítésére.
Válassza ki a költségkészletek egyikét.
Előre beállított költség A gyűjtés gyakorisága Namespace szűrők Syslog-gyűjtemény Összegyűjtött adatok Standard 1 m Egyik sem Nincs engedélyezve Minden szabványos tárolóelemzési tábla Költségoptimalizált 5 m Kizárja a kube-system, gatekeeper-system, azure-arc Nincs engedélyezve Minden szabványos tárolóelemzési tábla Rendszernapló 1 m Egyik sem Alapértelmezés szerint engedélyezve Minden szabványos tárolóelemzési tábla Naplók és események 1 m Egyik sem Nincs engedélyezve ContainerLog/ContainerLogV2
KubeEvents
KubePodInventoryHa testre szeretné szabni a beállításokat, kattintson a Gyűjtemény beállításainak szerkesztése elemre.
Név Leírás A gyűjtés gyakorisága Meghatározza, hogy az ügynök milyen gyakran gyűjt adatokat. Az érvényes értékek 1 m – 30 m 1m intervallumban Az alapértelmezett érték 1m. Namespace szűrés Kikapcsolva: Adatokat gyűjt az összes névtéren.
Tartalmazza: Csak a névterek mező értékeiből gyűjt adatokat.
Kizárás: Adatokat gyűjt az összes névtérből, kivéve a névterek mező értékeit .
A vesszővel elválasztott Kubernetes-névterek tömbje leltár- és perf-adatok gyűjtéséhez aFilteringMode névtér alapján. Például a Névterek = ["kube-system", "default"] with an Include (Belefoglalás ) beállítás csak ezt a két névteret gyűjti össze. Kizárási beállítás esetén az ügynök az összes többi névtérből gyűjt adatokat a kube-system és az alapértelmezett érték kivételével.Összegyűjtött adatok Meghatározza, hogy mely Container Insights-táblákat kell összegyűjteni. Az egyes csoportosítások leírását alább találja. ContainerLogV2 engedélyezése Logikai jelző a ContainerLogV2 séma engedélyezéséhez. Ha igaz értékre van állítva, a stdout/stderr naplók a ContainerLogV2 táblába kerülnek. Ha nem, akkor a tárolónaplók a ContainerLog táblába kerülnek, kivéve, ha a ConfigMap másként van megadva. Az egyes streamek megadásakor tartalmaznia kell a ContainerLog vagy a ContainerLogV2 megfelelő táblát. Syslog-gyűjtemény engedélyezése Engedélyezi a Syslog-gyűjteményt a fürtből. Az Összegyűjtött adatok beállítással kiválaszthatja a fürthöz feltöltött táblákat. A táblák a leggyakoribb forgatókönyvek szerint vannak csoportosítva. Az egyes táblák megadásához módosítania kell a DCR-t egy másik módszerrel.
Csoportosítás Táblák Jegyzetek Minden (alapértelmezett) Minden szabványos tárolóelemzési tábla Az alapértelmezett Container Insights-vizualizációk engedélyezéséhez szükséges Teljesítmény Perf, InsightsMetrics Naplók és események ContainerLog vagy ContainerLogV2, KubeEvents, KubePodInventory Ajánlott, ha engedélyezte a felügyelt Prometheus-metrikákat Számítási feladatok, üzemelő példányok és HPA-k InsightsMetrics, KubePodInventory, KubeEvents, ContainerInventory, ContainerNodeInventory, KubeNodeInventory, KubeServices Tartós kötetek InsightsMetrics, KubePVInventory A beállítások mentéséhez kattintson a Konfigurálás gombra.
Alkalmazható táblák és metrikák a DCR-hez
A gyűjtési gyakoriság és a névtér szűrésének beállításai a DCR-ben nem vonatkoznak az összes Container Insights-adatra. Az alábbi táblázatok felsorolják a Container Insights által használt Log Analytics-munkaterületen lévő táblákat, valamint az általa gyűjtött metrikákat, valamint az egyes beállításokat.
Tábla neve | Intervallum? | Névterek? | Megjegyzések |
---|---|---|---|
ContainerInventory | Igen | Igen | |
ContainerNodeInventory | Igen | Nem | A névterek adatgyűjtési beállítása nem alkalmazható, mivel a Kubernetes Node nem névtér hatókörű erőforrás |
KubeNodeInventory | Igen | Nem | A névterek adatgyűjtési beállítása nem alkalmazható A Kubernetes-csomópont nem névtér hatókörrel rendelkező erőforrás |
KubePodInventory | Igen | Igen | |
KubePVInventory | Igen | Igen | |
KubeServices | Igen | Igen | |
KubeEvents | Nem | Igen | Az intervallum adatgyűjtési beállítása nem alkalmazható a Kubernetes-eseményekre |
Perf | Igen | Igen | A névterek adatgyűjtési beállítása nem alkalmazható a Kubernetes-csomóponttal kapcsolatos metrikákra, mivel a Kubernetes-csomópont nem névtér hatókörrel rendelkező objektum. |
InsightsMetrics | Igen | Igen | Az adatgyűjtési beállítások csak a következő névtereket gyűjtő metrikákra vonatkoznak: container.azm.ms/kubestate, container.azm.ms/pv és container.azm.ms/gpu |
Metrikai névtér | Intervallum? | Névterek? | Megjegyzések |
---|---|---|---|
Insights.container/nodes | Igen | Nem | A csomópont nem névtér hatókörrel rendelkező erőforrás |
Insights.container/pods | Igen | Igen | |
Insights.container/containers | Igen | Igen | |
Insights.container/persistentvolumes | Igen | Igen |
Értékek streamelése a DCR-ben
Amikor a cli vagy arm használatával gyűjtendő táblákat adja meg, a Log Analytics-munkaterület egy adott táblájának megfelelő streamnevet ad meg. Az alábbi táblázat felsorolja az egyes táblák streamnevét.
Feljegyzés
Ha ismeri az adatgyűjtési szabály struktúráját, a táblázatban szereplő streamnevek a DCR adatfolyamok szakaszában vannak megadva.
Stream | Container Insights-tábla |
---|---|
Microsoft-ContainerInventory | ContainerInventory |
Microsoft-ContainerLog | ContainerLog |
Microsoft-ContainerLogV2 | ContainerLogV2 |
Microsoft-ContainerLogV2–Nagy skálázás | ContainerLogV2 (Nagy skálázási mód)1 |
Microsoft-ContainerNodeInventory | ContainerNodeInventory |
Microsoft-InsightsMetrics | InsightsMetrics |
Microsoft-KubeEvents | KubeEvents |
Microsoft-KubeMonAgentEvents | KubeMonAgentEvents |
Microsoft-KubeNodeInventory | KubeNodeInventory |
Microsoft-KubePodInventory | KubePodInventory |
Microsoft-KubePVInventory | KubePVInventory |
Microsoft-KubeServices | KubeServices |
Microsoft-Perf | Perf |
1 Ne használja a Microsoft-ContainerLogV2 és a Microsoft-ContainerLogV2-HighScale elemet ugyanabban a DCR-ben. Ez duplikált adatokat eredményez.
DCR megosztása több fürttel
Ha engedélyezi a Container Insightst egy Kubernetes-fürtön, a rendszer létrehoz egy új DCR-t a fürthöz, és az egyes fürtök DCR-je egymástól függetlenül módosítható. Ha több, egyéni monitorozási konfigurációval rendelkező fürttel rendelkezik, előfordulhat, hogy egyetlen DCR-t több fürttel szeretne megosztani. Ezután módosíthatja egyetlen olyan DCR-t, amely automatikusan implementálva van a hozzá társított fürtök esetében.
A DCR egy olyan fürthöz van társítva, amelyhez egy adatgyűjtési szabály társítva van (DCRA). Az előzetes verziójú DCR-felületen megtekintheti és eltávolíthatja az egyes fürtök meglévő DCR-társításait. Ezzel a funkcióval társításokat adhat hozzá egyetlen DCR-hez több fürthöz.
Adatgyűjtés konfigurálása a ConfigMap használatával
A ConfigMaps egy Kubernetes-mechanizmus, amely lehetővé teszi nem bizalmas adatok, például konfigurációs fájlok vagy környezeti változók tárolását. A Container Insights minden egyes fürtön egy ConfigMap-et keres, amely olyan beállításokat ad meg, amelyek meghatározzák az összegyűjtendő adatokat.
Fontos
A ConfigMap egy globális lista, és csak egy ConfigMap alkalmazható a Container Insights ügynökére. Egy másik konfigurációtérkép alkalmazása felülírja a korábbi ConfigMap-gyűjteménybeállításokat.
Előfeltételek
- A tárolóterhelésekből származó stdout, stderr és környezeti változók gyűjtéséhez támogatott minimális ügynökverzió a ciprod06142019 vagy újabb.
ConfigMap konfigurálása és üzembe helyezése
A ConfigMap konfigurációs fájljának konfigurálásához és fürtben való üzembe helyezéséhez kövesse az alábbi eljárást:
Ha még nem rendelkezik ConfigMap for Container Insights szolgáltatással, töltse le a sablon ConfigMap YAML-fájlját , és nyissa meg egy szerkesztőben.
Szerkessze a ConfigMap YAML-fájlt a testreszabásokkal. A sablon tartalmazza az összes érvényes beállítást és leírást. A beállítás engedélyezéséhez távolítsa el a megjegyzés karaktert (#), és állítsa be az értékét.
Hozzon létre egy konfigurációtérképet a következő kubectl-parancs futtatásával:
kubectl config set-context <cluster-name> kubectl apply -f <configmap_yaml_file.yaml> # Example: kubectl config set-context my-cluster kubectl apply -f container-azm-ms-agentconfig.yaml
A konfigurációmódosítás érvénybe lépése előtt eltarthat néhány percig. Ezután a fürt összes Azure Monitor Agent-podja újraindul. Az újraindítás az Azure Monitor Agent összes podjának folyamatos újraindítása, ezért nem mindegyik egyszerre indul újra. Ha az újraindítások befejeződnek, a következő eredményhez hasonló üzenetet fog kapni:
configmap "container-azm-ms-agentconfig" created`.
Konfiguráció ellenőrzése
Annak ellenőrzéséhez, hogy a konfiguráció sikeresen alkalmazva lett-e egy fürtre, az alábbi paranccsal tekintse át az ügynök podjának naplóit.
kubectl logs ama-logs-fdf58 -n kube-system -c ama-logs
Ha az Azure Monitor-ügynök podjai konfigurációs hibákba ütköznek, a kimenet az alábbihoz hasonló hibákat fog megjeleníteni:
***************Start Config Processing********************
config::unsupported/missing config schema version - 'v21' , using defaults
A konfigurációs módosítások további hibaelhárításához használja az alábbi beállításokat:
Használja ugyanazt
kubectl logs
a parancsot egy ügynök podjából.Tekintse át a következőhöz hasonló hibákat az élő naplókban:
config::error::Exception while parsing config map for log collection/env variable settings: \nparse error on value \"$\" ($end), using defaults, please check config map for errors
A rendszer óránként elküldi az adatokat a
KubeMonAgentEvents
Log Analytics-munkaterület táblájába, és a konfigurációs hibák súlyossága miatt. Ha nincsenek hibák, a táblában lévő bejegyzés súlyossági adatokat tartalmaz, amelyek nem jelentenek hibákat. AzTags
oszlop további információkat tartalmaz arról a podról és tárolóazonosítóról, amelyen a hiba történt, valamint az első előfordulást, az utolsó előfordulást és az elmúlt órában történt darabszámot.
Sémaverzió ellenőrzése
A támogatott konfigurációs sémaverziók podjegyzetként (sémaverziókként) érhetők el az Azure Monitor-ügynök podján. Ezeket a következő kubectl paranccsal tekintheti meg.
kubectl describe pod ama-logs-fdf58 -n=kube-system.
Konfigurációtérkép beállításai
Az alábbi táblázat ismerteti azokat a beállításokat, amellyel konfigurálhatja az adatgyűjtést a ConfigMap használatával.
Beállítás | Adattípus | Érték | Leírás |
---|---|---|---|
schema-version |
Sztring (kis- és nagybetűk megkülönböztetése) | v1 | Ezt a konfigurációtérképet az ügynök használja. A jelenleg támogatott sémaverzió az 1- es verzió. Az érték módosítása nem támogatott, és a ConfigMap kiértékelésekor a rendszer elutasítja. |
config-version |
Sztring | Lehetővé teszi a konfigurációs fájl verziójának nyomon követését a forrásvezérlő rendszerben/adattárban. A megengedett karakterek maximális száma 10, a többi karakter pedig csonkolt. | |
[log_collection_settings] | |||
[stdout] enabled |
Logikai | true false |
Azt szabályozza, hogy engedélyezve van-e az stdout tárolónapló-gyűjtemény. Ha az true stdout-naplógyűjtésben nincs névtér, és nincs kizárva névtér, az stdout-naplók a fürt összes podjában és csomópontjában lévő összes tárolóból lesznek összegyűjtve. Ha nincs megadva a konfigurációtérképen, az alapértelmezett érték a következő true . |
[stdout] exclude_namespaces |
Sztring | Vesszővel tagolt tömb | Azon Kubernetes-névterek tömbje, amelyekhez nem lesznek gyűjtve stdout-naplók. Ez a beállítás csak akkor érvényes, ha enabled be van állítva.true Ha nincs megadva a konfigurációtérképen, az alapértelmezett érték a következő:["kube-system","gatekeeper-system"] . |
[stderr] enabled |
Logikai | true false |
Azt szabályozza, hogy engedélyezve van-e az stderr-tárolónapló-gyűjtemény. Ha az true stderr-naplógyűjtésben nincs névtér, és nincs kizárva névtér, az stderr-naplók a fürt összes podjában és csomópontjában lévő összes tárolóból lesznek összegyűjtve. Ha nincs megadva a konfigurációtérképen, az alapértelmezett érték a következő true . |
[stderr] exclude_namespaces |
Sztring | Vesszővel tagolt tömb | Azon Kubernetes-névterek tömbje, amelyekhez az stderr-naplók nem lesznek összegyűjtve. Ez a beállítás csak akkor érvényes, ha enabled be van állítva.true Ha nincs megadva a konfigurációtérképen, az alapértelmezett érték a következő:["kube-system","gatekeeper-system"] . |
[env_var] enabled |
Logikai | true false |
Szabályozza a környezeti változók gyűjteményét a fürt összes podja és csomópontja között. Ha nincs megadva a konfigurációtérképen, az alapértelmezett érték a következő true . |
[enrich_container_logs] enabled |
Logikai | true false |
A tárolónaplók kibővítését szabályozza a Name fürt összes tárolónaplójának ContainerLog táblába írt összes naplórekordjának és Image tulajdonságértékeinek feltöltéséhez. Ha nincs megadva a konfigurációtérképen, az alapértelmezett érték a következő false . |
[collect_all_kube_events] enabled |
Logikai | true false |
Azt szabályozza, hogy a rendszer minden típusú Kube-eseményt gyűjt-e. Alapértelmezés szerint a Normál típusú Kube-események nem lesznek összegyűjtve. Ha ez a beállítás be van true állítva, a normál események már nem lesznek szűrve, és az összes eseményt összegyűjti a rendszer. Ha nincs megadva a konfigurációtérképen, az alapértelmezett érték a következő false . |
[schema] containerlog_schema_version |
Sztring (kis- és nagybetűk megkülönböztetése) | v2 v1 |
Beállítja a naplóbetöltés formátumát. Ha v2 a ContainerLogV2 táblát használja a rendszer. Ha v1 a ContainerLog táblát használja (ez a tábla elavult). A tárolóelemzést az Azure CLI 2.54.0-s vagy újabb verziójával engedélyező fürtök esetében az alapértelmezett beállítás a v2 . Részletekért tekintse meg a Container Insights naplós sémáját . |
[enable_multiline_logs] enabled |
Logikai | true false |
Azt szabályozza, hogy engedélyezve vannak-e a többsoros tárolónaplók. Részletekért tekintse meg a Többsoros naplózást a Container Insightsban . Ha nincs megadva a konfigurációtérképen, az alapértelmezett érték a következő false . Ehhez a beállításnak meg schema kell lennie v2 . |
[metadata_collection] enabled |
Logikai | true false |
Azt szabályozza, hogy a metaadatok a tábla oszlopában KubernetesMetadata ContainerLogV2 legyenek-e összegyűjtve. |
[metadata_collection] include_fields |
Sztring | Vesszővel tagolt tömb | A belefoglalandó metaadatmezők listája. Ha a beállítás nincs használatban, a rendszer minden mezőt összegyűjt. Az érvényes értékek a következők: ["podLabels","podAnnotations","podUid","image","imageID","imageRepo","imageTag"] |
[metric_collection_settings] | |||
[collect_kube_system_pv_metrics] enabled |
Logikai | true false |
Lehetővé teszi az állandó kötetek (PV) használati metrikáinak gyűjtését a kube-system névtérben. Alapértelmezés szerint a kube-system névtérben állandó mennyiségi jogcímekkel rendelkező állandó kötetek használati metrikái nem lesznek összegyűjtve. Ha ez a beállítás be van állítva true , a rendszer összegyűjti az összes névtér PV-használati metrikáit. Ha nincs megadva a konfigurációtérképen, az alapértelmezett érték a következő false . |
[agent_settings] | |||
[proxy_config] ignore_proxy_settings |
Logikai | true false |
Amikor true a rendszer figyelmen kívül hagyja a proxybeállításokat. Az AKS és az Arc-kompatibilis Kubernetes-környezetek esetében, ha a fürt továbbítási proxyval van konfigurálva, akkor a proxybeállítások automatikusan érvényesülnek, és az ügynökhöz lesznek használva. Bizonyos konfigurációk esetében, például az AMPLS+ proxy esetében előfordulhat, hogy a proxykonfiguráció figyelmen kívül hagyása szükséges. Ha nincs megadva a konfigurációtérképen, az alapértelmezett érték a következő false . |
Következő lépések
- A költségek megtakarításával kapcsolatos részletekért tekintse meg a Container Insights naplógyűjteményének szűrését úgy, hogy konfigurálja a container insightst a nem szükséges adatok szűrésére.