Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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.
Kube-state-metrics
Använd konfigurationskartan ama-metrics-settings-configmap om du vill åsidosätta standardparamatrarna för start (resurser, metric-labels-allowlist och metric-annotations-allowlist) för kube-state-metrics-deployment (ama-metrics-ksm) som installeras som en del av Managed Prometheus-aktivering.
Inställningarna i configmap för labels_allow_list och annotations_allow_list åsidosätter de parametrar som anges under introduktion för ksm-metrics-labels-allow-list och ksm-metrics-annotations-allow-list
Inställningarna i konfigurationskartan för resurser åsidosätter standardinsamlare som angetts för ama-metrics-ksm-distribution
Observera att nedanstående är en yaml-konfiguration –
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
Anteckning
Anpassning av dessa värden kan påverka standarddata som samlas in som en del av kube-state-metrics-jobbet och kan resultera i att vissa instrumentpaneler inte läser in data.
Ta bort hela avsnittet (ksm-config) i configmap-inställningarna för att ama-metrics-ksm-distributionen ska återskapas. Detta kan antingen göras genom att ta bort ama-metrics-ksm pod eller genom att köra kommandot "kubectl rollout restart deployment/ama-metrics -n kube-system".
Rekommendation som är att endast anpassa dessa tre parametrar när det behövs, att ange ytterligare parametrar som åsidosättningar är ett scenario som inte stöds – även om det är möjligt måste användas med försiktighet
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