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

Ez a cikk díjszabási útmutatást nyújt a Container Insightshoz, hogy segítsen a következők megértésében:

  • Költségek előzetes becslése az Elemzés engedélyezése előtt

  • Költségek mérése egy vagy több tároló esetében a Container Insights engedélyezése után

  • Az adatgyűjtés szabályozása és a költségcsökkentések

Az Azure Monitor-naplók a Kubernetes-fürt által létrehozott adatokat gyűjtik, indexelik és tárolják.

Az Azure Monitor díjszabási modellje elsősorban a Log Analytics-munkaterületre gigabájtban naponta betöltött adatok mennyiségén alapul. A Log Analytics-munkaterületek költségei nem csak az összegyű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őtartamától is.

Megjegyzés

Minden méret és díjszabás csak mintabecsléshez használható. Az Azure Monitor Log Analytics díjszabási modelljén és az Azure-régión alapuló legújabb díjszabásért tekintse meg az Azure Monitor díjszabási oldalát.

Az alábbiakban összefoglaljuk, hogy milyen típusú adatokat gyűjtünk egy Kubernetes-fürtből a Container Insights segítségével, amelyek hatással vannak a költségekre, és a használat alapján testre szabhatók:

  • Stdout- és stderr-tárolónaplók a fürt összes Kubernetes-névterében lévő összes figyelt tárolóbó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 kinyerése

  • A Kubernetes főcsomópontnaplóinak diagnosztikai naplógyűjteménye az AKS-fürtben a fő összetevők , például a kube-apiserver és a kube-controller-manager által létrehozott naplóadatok elemzéséhez.

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

A Container Insights előre definiált metrikákat és leltárelemeket tartalmaz, amelyek naplóadatokként vannak megírva a Log Analytics-munkaterületen. Az alább felsorolt metrikák alapértelmezés szerint egy percenként vannak összegyűjtve.

Összegyűjtött csomópontmetrikák

Az alábbi lista csomópontonkénti 24 metrikát tartalmaz, amelyeket a rendszer összegyűjt:

  • cpuUsageNanoCores
  • cpuCapacityNanoCores
  • cpuAllocatableNanoCores
  • memoryRssBytes
  • memoryWorkingSetBytes
  • memoryCapacityBytes
  • memoryAllocatableBytes
  • restartTimeEpoch
  • használt (lemez)
  • szabad (lemez)
  • used_percent (lemez)
  • io_time (diskio)
  • írás (diskio)
  • olvasások (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 (nettó)
  • bytes_sent (net)
  • Kubelet_docker_operations (kubelet)

Tárolómetrikák

Az alábbi lista a tárolónként gyűjtött nyolc metrikát tartalmazza:

  • 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-adatokat tartalmazza:

  • KubePodInventory – tárolónként 1 percenként
  • KubeNodeInventory – csomópontonként 1 percenként
  • KubeServices – szolgáltatásonként 1 percenként
  • ContainerInventory – tárolónként 1 percenként

Költségek becslése az AKS-fürt monitorozásához

Az alábbi becslés egy Azure Kubernetes Service - (AKS-) fürtön alapul az alábbi méretezési példával. Emellett a becslés csak az összegyűjtött metrikákra és leltáradatokra vonatkozik. Tárolónaplók (stdout, stderr és környezeti változók) esetében a számítási feladat által létrehozott naplómérettől függően változik, és nem szerepelnek a becslésünkben.

Ha engedélyezte egy, az alábbiak szerint konfigurált AKS-fürt monitorozását,

  • Három csomópont
  • Csomópontonként két lemez
  • Csomópontonként egy hálózati adapter
  • 20 pod (minden podban egy tároló = összesen 20 tároló)
  • Két Kubernetes-névtér
  • Öt Kubernetes-szolgáltatás (beleértve a kube-system podokat, a szolgáltatásokat és a névteret)
  • Gyűjtemény gyakorisága = 60 mp (alapértelmezett)

A hozzárendelt Log Analytics-munkaterületen óránként létrehozott táblák és adatmennyiségek láthatók. Az egyes táblákról további információt az Azure Monitor Naplók tábláiban talál.

Tábla Méretbecslés (MB/óra)
Teljesítmény 12.9
InsightsMetrics 11,3
KubePodInventory 1.5
KubeNodeInventory 0,75
KubeServices 0.13
ContainerInventory 3,6
KubeHealth 0.1
KubeMonAgentEvents 0.005

Összesen = 31 MB/óra = 23,1 GB/hónap (egy hónap = 31 nap)

A Log Analytics alapértelmezett díjszabását használva, amely egy használatalapú fizetéses modell, megbecsülheti az Azure Monitor havi költségeit. A kapacitásfoglalás hozzáadása után az ár a kiválasztott foglalástól függően havonta magasabb lesz.

A betöltés szabályozása a költségek csökkentése érdekében

Vegyünk egy olyan forgatókönyvet, amelyben a szervezet különböző üzleti egységei osztoznak a Kubernetes-infrastruktúrán és egy Log Analytics-munkaterületen. Az egyes üzleti egységeket kubernetes-névtér választja el egymástól. A Munkafüzetek megtekintése legördülő menüben elérhető Adathasználati runbook segítségével megjelenítheti, hogy mennyi adatot kell befoglalni az egyes munkaterületeken.

View workbooks dropdown

Ez a munkafüzet segít az adatok forrásának megjelenítésében anélkül, hogy saját lekérdezéstárat kellene létrehoznia a dokumentációban megosztott adatokból. Ebben a munkafüzetben olyan diagramok találhatók, amelyekkel a számlázható adatokat az alábbi szempontokból tekintheti meg:

  • Megoldásonként GB-ban betöltött teljes számlázható adat
  • Tárolónaplók (alkalmazásnaplók) által betöltött számlázható adatok
  • Kubernetes-névtér által betöltött számlázható tárolónaplók adatai
  • A számlázható tárolónaplók fürtnév szerint elkülönítetten betöltött adatai
  • Naplóforrásbejegyzéssel betöltött számlázható tárolónapló-adatok
  • A diagnosztikai főcsomópont naplói által betöltött számlázható diagnosztikai adatok

Data usage workbook

A munkafüzet jogosultságainak és engedélyeinek kezeléséről a Hozzáférés-vezérlés című cikkből tájékozódhat.

Miután elvégezte az elemzést annak meghatározásához, hogy melyik forrás vagy forrás hozza létre a legtöbb adatot vagy több, a követelményeket meghaladó adatot, újrakonfigurálhatja az adatgyűjtést. Az stdout, stderr és környezeti változók gyűjteményének konfigurálásával kapcsolatos részleteket az ügynök adatgyűjtési beállításainak konfigurálása című cikk ismerteti.

Az alábbiakban példákat láthat arra, 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ása érdekében.

  1. Tiltsa le az stdout-naplókat a fürt összes névterében az Azure Container Elemzések szolgáltatás ConfigMap-fájljában található, a metrikákat lekéri:

    [log_collection_settings]       
       [log_collection_settings.stdout]          
          enabled = false
    
  2. Tiltsa le az stderr-naplók gyűjtését a fejlesztési névtérből (például dev-test), és folytassa az stderr-naplók gyűjtését más névterekből (például prod és default) a ConfigMap fájlban található alábbi módosításokkal:

    Megjegyzés

    A kube-system naplógyűjtemény alapértelmezés szerint le van tiltva. A rendszer megőrzi az alapértelmezett beállítást, és hozzáadja a dev-test névteret a kizárási névterek listájához 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ürtön a ConfigMap fájlban található alábbi módosítással. Ez minden Kubernetes-névtérben lévő összes 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óban a ConfigMap fájlban található alábbi módosítással:

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

Miután egy vagy több módosítást alkalmazott a ConfigMaps-térképre, tekintse meg a frissített konfigurációtérkép alkalmazásáról a fürtön való alkalmazásáról.

Prometheus-metrikák kinyerése

Ha Prometheus-metrikák kinyerését használja, ügyeljen arra, hogy az alábbiak szerint 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 (az alapértelmezett érték 60 másodperc). Bár a gyakoriság 15 másodpercre növelhető, gondoskodnia kell arról, hogy a lekaparandó metrikák ezen a gyakoriságon legyenek közzétéve. Ellenkező esetben sok ismétlődő metrika lesz lekaparva és elküldve a Log Analytics-munkaterületre az adatbetöltési és adatmegőrzési költségekhez hozzáadva, de kisebb értékűek.

  • A Container Insights támogatja a kizárási & listákat a metrikanevek alapján. Ha például kubedns-metrikákat kap a fürtben, előfordulhat, hogy több százat kap le a rendszer alapértelmezés szerint, de valószínűleg csak egy részhalmaz érdekli. Győződjön meg arról, hogy megadta a lekaparandó metrikák listáját, vagy kizárhat másokat, kivéve néhányat az adatbetöltési köteten való mentéshez. Könnyen engedélyezheti a lekérést, és nem használhat sok ilyen metrikát, ami csak további díjakat ad hozzá a Log Analytics-számlához.

  • Ha podjegyzeteken keresztül kapar, győződjön meg arról, hogy névtér alapján szűr, hogy kizárja a podmetrikák nem használt névterekből (például dev-test névtérből) történő kinyerését.

Következő lépések

A Container Insights segítségével gyűjtött adatokból származó legutóbbi használati mintákon alapuló költségek megismeréséről további információt a Log Analytics-munkaterület használati adatainak elemzése című témakörben talál.