Relevante Felder in Leistungsprotokollereignissen für Amazon EKS und Kubernetes - Amazon CloudWatch

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.

Relevante Felder in Leistungsprotokollereignissen für Amazon EKS und Kubernetes

Für Amazon EKS und Kubernetes gibt der containerisierte CloudWatch Agent Daten als Leistungsprotokollereignisse aus. Dies ermöglicht die Aufnahme und Speicherung von Daten CloudWatch mit hoher Kardinalität. CloudWatch verwendet die Daten in den Leistungsprotokollereignissen, um aggregierte CloudWatch Metriken auf Cluster-, Knoten- und Pod-Ebene zu erstellen, ohne dass detaillierte Details verloren gehen müssen.

In der folgenden Tabelle werden die Felder in diesen Performance-Protokollereignissen aufgelistet, die für die Sammlung von Container Insights-Metrikdaten relevant sind. Sie können CloudWatch Logs Insights verwenden, um jedes dieser Felder abzufragen, um Daten zu sammeln oder Probleme zu untersuchen. Weitere Informationen finden Sie unter Analysieren von Protokolldaten mit CloudWatch Logs Insights.

Typ Protokollfeld Quelle Formel oder Hinweise

Pod

pod_cpu_utilization

Berechnet

Formel: pod_cpu_usage_total / node_cpu_limit

Pod

pod_cpu_usage_total

pod_cpu_usage_total wird in Millicore gemeldet.

cadvisor

Pod

pod_cpu_limit

Berechnet

Formel: sum(container_cpu_limit)

sum(container_cpu_limit) beinhaltet bereits abgeschlossene Pods.

Wenn für Container im Pod kein CPU Limit definiert ist, erscheint dieses Feld nicht im Protokollereignis. Dies schließt Init-Container ein.

Pod

pod_cpu_request

Berechnet

Formel: sum(container_cpu_request)

Es ist nicht garantiert, dass container_cpu_request eingestellt wird. Nur diejenigen, die eingestellt sind, sind in der Summe enthalten.

Pod

pod_cpu_utilization_over_pod_limit

Berechnet

Formel: pod_cpu_usage_total / pod_cpu_limit

Pod

pod_cpu_reserved_capacity

Berechnet

Formel: pod_cpu_request / node_cpu_limit

Pod

pod_memory_utilization

Berechnet

Formel: pod_memory_working_set / node_memory_limit

Dies ist der Prozentsatz der Pod-Speichernutzung bezüglich der Knotenspeicherbegrenzung.

Pod

pod_memory_working_set

cadvisor

Pod

pod_memory_limit

Berechnet

Formel: sum(container_memory_limit)

Dieses Feld erscheint nur im Protokollereignis, wenn für alle Container im Pod ein Arbeitsspeicherlimit definiert ist. Dies schließt Init-Container ein.

Pod

pod_memory_request

Berechnet

Formel: sum(container_memory_request)

Es ist nicht garantiert, dass container_memory_request eingestellt wird. Nur diejenigen, die eingestellt sind, sind in der Summe enthalten.

Pod

pod_memory_utilization_over_pod_limit

Berechnet

Formel: pod_memory_working_set / pod_memory_limit

Dieses Feld erscheint nur im Protokollereignis, wenn für alle Container im Pod ein Arbeitsspeicherlimit definiert ist. Dies schließt Init-Container ein.

Pod

pod_memory_reserved_capacity

Berechnet

Formel: pod_memory_request / node_memory_limit

Pod

pod_network_tx_bytes

Berechnet

Formel: sum(pod_interface_network_tx_bytes)

Diese Daten sind für alle Netzwerkschnittstellen pro Pod verfügbar. Der CloudWatch Agent berechnet die Gesamtsumme und fügt Regeln für die Extraktion von Metriken hinzu.

Pod

pod_network_rx_bytes

Berechnet

Formel: sum(pod_interface_network_rx_bytes)

Pod

pod_network_total_bytes

Berechnet

Formel: pod_network_rx_bytes + pod_network_tx_bytes

PodNet

pod_interface_network_rx_bytes

cadvisor

Diese Daten sind rx-Bytes des Netzwerks pro Sekunde einer Pod-Netzwerkschnittstelle.

PodNet

pod_interface_network_tx_bytes

cadvisor

Diese Daten sind tx-Bytes des Netzwerks pro Sekunde einer Pod-Netzwerkschnittstelle.

Container

container_cpu_usage_total

cadvisor

Container

container_cpu_limit

cadvisor

Es wird nicht garantiert, dass es festgelegt wird. Es wird nicht ausgegeben, wenn es nicht festgelegt ist.

Container

container_cpu_request

cadvisor

Es wird nicht garantiert, dass es festgelegt wird. Es wird nicht ausgegeben, wenn es nicht festgelegt ist.

Container

container_memory_working_set

cadvisor

Container

container_memory_limit

Pod

Es wird nicht garantiert, dass es festgelegt wird. Es wird nicht ausgegeben, wenn es nicht festgelegt ist.

Container

container_memory_request

Pod

Es wird nicht garantiert, dass es festgelegt wird. Es wird nicht ausgegeben, wenn es nicht festgelegt ist.

Knoten

node_cpu_utilization

Berechnet

Formel: node_cpu_usage_total / node_cpu_limit

Knoten

node_cpu_usage_total

cadvisor

Knoten

node_cpu_limit

/proc

Knoten

node_cpu_request

Berechnet

Formel: sum(pod_cpu_request)

node_cpu_request schließt bei Cronjobs auch Anfragen von abgeschlossenen Pods ein. Dies kann zu einem hohen Wert für node_cpu_reserved_capacity führen.

Knoten

node_cpu_reserved_capacity

Berechnet

Formel: node_cpu_request / node_cpu_limit

Knoten

node_memory_utilization

Berechnet

Formel: node_memory_working_set / node_memory_limit

Knoten

node_memory_working_set

cadvisor

Knoten

node_memory_limit

/proc

Knoten

node_memory_request

Berechnet

Formel: sum(pod_memory_request)

Knoten

node_memory_reserved_capacity

Berechnet

Formel: node_memory_request / node_memory_limit

Knoten

node_network_rx_bytes

Berechnet

Formel: sum(node_interface_network_rx_bytes)

Knoten

node_network_tx_bytes

Berechnet

Formel: sum(node_interface_network_tx_bytes)

Knoten

node_network_total_bytes

Berechnet

Formel: node_network_rx_bytes + node_network_tx_bytes

Knoten

node_number_of_running_pods

Pod-Liste

Knoten

node_number_of_running_containers

Pod-Liste

NodeNet

node_interface_network_rx_bytes

cadvisor

Diese Daten sind Netzwerk-rx-Bytes pro Sekunde der Netzwerkschnittstelle eines Workerknotens.

NodeNet

node_interface_network_tx_bytes

cadvisor

Diese Daten sind Netzwerk-tx-Bytes pro Sekunde der Netzwerkschnittstelle eines Workerknotens.

NodeFS

node_filesystem_capacity

cadvisor

NodeFS

node_filesystem_usage

cadvisor

NodeFS

node_filesystem_utilization

Berechnet

Formel: node_filesystem_usage / node_filesystem_capacity

Diese Daten sind pro Gerätename verfügbar.

Cluster

cluster_failed_node_count

API-Server

Cluster

cluster_node_count

API-Server

Service

service_number_of_running_pods

API-Server

Namespace

namespace_number_of_running_pods

API-Server

Beispiele für Metrikberechnungen

Dieser Abschnitt enthält Beispiele zur Veranschaulichung, wie einige der Werte in der vorangegangenen Tabelle berechnet werden.

Angenommen, Sie besitzen einen Cluster im folgenden Zustand.

Node1 node_cpu_limit = 4 node_cpu_usage_total = 3 Pod1 pod_cpu_usage_total = 2 Container1 container_cpu_limit = 1 container_cpu_request = 1 container_cpu_usage_total = 0.8 Container2 container_cpu_limit = null container_cpu_request = null container_cpu_usage_total = 1.2 Pod2 pod_cpu_usage_total = 0.4 Container3 container_cpu_limit = 1 container_cpu_request = 0.5 container_cpu_usage_total = 0.4 Node2 node_cpu_limit = 8 node_cpu_usage_total = 1.5 Pod3 pod_cpu_usage_total = 1 Container4 container_cpu_limit = 2 container_cpu_request = 2 container_cpu_usage_total = 1

Die folgende Tabelle zeigt, wie CPU Pod-Metriken anhand dieser Daten berechnet werden.

Metrik Formel Pod1 Pod2 Pod3

pod_cpu_utilization

pod_cpu_usage_total / node_cpu_limit

2/4 = 50 %

0,4/4 = 10 %

1/8 = 12,5 %

pod_cpu_utilization_over_pod_limit

pod_cpu_usage_total / sum(container_cpu_limit)

N/A, da das CPU Limit für Container2 nicht definiert ist

0,4/1 = 40 %

1/2 = 50 %

pod_cpu_reserved_capacity

sum(container_cpu_request) / node_cpu_limit

(1 + 0)/4 = 25 %

0,5/4 = 12,5 %

2/8 = 25 %

Die folgende Tabelle zeigt, wie CPU Knotenmetriken anhand dieser Daten berechnet werden.

Metrik Formel Knoten1 Knoten2

node_cpu_utilization

node_cpu_usage_total / node_cpu_limit

3/4 = 75 %

1,5/8 = 18,75 %

node_cpu_reserved_capacity

sum(pod_cpu_request) / node_cpu_limit

1,5/4 = 37,5 %

2/8 = 25 %