A Container Insights monitorozási költségeinek ismertetése

Ez a cikk díjszabási útmutatást nyújt a Container Insightshoz, amely segít megérteni a következő lehetőségeket:

  • A költségek mérése, miután a Container Insights engedélyezve lett egy vagy több tároló esetében.
  • Szabályozhatja az adatgyűjtést, és csökkentheti a költségeket.

Tipp.

Az Azure Monitor költségeinek csökkentésére vonatkozó stratégiákért tekintse meg a költségoptimalizálást és az Azure Monitort.

Az Azure Monitor díjszabási modellje elsősorban a Log Analytics-munkaterületre naponta gigabájtban betöltött adatok mennyiségén alapul. A Log Analytics-munkaterületek költségei nem csak a gyűjtött adatok mennyiségén alapulnak, hanem a kiválasztott tervtől és a fürtökből létrehozott adatok tárolásának időétől is függnek.

Megjegyzés:

Mielőtt engedélyezené, tekintse meg az Azure Monitor költségeinek becslését a Container Insights költségeinek becsléséhez.

A Tárolóelemzésekkel rendelkező Kubernetes-fürtökről gyűjtött alábbi adattípusok befolyásolják a költségeket, és a használat alapján testre szabhatók:

  • A perf, az Inventory, a Elemzések Metrics és a KubeEvents költségoptimalizálási beállításokkal szabályozható
  • Stdout- és stderr-tárolónaplók a fürt minden kubernetes-névterében lévő összes figyelt tárolóból a ConfigMap ügynökön keresztül
  • Tárolókörnyezeti változók a fürt minden monitorozott tárolójából
  • Befejezett Kubernetes-feladatok/podok a fürtben, amelyek nem igényelnek monitorozást
  • Prometheus-metrikák aktív kaparása
  • A Kubernetes fő csomópontnaplóinak erőforrásnapló-gyűjteménye az Azure Kubernetes Service -fürtben (AKS) a fő összetevők, például kube-apiserver és kube-controller-manager.

Betöltés vezérlése a költségek csökkentése érdekében

Fontolja meg azt a forgatókönyvet, amelyben a szervezet különböző üzleti egységei osztoznak a Kubernetes-infrastruktúrán és a Log Analytics-munkaterületen. Az egyes üzleti egységeket egy Kubernetes-névtér választja el egymástól. Az adathasználati runbook használatával vizualizálhatja, hogy mennyi adat van betöltve az egyes munkaterületek között. A runbook a Jelentések lapon érhető el.

Screenshot that shows the View Workbooks dropdown list.

Ez a munkafüzet segít az adatok forrásának vizualizációjában anélkül, hogy saját lekérdezéstárat kellene létrehoznia abból, amit a dokumentációnkban megosztunk. Ebben a munkafüzetben olyan diagramokat tekinthet meg, amelyek számlázható adatokat, például a következő adatokat jelenítik meg:

  • A megoldás szerint GB-ban betöltött összes számlázható adat.
  • Tárolónaplók (alkalmazásnaplók) által betöltött számlázható adatok.
  • A Kubernetes-névtér által betöltött számlázható tárolónaplók adatai.
  • A számlázható tároló a fürt neve szerint elkülönítetten betöltött adatokat naplózza.
  • A naplóforrás-bejegyzés által betöltött számlázható tárolónapló-adatok.
  • A diagnosztikai fő csomópontnaplók által betöltött számlázható diagnosztikai adatok.

Screenshot that shows the Data Usage workbook.

A munkafüzethez tartozó jogosultságok és engedélyek kezeléséről a Hozzáférés-vezérlés című témakörben olvashat.

Az adatbetöltés kiváltó okának meghatározása

A tároló Elemzések adatai elsősorban metrikaszámlálókból (Perf, Inventory, Elemzések Metrics és egyéni metrikák) és naplókból (ContainerLog) állnak. A fürt kihasználtsága és mérete alapján eltérő követelményekkel és monitorozási igénykel rendelkezhet.

Az Adathasználat munkafüzet Táblázat szerint szakaszára lépve megtekintheti a Tároló Elemzések táblaméreteinek lebontását.

Screenshot that shows the By Table breakdown in Data Usage workbook.

Ha az adatok többsége az alábbi táblák egyikéből származik:

  • Perf
  • InsightsMetrics
  • ContainerInventory
  • ContainerNodeInventory
  • KubeNodeInventory
  • KubePodInventory
  • KubePVInventory
  • KubeServices
  • KubeEvents

A betöltést a költségoptimalizálási beállításokkal és/vagy a Prometheus-metrikák bővítményre való migrálással módosíthatja

Ellenkező esetben az adatok többsége a ContainerLog táblához tartozik. és az alábbi lépéseket követve csökkentheti a ContainerLog költségeit.

A ContainerLog költségeinek csökkentése

Miután befejezte az elemzést annak megállapításához, hogy mely források hoznak létre olyan adatokat, amelyek túllépik a követelményeket, újrakonfigurálhatja az adatgyűjtést. Az stdout, stderr és környezeti változók gyűjteményének konfigurálásáról további információt az ügynök adatgyűjtési beállításainak konfigurálása című témakörben talál.

Az alábbi példák azt mutatják be, hogy milyen módosításokat alkalmazhat a fürtre a ConfigMap fájl módosításával a költségek szabályozásához.

  1. Tiltsa le a stdout-naplókat a fürt összes névterében a metrikákat lehúzó Azure Container Insights szolgáltatás ConfigMap-fájljában található alábbi kód módosításával:

    [log_collection_settings]       
       [log_collection_settings.stdout]          
          enabled = false
    
  2. Tiltsa le a stderr-naplók gyűjtését a fejlesztési névtérből. Például: dev-test. Folytassa a stderr-naplók gyűjtését más névterekből, például prod és default, a következő kód módosításával a ConfigMap-fájlban:

    Megjegyzés:

    A kube-system naplógyűjtemény alapértelmezés szerint le van tiltva. Az alapértelmezett beállítás megmarad. A rendszer alkalmazza a dev-test névteret a kizárási névterek listájára az stderr-naplógyűjteményre.

    [log_collection_settings.stderr]          
       enabled = true          
          exclude_namespaces = ["kube-system", "dev-test"]
    
  3. Tiltsa le a környezeti változók gyűjteményét a fürtben a következő kód módosításával a ConfigMap fájlban. Ez a módosítás minden Kubernetes-névtérben lévő tárolóra vonatkozik.

    [log_collection_settings.env_var]
        enabled = false
    
  4. A befejezett feladatok törléséhez adja meg a karbantartási szabályzatot a feladatdefiníció yamljében. Az alábbi példában a feladatdefiníció és a törlési szabályzat szerepel. További részletekért tekintse meg a Kubernetes dokumentációját.

    apiVersion: batch/v1
    kind: Job
    metadata:
      name: pi-with-ttl
    spec:
      ttlSecondsAfterFinished: 100
    

Miután egy vagy több módosítást alkalmaz a konfigurációra Térképek alkalmazza azt a fürtre a paranccsalkubectl apply -f <config3. map_yaml_file.yaml>. Futtassa például a parancsot kubectl apply -f container-azm-ms-agentconfig.yaml a fájl alapértelmezett szerkesztőben való megnyitásához a módosításhoz és mentéshez.

Configure Basic Logs

A Log Analytics-munkaterületen a ContainerLog adatbetöltési költségeit mentheti, amelyeket elsősorban hibakereséshez, hibaelhárításhoz és naplózáshoz használ alapszintű naplókként. További információkért, beleértve az alapszintű naplók korlátozásait is, olvassa el az Alapszintű naplók konfigurálása az Azure Monitorban című témakört. A ContainerLogV2 az alapszintű naplók konfigurált verziója, amelyet a Container Elemzések használ. A ContainerLogV2 részletes szöveges naplórekordokat tartalmaz.

Az alapszintű naplók konfigurálásához a ContainerLogV2 sémán kell lennie. További információt a ContainerLogV2 séma engedélyezése (előzetes verzió) című témakörben talál.

Prometheus-metrikák kaparása

Megjegyzés:

Ez a szakasz a Log Analytics-munkaterület Prometheus-metrikáinak gyűjteményét ismerteti. Ezek az információk nem érvényesek, ha felügyelt Prometheust használ a Prometheus-metrikák lekaparásához.

Ha Prometheus-metrikákat gyűjt a Log Analytics-munkaterületen, győződjön meg arról, hogy korlátozza a fürtből gyűjtött metrikák számát:

  • Győződjön meg arról, hogy a kaparási gyakoriság optimálisan van beállítva. The default is 60 seconds. A gyakoriságot 15 másodpercre növelheti, de gondoskodnia kell arról, hogy a kaparásban lévő metrikák ezen a gyakoriságon legyenek közzétéve. Ellenkező esetben a rendszer sok ismétlődő metrikát kapar, és olyan időközönként küldi el a Log Analytics-munkaterületre, amelyek növelik az adatbetöltési és adatmegőrzési költségeket, de kisebb értékűek.
  • A Container Insights metrikanév alapján támogatja a kizárási és befogadási listákat. Ha például kubedns-metrikákat kapar a fürtben, alapértelmezés szerint több százat kaparhat le. De valószínűleg csak a metrikák egy részhalmaza érdekli. Győződjön meg arról, hogy megadta a lekaparni kívánt metrikák listáját, vagy kizárhat másokat, kivéve néhányat az adatbetöltési kötetre való mentéshez. Egyszerűen engedélyezheti a kaparást, és nem használhatja ezeket a metrikákat, amelyek csak a Log Analytics-számlához adnak díjakat.
  • Ha átkaparja a podjegyzeteket, győződjön meg arról, hogy névtér alapján szűr, így kizárja a podmetrikák kaparását a nem használt névterekből. Ilyen például a dev-test névtér.

Kubernetes-fürtökről gyűjtött adatok

Metrikaadatok

A Container Insights előre definiált metrikákat és leltárelemeket tartalmaz, amelyeket naplóadatokként ír a Log Analytics-munkaterületen. Az alábbi táblázatban szereplő összes metrikát percenként gyűjtjük össze.

Típus Metrics
Csomópontmetrikák cpuUsageNanoCores
cpuCapacityNanoCores
cpuAllocatableNanoCores
memoryRssBytes
memoryWorkingSetBytes
memoryCapacityBytes
memoryAllocatableBytes
restartTimeEpoch
used (lemez)
free (lemez)
used_percent (lemez)
io_time (diskio)
writes (diskio)
reads (diskio)
write_bytes (diskio)
write_time (diskio)
iops_in_progress (diskio)
read_bytes (diskio)
read_time (diskio)
err_in (net)
err_out (net)
bytes_recv (net)
bytes_sent (net)
Kubelet_docker_operations (kubelet)
Tárolómetrikák cpuUsageNanoCores
cpuRequestNanoCores
cpuLimitNanoCores
memoryRssBytes
memoryWorkingSetBytes
memoryRequestBytes
memoryLimitBytes
restartTimeEpoch

Fürtleltár

Az alábbi lista az alapértelmezés szerint összegyűjtött fürtleltár-adatok:

  • KubePodInventory – 1 pod/perc
  • KubeNodeInventory – csomópontonként 1 percenként
  • KubeServices – percenként 1 szolgáltatás
  • ContainerInventory – tárolónként 1 percenként

További lépések

Annak megértéséhez, hogy milyen költségek várhatók a Container Insights segítségével gyűjtött adatok legutóbbi használati mintái alapján, tekintse meg a Log Analytics-munkaterületek használatának elemzése című témakört.