Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Ruft Rohmetriken der Kontrollebene im Prometheus-Format ab

Fokusmodus
Ruft Rohmetriken der Kontrollebene im Prometheus-Format ab - Amazon EKS

Hilf mit, diese Seite zu verbessern

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Wenn Sie zu diesem Benutzerhandbuch beitragen möchten, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Hilf mit, diese Seite zu verbessern

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Wenn Sie zu diesem Benutzerhandbuch beitragen möchten, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die Kubernetes-Steuerebene stellt eine Reihe von Metriken zur Verfügung, die in einem Prometheus-Format dargestellt werden. Diese Metriken sind für die Überwachung und Analyse hilfreich. Sie werden intern über Metrik-Endpunkte verfügbar gemacht und können abgerufen werden, ohne Prometheus vollständig einsetzen zu müssen. Die einfachere Bereitstellung von Prometheus ermöglicht jedoch die Analyse von Metriken im Laufe der Zeit.

Um die Ausgabe der Rohmetriken anzuzeigen, ersetzen Sie den folgenden endpoint Befehl und führen Sie ihn aus.

kubectl get --raw endpoint

Mit diesem Befehl können Sie einen beliebigen Endpunktpfad übergeben und die Rohantwort zurückgeben. In der Ausgabe werden verschiedene Metriken aufgeführt line-by-line, wobei jede Zeile einen Metriknamen, Tags und einen Wert enthält.

metric_name{tag="value"[,...]} value

Metriken vom API-Server abrufen

Der allgemeine API-Serverendpunkt ist auf der Amazon EKS-Steuerebene verfügbar. Dieser Endpunkt ist in erster Linie nützlich, wenn Sie sich eine bestimmte Metrik ansehen.

kubectl get --raw /metrics

Eine Beispielausgabe sieht wie folgt aus.

[...] # HELP rest_client_requests_total Number of HTTP requests, partitioned by status code, method, and host. # TYPE rest_client_requests_total counter rest_client_requests_total{code="200",host="127.0.0.1:21362",method="POST"} 4994 rest_client_requests_total{code="200",host="127.0.0.1:443",method="DELETE"} 1 rest_client_requests_total{code="200",host="127.0.0.1:443",method="GET"} 1.326086e+06 rest_client_requests_total{code="200",host="127.0.0.1:443",method="PUT"} 862173 rest_client_requests_total{code="404",host="127.0.0.1:443",method="GET"} 2 rest_client_requests_total{code="409",host="127.0.0.1:443",method="POST"} 3 rest_client_requests_total{code="409",host="127.0.0.1:443",method="PUT"} 8 # HELP ssh_tunnel_open_count Counter of ssh tunnel total open attempts # TYPE ssh_tunnel_open_count counter ssh_tunnel_open_count 0 # HELP ssh_tunnel_open_fail_count Counter of ssh tunnel failed open attempts # TYPE ssh_tunnel_open_fail_count counter ssh_tunnel_open_fail_count 0

Diese Rohausgabe zeigt exakt das, was der API-Server bereitstellt.

Rufen Sie Metriken der Kontrollebene ab mit metrics.eks.amazonaws.com

Für Cluster mit Kubernetes-Version 1.28 und höher stellt Amazon EKS auch Metriken unter der API-Gruppe zur Verfügung. metrics.eks.amazonaws.com Zu diesen Metriken gehören Komponenten der Steuerungsebene wie und. kube-scheduler kube-controller-manager

Anmerkung

Wenn Sie über eine Webhook-Konfiguration verfügen, die die Erstellung der neuen APIService Ressource in v1.metrics.eks.amazonaws.com Ihrem Cluster blockieren könnte, ist die Metrik-Endpunktfunktion möglicherweise nicht verfügbar. Sie können dies im kube-apiserver Audit-Protokoll überprüfen, indem Sie nach dem v1.metrics.eks.amazonaws.com Schlüsselwort suchen.

Metriken abrufen kube-scheduler

Verwenden Sie den folgenden Befehl, um kube-scheduler Metriken abzurufen.

kubectl get --raw "/apis/metrics.eks.amazonaws.com/v1/ksh/container/metrics"

Eine Beispielausgabe sieht wie folgt aus.

# TYPE scheduler_pending_pods gauge scheduler_pending_pods{queue="active"} 0 scheduler_pending_pods{queue="backoff"} 0 scheduler_pending_pods{queue="gated"} 0 scheduler_pending_pods{queue="unschedulable"} 18 # HELP scheduler_pod_scheduling_attempts [STABLE] Number of attempts to successfully schedule a pod. # TYPE scheduler_pod_scheduling_attempts histogram scheduler_pod_scheduling_attempts_bucket{le="1"} 79 scheduler_pod_scheduling_attempts_bucket{le="2"} 79 scheduler_pod_scheduling_attempts_bucket{le="4"} 79 scheduler_pod_scheduling_attempts_bucket{le="8"} 79 scheduler_pod_scheduling_attempts_bucket{le="16"} 79 scheduler_pod_scheduling_attempts_bucket{le="+Inf"} 81 [...]

Metriken abrufen kube-controller-manager

Verwenden Sie den folgenden Befehl, um kube-controller-manager Metriken abzurufen.

kubectl get --raw "/apis/metrics.eks.amazonaws.com/v1/kcm/container/metrics"

Eine Beispielausgabe sieht wie folgt aus.

[...] workqueue_work_duration_seconds_sum{name="pvprotection"} 0 workqueue_work_duration_seconds_count{name="pvprotection"} 0 workqueue_work_duration_seconds_bucket{name="replicaset",le="1e-08"} 0 workqueue_work_duration_seconds_bucket{name="replicaset",le="1e-07"} 0 workqueue_work_duration_seconds_bucket{name="replicaset",le="1e-06"} 0 workqueue_work_duration_seconds_bucket{name="replicaset",le="9.999999999999999e-06"} 0 workqueue_work_duration_seconds_bucket{name="replicaset",le="9.999999999999999e-05"} 19 workqueue_work_duration_seconds_bucket{name="replicaset",le="0.001"} 109 workqueue_work_duration_seconds_bucket{name="replicaset",le="0.01"} 139 workqueue_work_duration_seconds_bucket{name="replicaset",le="0.1"} 181 workqueue_work_duration_seconds_bucket{name="replicaset",le="1"} 191 workqueue_work_duration_seconds_bucket{name="replicaset",le="10"} 191 workqueue_work_duration_seconds_bucket{name="replicaset",le="+Inf"} 191 workqueue_work_duration_seconds_sum{name="replicaset"} 4.265655885000002 [...]

Machen Sie sich mit den Metriken für Scheduler und Controller Manager vertraut

In der folgenden Tabelle werden die Scheduler- und Controller-Manager-Metriken beschrieben, die für Scraping im Prometheus-Stil zur Verfügung gestellt werden. Weitere Informationen zu diesen Metriken finden Sie unter Kubernetes Metrics Reference in der Kubernetes-Dokumentation.

Metrik Komponente der Steuerungsebene Beschreibung

scheduler_pending_pods

Scheduler

Die Anzahl der Pods, die darauf warten, zur Ausführung auf einem Knoten geplant zu werden.

scheduler_schedule_attempts_total

Scheduler

Die Anzahl der Versuche, Pods zu planen.

scheduler_preemption_attempts_total

Scheduler

Die Anzahl der Versuche des Schedulers, Pods mit höherer Priorität einzuplanen, indem er Pods mit niedrigerer Priorität entfernt.

scheduler_preemption_victims

Scheduler

Die Anzahl der Pods, die für die Räumung ausgewählt wurden, um Platz für Pods mit höherer Priorität zu schaffen.

scheduler_pod_scheduling_attempts

Scheduler

Die Anzahl der Versuche, einen Pod erfolgreich zu planen.

scheduler_scheduling_attempt_duration_seconds

Scheduler

Gibt an, wie schnell oder langsam der Scheduler auf der Grundlage verschiedener Faktoren wie Ressourcenverfügbarkeit und Planungsregeln in der Lage ist, einen geeigneten Ort für die Ausführung eines Pods zu finden.

scheduler_pod_scheduling_sli_duration_seconds

Scheduler

Die end-to-end Latenz für einen geplanten Pod ab dem Zeitpunkt, zu dem der Pod in die Warteschlange für die Terminplanung aufgenommen wird. Dies kann mehrere Planungsversuche beinhalten.

kube_pod_resource_request

Scheduler

Die von Workloads auf dem Cluster angeforderten Ressourcen, aufgeschlüsselt nach Pods. Dies zeigt die Ressourcennutzung, die der Scheduler und Kubelet pro Pod für Ressourcen erwarten, sowie die Einheit für die Ressource, falls vorhanden.

kube_pod_resource_limit

Scheduler

Das Ressourcenlimit für Workloads auf dem Cluster, aufgeschlüsselt nach Pods. Dies zeigt die Ressourcennutzung, die der Scheduler und Kubelet pro Pod für Ressourcen erwarten, sowie die Einheit für die Ressource, falls vorhanden.

cronjob_controller_job_creation_skew_duration_seconds

Controller-Manager

Die Zeit zwischen der geplanten Ausführung eines Cronjobs und der Erstellung des entsprechenden Jobs.

workqueue_depth

Controller-Manager

Die aktuelle Tiefe der Warteschlange.

workqueue_adds_total

Controller-Manager

Die Gesamtzahl der von der Workqueue verarbeiteten Hinzufügungen.

workqueue_queue_duration_seconds

Controller-Manager

Die Zeit in Sekunden, in der ein Element in der Arbeitswarteschlange verbleibt, bevor es angefordert wird.

workqueue_work_duration_seconds

Controller-Manager

Die Zeit in Sekunden, die die Verarbeitung eines Elements aus der Arbeitswarteschlange dauert.

Setzen Sie einen Prometheus-Scraper ein, um Kennzahlen konsistent zu erfassen

Verwenden Sie die folgende Konfiguration, um einen Prometheus-Scraper einzusetzen, um die Metriken konsistent zu erfassen:

--- apiVersion: v1 kind: ConfigMap metadata: name: prometheus-conf data: prometheus.yml: |- global: scrape_interval: 30s scrape_configs: # apiserver metrics - job_name: apiserver-metrics kubernetes_sd_configs: - role: endpoints scheme: https tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt insecure_skip_verify: true bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token relabel_configs: - source_labels: [ __meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name, ] action: keep regex: default;kubernetes;https # Scheduler metrics - job_name: 'ksh-metrics' kubernetes_sd_configs: - role: endpoints metrics_path: /apis/metrics.eks.amazonaws.com/v1/ksh/container/metrics scheme: https tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt insecure_skip_verify: true bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token relabel_configs: - source_labels: [ __meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name, ] action: keep regex: default;kubernetes;https # Controller Manager metrics - job_name: 'kcm-metrics' kubernetes_sd_configs: - role: endpoints metrics_path: /apis/metrics.eks.amazonaws.com/v1/kcm/container/metrics scheme: https tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt insecure_skip_verify: true bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token relabel_configs: - source_labels: [ __meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name, ] action: keep regex: default;kubernetes;https --- apiVersion: v1 kind: Pod metadata: name: prom-pod spec: containers: - name: prom-container image: prom/prometheus ports: - containerPort: 9090 volumeMounts: - name: config-volume mountPath: /etc/prometheus/ volumes: - name: config-volume configMap: name: prometheus-conf

Die folgende Berechtigung ist erforderlich, damit der Pod auf den neuen Metriken-Endpunkt zugreifen kann.

{ "effect": "allow", "apiGroups": [ "metrics.eks.amazonaws.com" ], "resources": [ "kcm/metrics", "ksh/metrics" ], "verbs": [ "get" ] },

Um die verwendete Rolle zu patchen, können Sie den folgenden Befehl verwenden.

kubectl patch clusterrole <role-name> --type=json -p='[ { "op": "add", "path": "/rules/-", "value": { "verbs": ["get"], "apiGroups": ["metrics.eks.amazonaws.com"], "resources": ["kcm/metrics", "ksh/metrics"] } } ]'

Anschließend können Sie das Prometheus-Dashboard anzeigen, indem Sie den Port des Prometheus-Scrapers an Ihren lokalen Port weiterleiten.

kubectl port-forward pods/prom-pod 9090:9090

Für Ihren Amazon EKS-Cluster werden die Kernmetriken der Kubernetes-Steuerebene auch in Amazon CloudWatch Metrics unter dem Namespace aufgenommen. AWS/EKS Um sie anzuzeigen, öffnen Sie die CloudWatch Konsole und wählen Sie im linken Navigationsbereich Alle Metriken aus. Wählen Sie auf der Seite zur Auswahl der Metriken den AWS/EKS Namespace und eine Metrikdimension für Ihren Cluster aus.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.