Monitor cluster data with Amazon CloudWatch - Amazon EKS

Help improve this page

Want to contribute to this user guide? Choose the Edit this page on GitHub link that is located in the right pane of every page. Your contributions will help make our user guide better for everyone.

Monitor cluster data with Amazon CloudWatch

Amazon CloudWatch is a monitoring service that collects metrics and logs from your cloud resources. CloudWatch provides some basic Amazon EKS metrics for free when using a new cluster that is version 1.28 and above. However, when using the CloudWatch Observability Operator as an Amazon EKS add-on, you can gain enhanced observability features.

Basic metrics in Amazon CloudWatch

For new clusters that are Kubernetes version 1.28 and above, you get CloudWatch vended metrics for free in the AWS/EKS namespace. Basic metrics are also available for existing clusters that have a platform version that is the same or later compared to the following table.

Kubernetes version Platform version

1.31

eks.12

1.30

eks.20

1.29

eks.23

1.28

eks.29

The following table gives a list of the basic metrics that are available for the supported versions. Every metric listed has a frequency of one minute.

Metric name Description Unit Metric dimension Metric type Source Kubernetes metric

APIServerRequests

The number of times requests were made to the API server.

Count

Cluster Name

Traffic

kube-apiserver :: apiserver_request_total

APIServerRequestsHTTP4XX

The number of API Server requests that had an HTTP 4XX error response (client-side error).

Count

Cluster Name

Error

kube-apiserver :: apiserver_request_total

APIServerRequestsHTTP429

The number of API Server requests that had an HTTP 429 error response (too many requests).

Count

Cluster Name

Error

kube-apiserver :: apiserver_request_total

APIServerRequestsHTTP5XX

The number of API Server requests that had an HTTP 5XX error response (server-side error).

Count

Cluster Name

Error

kube-apiserver :: apiserver_request_total

APIServerRequestLatency

The average amount of seconds taken by APIServer to respond to requests.

Seconds

Cluster Name, Verb

Latency

kube-apiserver :: apiserver_request_duration_seconds

APIServerCurrentInflightRequests

The number of requests that are being actively served.

Count

Cluster Name, Request Kind {mutating, readOnly}

Saturation

kube-apiserver :: apiserver_current_inflight_requests

APIServerStorageSize

The size of the storage database.

Bytes

Cluster Name

Saturation

kube-apiserver :: apiserver_storage_size_bytes

SchedulerAttempts

The number of attempts to schedule Pods.

Count

Cluster Name, Result {unschedulable, error, scheduled}

Latency

kube-scheduler :: scheduler_schedule_attempts_total

PendingPods

The number of Pods that are pending to be scheduled.

Count

Cluster Name, Queue {activeQ unschedulable, backoff, gated}

Latency

kube-scheduler :: scheduler_pending_pods

APIServerWebhookRequests

The number of admission webhook requests made.

Count

Cluster Name, Admission Type (validating, admit)

Traffic

kube-apiserver :: apiserver_admission_webhook_request_total

APIServerWebhookRejections

The number of admission webhook rejections.

Count

Cluster Name, Admission Type (validating, admit)

Error

kube-apiserver :: apiserver_admission_webhook_rejection_count

APIServerWebhookLatencyP99

The 99th percentile latency of external, third-party admission webhooks.

Seconds

Cluster Name, Admission Type (validating, admit)

Latency

kube-apiserver :: apiserver_admission_webhook_admission_duration_seconds

Amazon CloudWatch Observability Operator

Amazon CloudWatch Observability collects real-time logs, metrics, and trace data. It sends them to Amazon CloudWatch and AWS X-Ray. You can install this add-on to enable both CloudWatch Application Signals and CloudWatch Container Insights with enhanced observability for Amazon EKS. This helps you monitor the health and performance of your infrastructure and containerized applications. The Amazon CloudWatch Observability Operator is designed to install and configure the necessary components.

Amazon EKS supports the CloudWatch Observability Operator as an Amazon EKS add-on. The add-on allows Container Insights on both Linux and Windows worker nodes in the cluster. To enable Container Insights on Windows, the Amazon EKS add-on version must be 1.5.0 or higher. Currently, CloudWatch Application Signals isn’t supported on Amazon EKS Windows.

The topics below describe how to get started using CloudWatch Observability Operator for your Amazon EKS cluster.