Node metrics data

Mechanisms for accessing metrics at node, volume, pod and container level, as seen by the kubelet.

The kubelet gathers metric statistics at the node, volume, pod and container level, and emits this information in the Summary API.

You can send a proxied request to the stats summary API via the Kubernetes API server.

Here is an example of a Summary API request for a node named minikube:

kubectl get --raw "/api/v1/nodes/minikube/proxy/stats/summary"

Here is the same API call using curl:

# You need to run "kubectl proxy" first
# Change 8080 to the port that "kubectl proxy" assigns
curl http://localhost:8080/api/v1/nodes/minikube/proxy/stats/summary

Summary metrics API source

By default, Kubernetes fetches node summary metrics data using an embedded cAdvisor that runs within the kubelet. If you enable the PodAndContainerStatsFromCRI feature gate in your cluster, and you use a container runtime that supports statistics access via Container Runtime Interface (CRI), then the kubelet fetches Pod- and container-level metric data using CRI, and not via cAdvisor.

Pressure Stall Information (PSI)

FEATURE STATE: Kubernetes v1.33 [alpha]

As an alpha feature, Kubernetes lets you configure kubelet to collect Linux kernel Pressure Stall Information (PSI) for CPU, memory and IO usage. The information is collected at node, pod and container level. See Summary API for detailed schema. You must enable the KubeletPSI feature gate to use this feature. The information is also exposed in Prometheus metrics.

Requirements

Pressure Stall Information requires:

What's next

The task pages for Troubleshooting Clusters discuss how to use a metrics pipeline that rely on these data.

Last modified April 08, 2025 at 3:42 PM PST: Add cgroup v2 to PSI requirements (fd68ed8909)