

 **帮助改进此页面** 

要帮助改进本用户指南，请选择位于每个页面右侧窗格中的**在 GitHub 上编辑此页面**链接。

# 使用 Amazon CloudWatch 监控集群数据
<a name="cloudwatch"></a>

Amazon CloudWatch 是一项监控服务，可从您的云资源中收集指标和日志。当使用 `1.28` 版本及更高版本的新集群时，CloudWatch 会免费提供部分基本的 Amazon EKS 指标。但是，当使用 CloudWatch Observability Operator 作为 Amazon EKS 附加组件时，您可以获得增强的可观测性功能。

## Amazon CloudWatch 中的基本指标
<a name="cloudwatch-basic-metrics"></a>

如果集群为 Kubernetes 版本 `1.28` 及以上版本，您可以在 `AWS/EKS` 命名空间中免费获得 CloudWatch 提供的指标。下表列出了支持版本可用的基本指标。列出的每个指标的频率为一分钟。


| 指标名称 | 说明 | 
| --- | --- | 
|  `apiserver_flowcontrol_current_executing_seats`  | 当前用于执行 API 请求的席位数量。席位分配由 Kubernetes API 优先级和公平性[功能](https://kubernetes.io/docs/concepts/cluster-administration/flow-control/)中的 priority\_level 和 flow\_schema 配置决定。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `scheduler_schedule_attempts_total`  | 在给定时间段内，调度器尝试调度集群中容器组（pod）的总次数。该指标有助于监控调度器的工作负载，并且可以指示调度压力或容器组（pod）放置方面的潜在问题。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `scheduler_schedule_attempts_SCHEDULED`  | 在给定时间段内，调度器尝试将容器组（pod）调度到集群中节点的成功次数。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `scheduler_schedule_attempts_UNSCHEDULABLE`  | 由于有效限制（例如节点上的 CPU 或内存不足）而在给定时间段内尝试调度不可调度的容器组（pod）的次数。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `scheduler_schedule_attempts_ERROR`  | 由于调度器本身存在内部问题（例如 API 服务器连接问题）而在给定时间段内尝试调度容器组（pod）的失败次数。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `scheduler_pending_pods`  | 在给定时间段内，集群中调度器要调度的待处理容器组（pod）总数。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `scheduler_pending_pods_ACTIVEQ`  | 在给定时间段内，activeQ 中在集群中等待调度的待处理容器组（pod）数量。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `scheduler_pending_pods_UNSCHEDULABLE`  | 调度器尝试调度但失败且处于不可调度状态以便重试的待处理容器组（pod）数量。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `scheduler_pending_pods_BACKOFF`  | `backoffQ` 中处于回退状态且正在等待回退期到期的待处理容器组（pod）数量。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `scheduler_pending_pods_GATED`  | 当前处于受限状态（必须满足所需条件才能对其进行调度）的待处理容器组（pod）数量。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `apiserver_request_total`  | 跨集群中所有 API 服务器发出的 HTTP 请求数。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `apiserver_request_total_4XX`  | 向集群中所有 API 服务器发出但导致 `4XX`（客户端错误）状态代码的 HTTP 请求数。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `apiserver_request_total_429`  | 向集群中所有 API 服务器发出但导致 `429` 状态代码的 HTTP 请求数，当客户端超过速率限制阈值时，就会出现这种情况。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `apiserver_request_total_5XX`  | 向集群中所有 API 服务器发出但导致 `5XX`（服务器错误）状态代码的 HTTP 请求数。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `apiserver_request_total_LIST_PODS`  | 向集群中所有 API 服务器发出的 `LIST` 容器组（pod）请求数。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `apiserver_request_duration_seconds_PUT_P99`  | `PUT` 请求的第 99 个百分位延迟，根据集群中所有 API 服务器的所有请求计算得出。表示响应时间，即 99% 的 `PUT` 请求均在该时间内完成。<br /> **单位：**秒<br /> **有效统计数据：**平均值 | 
|  `apiserver_request_duration_seconds_PATCH_P99`  | `PATCH` 请求的第 99 个百分位延迟，根据集群中所有 API 服务器的所有请求计算得出。表示响应时间，即 99% 的 `PATCH` 请求均在该时间内完成。<br /> **单位：**秒<br /> **有效统计数据：**平均值 | 
|  `apiserver_request_duration_seconds_POST_P99`  | `POST` 请求的第 99 个百分位延迟，根据集群中所有 API 服务器的所有请求计算得出。表示响应时间，即 99% 的 `POST` 请求均在该时间内完成。<br /> **单位：**秒<br /> **有效统计数据：**平均值 | 
|  `apiserver_request_duration_seconds_GET_P99`  | `GET` 请求的第 99 个百分位延迟，根据集群中所有 API 服务器的所有请求计算得出。表示响应时间，即 99% 的 `GET` 请求均在该时间内完成。<br /> **单位：**秒<br /> **有效统计数据：**平均值 | 
|  `apiserver_request_duration_seconds_LIST_P99`  | `LIST` 请求的第 99 个百分位延迟，根据集群中所有 API 服务器的所有请求计算得出。表示响应时间，即 99% 的 `LIST` 请求均在该时间内完成。<br /> **单位：**秒<br /> **有效统计数据：**平均值 | 
|  `apiserver_request_duration_seconds_DELETE_P99`  | `DELETE` 请求的第 99 个百分位延迟，根据集群中所有 API 服务器的所有请求计算得出。表示响应时间，即 99% 的 `DELETE` 请求均在该时间内完成。<br /> **单位：**秒<br /> **有效统计数据：**平均值 | 
|  `apiserver_current_inflight_requests_MUTATING`  | 集群中所有 API 服务器当前正在处理的变更请求（`POST`、`PUT`、`DELETE`、`PATCH`）数。该指标表示正在进行但尚未完成处理的请求。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `apiserver_current_inflight_requests_READONLY`  | 集群中所有 API 服务器当前正在处理的只读请求（`GET`、`LIST`）数。该指标表示正在进行但尚未完成处理的请求。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `apiserver_admission_webhook_request_total`  | 跨集群中所有 API 服务器发出的准入 Webhook 请求数。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `apiserver_admission_webhook_request_total_ADMIT`  | 跨集群中所有 API 服务器发出的变更性准入 Webhook 请求数。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `apiserver_admission_webhook_request_total_VALIDATING`  | 跨集群中所有 API 服务器发出的验证准入 Webhook 请求数。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `apiserver_admission_webhook_rejection_count`  | 跨集群中所有 API 服务器发出但被拒绝的准入 Webhook 请求数。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `apiserver_admission_webhook_rejection_count_ADMIT`  | 跨集群中所有 API 服务器发出但被拒绝的变更性准入 Webhook 请求数。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `apiserver_admission_webhook_rejection_count_VALIDATING`  | 跨集群中所有 API 服务器发出但被拒绝的验证准入 Webhook 请求数。<br /> **单位**：计数<br /> **有效统计数据**：Sum | 
|  `apiserver_admission_webhook_admission_duration_seconds`  | 第三方准入 Webhook 请求的第 99 个百分位延迟，根据集群中所有 API 服务器的所有请求计算得出。表示响应时间，即 99% 的第三方准入 Webhook 请求均在该时间内完成。<br /> **单位：**秒<br /> **有效统计数据：**平均值 | 
|  `apiserver_admission_webhook_admission_duration_seconds_ADMIT_P99`  | 第三方变更性准入 Webhook 请求的第 99 个百分位延迟，根据集群中所有 API 服务器的所有请求计算得出。表示响应时间，即 99% 的第三方变更性准入 Webhook 请求均在该时间内完成。<br /> **单位：**秒<br /> **有效统计数据：**平均值 | 
|  `apiserver_admission_webhook_admission_duration_seconds_VALIDATING_P99`  | 第三方验证准入 Webhook 请求的第 99 个百分位延迟，根据集群中所有 API 服务器的所有请求计算得出。表示响应时间，即 99% 的第三方验证准入 Webhook 请求均在该时间内完成。<br /> **单位：**秒<br /> **有效统计数据：**平均值 | 
|  `apiserver_storage_size_bytes`  | 集群中 API 服务器使用的 etcd 存储数据库文件的物理大小（以字节为单位）。该指标表示为存储分配的实际磁盘空间。<br /> **单位：**字节<br /> **有效统计数据：**最大值 | 

## Amazon CloudWatch Observability Operator
<a name="cloudwatch-operator"></a>

Amazon CloudWatch Observability 收集实时日志、指标并跟踪数据。然后将其发送到 [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 和 [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)。您可以安装此插件，以启用 CloudWatch Application Signals 和 CloudWatch Container Insights，从而增强 Amazon EKS 的可观测性。这有助于您监控基础设施和容器化应用程序的运行状况和性能。Amazon CloudWatch Observability Operator 旨在安装和配置必要的组件。

Amazon EKS 作为 [Amazon EKS 附加组件](eks-add-ons.md)对 CloudWatch Observability Operator 提供支持。附加组件可在集群中的 Linux 和 Windows Worker 节点上启用 Container Insights。要在 Windows 上启用 Container Insights，Amazon EKS 附加组件版本必须为 `1.5.0` 或更高版本。目前，Amazon EKS Windows 不支持 CloudWatch Application Signals。

以下主题介绍了如何开始使用 CloudWatch Observability Operator 用于 Amazon EKS 集群。
+ 有关安装此附加组件的说明，请参阅《Amazon CloudWatch 用户指南》**中的[使用 Amazon CloudWatch Observability EKS 附加组件或 Helm 图表安装 CloudWatch 代理](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Observability-EKS-addon.html)。
+ 有关 CloudWatch Application Signals 的更多信息，请参阅《Amazon CloudWatch 用户指南》**中的[应用程序信号](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Monitoring-Sections.html)。
+ 有关 Container Insights 的更多信息，请参阅《Amazon CloudWatch 用户指南》**中的[使用 Container Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContainerInsights.html)。