Adatgyűjtés konfigurálása a Container Insightsban a ConfigMap használatával
Ez a cikk bemutatja, hogyan konfigurálhatja az adatgyűjtést a Container Insightsban a ConfigMap használatával. A Config Térképek egy Kubernetes-mechanizmus, amellyel nem bizalmas adatokat, például konfigurációs fájlokat vagy környezeti változókat tárolhat.
A ConfigMap elsősorban a fürt tárolónaplóinak és környezeti változóinak adatgyűjtésének konfigurálására szolgál. Egyénileg konfigurálhatja az stdout- és stderr-naplókat, valamint engedélyezheti a többsoros naplózást is. l A ConfigMap használatával végrehajtható konkrét konfiguráció a következőket tartalmazza:
- Stdout- és stderr-naplók engedélyezése/letiltása és névtérszűrés
- A fürt környezeti változóinak gyűjtésének engedélyezése/letiltása
- Normál Kube-események szűrése
- Naplóséma kiválasztása
- Többsoros naplózás engedélyezése/letiltása
- Proxybeállítások figyelmen kívül hagyása
Fontos
A Container Insightsban az adatgyűjtés teljes konfigurálásához szükség lehet a fürt ConfigMap-jának és adatgyűjtési szabályának (DCR) szerkesztésére is, mivel minden módszer más beállításkészlet konfigurálását teszi lehetővé.
Lásd: Adatgyűjtés konfigurálása a Container Insightsban adatgyűjtési szabály használatával a beállítások listájához és az adatgyűjtés DCR használatával történő konfigurálásának folyamatához.
Előfeltételek
- 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.
- 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. Az ügynök verziójának ellenőrzéséhez a Csomópont lapon válasszon ki egy csomópontot. A Tulajdonságok panelen jegyezze fel az Ügynök képcímkéje tulajdonság értékét. Az ügynökverziókról és az egyes kiadásokban szereplő információkról az Ügynök kibocsátási megjegyzéseiben talál további információt.
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:
Töltse le a sablon ConfigMap YAML-fájlt , és nyissa meg egy szerkesztőben. Ha már rendelkezik ConfigMap-fájllal, használhatja azt.
A ConfigMap YAML-fájl szerkesztése a testreszabásokkal az adatgyűjtési beállításokban leírt beállítások használatával
Hozzon létre egy konfigurációtérképet a következő kubectl-parancs futtatásával:
kubectl apply -f <configmap_yaml_file.yaml>
Példa:
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`.
Adatgyűjtési beállítások
Az alábbi táblázat az adatgyűjtés vezérlésére konfigurálható beállításokat ismerteti.
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 |
Ez a beállítás 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 . Ha a környezeti változók gyűjteménye globálisan engedélyezve van, letilthatja azt egy adott tároló esetében úgy, hogy False a környezeti változót AZMON_COLLECT_ENV dockerfile beállítással vagy a pod szakasz alatti env: konfigurációs fájljában állítja be. Ha a környezeti változók gyűjteménye globálisan le van tiltva, nem engedélyezheti a gyűjteményt egy adott tárolóhoz. A tároló szintjén csak akkor alkalmazható felülbírálás, ha letiltja a gyűjteményt, ha az már globálisan engedélyezve van. |
[enrich_container_logs] enabled |
Logikai | true false |
A tárolónapló-bővítést szabályozza, hogy a fürt összes tárolónaplójához kitöltse a Name Image ContainerLogV2 vagy ContainerLog táblába írt összes naplórekord és tulajdonság értékét. 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 Elemzések-ben. 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 . |
[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 . |
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
Ha az Azure Monitor-ügynök podjai konfigurációs hibákba ütköznek, a kimenet az alábbi példához hasonló hibákat jelenít meg:
***************Start Config Processing********************
config::unsupported/missing config schema version - 'v21' , using defaults
A konfigurációmódosítások alkalmazásával kapcsolatos hibák is megtekinthetők. A konfigurációs módosítások további hibaelhárításához az alábbi lehetőségek állnak rendelkezésre:
Egy ügynök podnaplójából ugyanazzal
kubectl logs
a paranccsal.Élő naplókból. Az élő naplók az alábbi példához hasonló hibákat mutatnak:
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 Log Analytics-munkaterület KubeMonAgentEvents táblájából. A rendszer óránként küldi el az adatokat a konfigurációs hibák hiba súlyosságával. Ha nincsenek hibák, a táblában lévő bejegyzés súlyossági adatokat tartalmaz, amelyek nem jelentenek hibákat. A Címkék tulajdonság 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 óra számát.
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.
A következő példához hasonló kimenet jelenik meg a széljegyzetséma-verziókkal:
Name: ama-logs-fdf58
Namespace: kube-system
Node: aks-agentpool-95673144-0/10.240.0.4
Start Time: Mon, 10 Jun 2019 15:01:03 -0700
Labels: controller-revision-hash=589cc7785d
dsName=ama-logs-ds
pod-template-generation=1
Annotations: agentVersion=1.10.0.1
dockerProviderVersion=5.0.0-0
schema-versions=v1
Gyakori kérdések
Hogyan engedélyezi a naplógyűjtést a Kube-rendszer névterében lévő tárolók számára a Helmen keresztül?
A kube-system névtér tárolóiból származó naplógyűjtemény alapértelmezés szerint le van tiltva. A naplógyűjtést úgy engedélyezheti, hogy beállít egy környezeti változót az Azure Monitor Agentben. Tekintse meg a Container Insights GitHub-oldalát.
Következő lépések
- Lásd: Adatgyűjtés konfigurálása a Container Insightsban adatgyűjtési szabály használatával az adatgyűjtés konfigurálásához dCR használatával a ConfigMap helyett.