Dela via


Anpassa en samling Prometheus-mått från ditt Kubernetes-kluster med hjälp av ConfigMap

När du aktiverar insamling av Prometheus-mått från ditt Kubernetes-kluster använder den en standardsamling för att avgöra vilka mått som ska samlas in. Den här artikeln beskriver hur du kan anpassa den här samlingen så att den uppfyller dina specifika övervakningskrav.

ConfigMap (på engelska)

Följande ConfigMap används för att konfigurera insamlingskonfiguration och andra inställningar för metrics-tillägget. Den här ConfigMap finns inte som standard i klustret när Managed Prometheus är aktiverat.

ConfigMap (på engelska) beskrivning
ama-metrics-settings-configmap Innehåller följande grundläggande inställningar.
– Klusteralias. Ändrar värdet för cluster etiketten i varje mått som matas in från klustret.
- Aktivera/inaktivera standardskrapmål.
– Aktivera poddanteckningsbaserad skrapning per namnområde.
– Metrisk behållarlistor. Styr vilka mått som tillåts från varje standardmål.
- Skrapintervall för fördefinierade mål.
– Felsökningsläge för att identifiera problem med saknade mätvärden. Se felsökning.

Ändra inställningarna i ConfigMap baserat på vägledningen nedan och tillämpa dem sedan med hjälp av följande kommando. AMA-Metrics poddar hämtar och startar om dem om 2–3 minuter för att tillämpa de angivna konfigurationsinställningarna.

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

Aktivera och inaktivera standardmål

Standardkonfigurationen av Prometheus-mått i Azure Monitor visar standardmål och mått som samlas in som standard från kubernetes-klustret. Om du vill aktivera/inaktivera skrapning av något av dessa mål uppdaterar du inställningen för målet i default-scrape-settings-enabled avsnittet i ConfigMap till true eller false.

Om du till exempel vill aktivera skrapning av coredns som är inaktiverad som standard, uppdaterar du inställningen enligt följande:

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

Inställningar för skrapintervall

Standardintervallet för skrapning för alla standardmål är 30 sekunder. Om du vill ändra det här intervallet för alla mål kan du uppdatera inställningen i default-targets-scrape-interval-settings avsnittet i ConfigMap.

Om du till exempel vill ändra skrapintervallet i kubelet till 60 sekunder, och uppdaterar du inställningen enligt följande:

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

Aktivera poddanteckningsbaserad skrapning

Lägg till anteckningar i poddarna i klustret för att skrapa programpoddar utan att skapa en anpassad Prometheus-konfiguration. Om du vill aktivera skrapningspoddar med specifika anteckningar lägger du till regex för namnrymderna för poddarna med anteckningar som du vill skrapa till podannotationnamespaceregex i podannotationnamespaceregex avsnittet i ConfigMap .

Följande inställning skrapar till exempel poddar med anteckningar endast i namnrymderna kube-system och my-namespace:

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

Lägg till anteckningar i metadata avsnittet i ConfigMap. prometheus.io/scrape: "true" krävs för att podden ska skrapas, medan prometheus.io/path och prometheus.io/port anger sökvägen och porten som mätvärdena finns på i podden. Följande exempel definierar annotationer för en pod som är värd för metriker på <pod IP>:8080/metrics.

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

Varning

Om du skrapar poddanteckningarna från många namnområden kan du generera en mycket stor mängd mått beroende på antalet poddar som har anteckningar.

Anpassa metrik som samlas in av standardmål

Endast minimala mått samlas in för standardmål enligt beskrivningen i Minimal inmatningsprofil för Prometheus-mått i Azure Monitor. Om du vill samla in alla mått från standardmål anger du minimalingestionprofile till false i default-targets-metrics-keep-list avsnittet i ConfigMap.

minimalingestionprofile = false

Alternativt kan du lägga till mått som ska samlas in för alla standardmål genom att uppdatera deras keep-lists under default-targets-metrics-keep-list.

Till exempel kubelet är måttfiltreringsinställningen för standardmålet kubelet. Använd följande skript för att filtrera i mått som samlats in för standardmålen med hjälp av regexbaserad filtrering.

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

Anteckning

Om du använder citattecken eller omvänt snedstreck i regex måste du undvika dem med hjälp av ett omvänt snedstreck som exemplen "test\'smetric\"s\"" och testbackslash\\*.

Om du vill anpassa standardmålen ytterligare för att ändra egenskaper som samlingsfrekvens eller etiketter inaktiverar du det målet genom att ange dess värde till false. Skapa sedan ett anpassat jobb för målet enligt beskrivningen i Anpassa skrapning av Prometheus-mått i Azure Monitor.

Klusteralias

Den sista delen av klustrets resurs-ID läggs till i varje tidsserie för att unikt identifiera data. Om resurs-ID:t till exempel är /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/rg-name/providers/Microsoft.ContainerService/managedClusters/myclustername, är klusteretiketten myclustername. Om du vill åsidosätta den här klusteretiketten uppdaterar du inställningen cluster_alias under prometheus-collector-settings.

Anteckning

Endast alfanumeriska tecken tillåts. Alla andra tecken ersätts med _. Om du aktiverar inspelnings- och aviseringsregler bör du använda klusteraliasnamnet i klusternamnparametern för regelregistreringsmallen för att reglerna ska fungera.

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

Felsökningsläge

Om du vill visa alla mått som skrapas i felsökningssyfte kan tilläggsagenten för mått konfigureras att köras i felsökningsläge genom att uppdatera inställningen enabled till true under debug-mode inställningen

Varning

Det här läget kan påverka prestanda och bör endast aktiveras under en kort tid för felsökning.

Nästa steg

Konfigurera aviseringar för Prometheus-mått
Fråga Prometheus-mått
Läs mer om att samla in Prometheus-mått