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


Kubernetes-fürtök Prometheus metrikáinak gyűjtésének konfigurálása a ConfigMap használatával

Ha engedélyezi a Prometheus-metrikák gyűjtését a Kubernetes-fürtből, az alapértelmezett gyűjtemény használatával határozza meg, hogy milyen metrikákat gyűjtsön. Ez a cikk azt ismerteti, hogyan szabhatja testre ezt a gyűjteményt az adott monitorozási követelményeknek megfelelően.

Konfigurációs térkép

Az alábbi ConfigMap használatával konfigurálható a kaparáskonfiguráció és a metrikák bővítmény egyéb beállításai. Ez a ConfigMap alapértelmezés szerint nem létezik a fürtben, ha a menedzselt Prometheus engedélyezve van.

Konfigurációs térkép Leírás
ama-metrics-settings-configmap Az alábbi alapvető beállításokat tartalmazza.
- Készlet aliasa. Módosítja a címke értékét a cluster fürtből betöltés minden metrikájában.
- Alapértelmezett adatgyűjtési célpontok engedélyezése/letiltása.
– Podjegyzetalapú kaparás engedélyezése névtérenként.
- A metrikák megtartják a listákat. Meghatározza, hogy mely metrikák engedélyezettek az egyes alapértelmezett célértékekből.
- Előre definiált célok lekaparási időközei.
– Hibakeresési mód a hiányzó metrikaproblémák azonosításához. Lásd a hibaelhárítást.

Módosítsa a ConfigMap beállításait az alábbi útmutatás alapján, majd alkalmazza az alábbi paranccsal. AMA-Metrics podok 2–3 percen belül felveszik őket, és újraindulnak a specifikált konfiguráció alkalmazásához.

kubectl apply -f .\ama-metrics-settings-configmap.yaml

Alapértelmezett célok engedélyezése és letiltása

Az Azure Monitor alapértelmezett Prometheus-metrikák konfigurációja felsorolja a Kubernetes-fürtből alapértelmezés szerint gyűjtött alapértelmezett célokat és metrikákat. Ezen célok bármelyikének lekaparásának engedélyezéséhez/letiltásához frissítse a cél beállítását a default-scrape-settings-enabled ConfigMap szakaszában a következőre true vagy false.

Ha például engedélyezni szeretné a kaparást coredns , amely alapértelmezés szerint le van tiltva, frissítse a beállítást az alábbiak szerint:

default-scrape-settings-enabled: |-
    kubelet = true
    coredns = true
    cadvisor = true
    kubeproxy = false
    ...

A lekérdezési időköz beállításai

Az összes alapértelmezett cél alapértelmezett lekérdezési intervalluma 30 másodperc. Ha módosítani szeretné ezt az időközt bármely célhoz, frissítheti a beállítást a default-targets-scrape-interval-settings ConfigMap szakaszában.

Ha például a kaparási időközt 60 másodpercre kubelet szeretné módosítani, frissítse a beállítást az alábbiak szerint:

default-targets-scrape-interval-settings: |-
    kubelet = "60s"
    coredns = "30s"
    cadvisor = "30s"
    ...

Pod annotáció alapú adatgyűjtés engedélyezése

Adjon hozzá annotációkat a fürt podjaihoz, hogy az alkalmazás podjait egyéni Prometheus-konfiguráció létrehozása nélkül kinyerje. Ha meg szeretné engedni a podok annotációk alapján történő kinyerését, adja hozzá az annotációkkal ellátni kívánt podok névteréhez tartozó regexet a ConfigMap podannotationnamespaceregex szakaszában podannotationnamespaceregex.

Az alábbi beállítás például csak a kube-system és my-namespace névterekben kaparja le széljegyzetekkel ellátott podokat:

pod-annotation-based-scraping: |-
    podannotationnamespaceregex = "kube-system|my-namespace"

Adjon hozzá széljegyzeteket a metadata ConfigMap szakaszához. prometheus.io/scrape: "true" a pod feltérképezéséhez szükséges, míg prometheus.io/path, prometheus.io/port jelzi azt az elérési utat és portot, amelyen a metrikák a podon találhatók. Az alábbi minta a metrikákat tartalmazó pod annotációit <pod IP>:8080/metrics határozza meg.

metadata:   
  annotations:
    prometheus.io/scrape: 'true'
    prometheus.io/path: '/metrics'
    prometheus.io/port: '8080'

Figyelmeztetés

A podjegyzetek számos névtérből való lekaparása nagyon nagy mennyiségű metrikát hozhat létre a széljegyzetekkel rendelkező podok számától függően.

Az alapértelmezett célok által gyűjtött metrikák testreszabása

A rendszer csak minimális metrikákat gyűjt az alapértelmezett célokhoz a Prometheus-metrikák minimális betöltési profiljában leírtak szerint az Azure Monitorban. Az összes metrika gyűjtéséhez az alapértelmezett célokból, állítsa be a minimalingestionprofile szakaszt a ConfigMap-ben úgy, hogy a false értéke default-targets-metrics-keep-list legyen.

minimalingestionprofile = false

Másik lehetőségként hozzáadhat olyan metrikákat is, amelyeket bármely alapértelmezett célhoz gyűjthet, ha frissíti a megőrzési listákat a következő alatt default-targets-metrics-keep-list.

Például kubelet az alapértelmezett célkultúl metrikaszűrési beállítása. Az alábbi szkripttel regex-alapú szűréssel szűrhet az alapértelmezett célokhoz gyűjtött metrikákban.

kubelet = "metricX|metricY"
apiserver = "mymetric.*"

Feljegyzés

Ha idézőjeleket vagy fordított perjeleket használ a regexben, egy fordított perjelet kell használnia, mint a példák "test\'smetric\"s\"" és testbackslash\\*a .

Ha tovább szeretné testre szabni az alapértelmezett célokat olyan tulajdonságok módosításához, mint a gyűjtemény gyakorisága vagy a címkék, tiltsa le ezt a célt az értékének falsebeállításával. Ezután hozzon létre egy egyéni feladatot a célhoz az Azure Monitor Prometheus-metrikáinak testreszabása című cikkben leírtak szerint.

Fürt aliasa

A fürt erőforrás-azonosítójának utolsó része minden idősorhoz hozzá van fűzve az adatok egyedi azonosításához. Például, ha az erőforrás-azonosító /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/rg-name/providers/Microsoft.ContainerService/managedClusters/myclustername, akkor a fürtcímke myclustername. A fürtcímke felülbírálásához frissítse a cluster_alias beállítást a prometheus-collector-settings alatt.

Feljegyzés

Csak alfanumerikus karakterek engedélyezettek. A többi karaktert _ helyettesíti. Ha engedélyezi a rögzítési és riasztási szabályokat, a szabályok működéséhez mindenképpen használja a fürt aliasnevét a szabály bekapcsolási sablonjában a fürtnév paramétereként.

  prometheus-collector-settings: |-
    cluster_alias = ""

Hibakeresési mód

A hibakeresés céljából gyűjtött összes metrika megtekintéséhez a metrikák kiegészítő ügynöke úgy konfigurálható, hogy hibakeresési módban működjön, ha frissíti a enabled beállítást a true értékre a debug-mode beállítás alatt.

Figyelmeztetés

Ez a mód befolyásolhatja a teljesítményt, és hibakeresési célokból csak rövid ideig engedélyezett.

Kube-state-metrics

A Managed Prometheus engedélyezésének részeként telepített kube-state-metrics deployment (ama-metrics-ksm) alapértelmezett indítási paramétereinek (erőforrások, metric-labels-allowlist és metric-annotations-allowlist) felülbírálásához használja az ama-metrics-settings-configmap konfigurációs térképet.

Az labels_allow_list és annotations_allow_list konfigurációtérképének beállításai felülbírálják a ksm-metrics-labels-allow-list és a ksm-metrics-annotations-allow-list előkészítés során beállított paramétereket

Az erőforrások konfigurációtérképének beállításai felülbírálják az ama-metrics-ksm üzembe helyezéshez beállított alapértelmezett gyűjtőket

Vegye figyelembe, hogy az alábbi YAML-konfiguráció –

  ksm-config: |-
    resources: 
      secrets: {}
      configmaps: {}
    labels_allow_list: # object name and label names
      pods: 
      - app8
    annotations_allow_list: # object name and annotation names
      namespaces:
      - kube-system
      - default

Feljegyzés

Ezeknek az értékeknek a testreszabása hatással lehet a kube-state-metrics feladat részeként gyűjtött alapértelmezett adatokra, és előfordulhat, hogy bizonyos irányítópultok nem töltik be az adatokat.

A beállítás konfigurációtérképének teljes szakaszának (ksm-config) törléséhez újra létre kell hozni az ama-metrics-ksm üzembe helyezést. Ezt megteheti az ama-metrics-ksm pod törlésével vagy a következő parancs végrehajtásával: kubectl rollout restart deployment/ama-metrics -n kube-system.

Azt javasoljuk, hogy csak szükség esetén szabja testre ezt a 3 paramétert, a további paraméterek felülbírálásként való beállítása nem támogatott forgatókönyv – bár lehetséges, körültekintően kell használni

OSS-dokumentáció kube-state-metrics parancssori argumentumokhoz

Következő lépések

Riasztások beállítása Prometheus-metrikákhoz
Prometheus-metrikák lekérdezése
További információ a Prometheus-metrikák gyűjtéséről