Megosztás a következőn keresztül:


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.

  1. Válassza ki a fürtöt az Azure Portalon.

  2. Válassza az Elemzések lehetőséget a menü Figyelés szakaszában.

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

    Képernyőkép az AKS-fürtről a Monitorbeállítások gombbal.

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

  5. Válassza ki a költségkészletek egyikét.

    Képernyőkép az előkészítési lehetőségekről.

    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
    KubePodInventory
  6. Ha testre szeretné szabni a beállításokat, kattintson a Gyűjtemény beállításainak szerkesztése elemre.

    Képernyőkép a gyűjtemény beállításairól.

    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.

    Képernyőkép az összegyűjtött adatbeállításokról.

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

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

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

  3. 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. Az Tags 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 v2a ContainerLogV2 táblát használja a rendszer. Ha v1a 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 truea 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.