

# 具有增强型可观测性的 Amazon EKS 和 Kubernetes Container Insights
<a name="Container-Insights-metrics-enhanced-EKS"></a>

下表列出了具有增强型可观测性的 Container Insights 为 Amazon EKS 和 Kubernetes 收集的指标和维度。这些指标位于 `ContainerInsights` 命名空间中。有关更多信息，请参阅 [指标](cloudwatch_concepts.md#Metric)。

如果在控制台中未看到任何具有增强型可观测性的 Container Insights 指标，请确保已完成具有增强型可观测性的 Container Insights 的设置。在完全设置具有增强型可观测性的 Container Insights 之前，指标不会显示。有关更多信息，请参阅 [设置 Container Insights](deploy-container-insights.md)。

如果您使用 Amazon EKS 附加组件 1.5.0 版或更高版本或者 CloudWatch 代理 1.300035.0 版，则将为 Linux 和 Windows 节点收集下表中列出的大多数指标。请参阅该表的**指标名称**列，了解哪些指标并非为 Windows 收集。

Container Insights 的早期版本在集群和服务级别提供聚合指标，这些指标作为自定义指标收费。借助针对 Amazon EKS 增强了可观测性的 Container Insights，Container Insights 指标按每次观测收费，而不是按存储的指标或摄取的日志收费。有关 CloudWatch 定价的信息，请参阅 [Amazon CloudWatch 定价](https://aws.amazon.com/cloudwatch/pricing/)。

**注意**  
在 Windows 上，不会为主机进程容器收集 `pod_network_rx_bytes` 和 `pod_network_tx_bytes` 等网络指标。  
在 RedHat OpenShift on AWS (ROSA) 集群中，不会收集 `node_diskio_io_serviced_total`、`node_diskio_io_service_bytes_total` 等磁盘指标。


| 指标名称 | Dimensions | 说明 | 
| --- | --- | --- | 
|  `cluster_failed_node_count`  |  `ClusterName`  |  集群中失败的工作线程节点的数目。如果节点遭受任何*节点条件*的影响，则该节点被视为失败。有关更多信息，请参阅 Kubernetes 文档中的[条件](https://kubernetes.io/docs/concepts/architecture/nodes/#condition)。  | 
|  `cluster_node_count`  |  `ClusterName`  |  集群中工作线程节点的总数。  | 
|  `namespace_number_of_running_pods`  |  `Namespace` `ClusterName` `ClusterName`  |  您使用的维度所指定的资源中每个命名空间运行的 pod 的数目。  | 
|  `node_cpu_limit`  |  `ClusterName`  `ClusterName`, `InstanceId`, `NodeName`   |  可以分配给此集群中单个节点的 CPU 单元的最大数目。  | 
|  `node_cpu_reserved_capacity`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  为节点组件保留的 CPU 单元的百分比，例如 kubelet、kube-proxy 和 Docker。 公式：`node_cpu_request / node_cpu_limit`  `node_cpu_request` 不是直接作为指标报告，而是性能日志事件中的一个字段。有关更多信息，请参阅 [Amazon EKS 和 Kubernetes 的性能日志事件中的相关字段](Container-Insights-reference-performance-entries-EKS.md)。   | 
|  `node_cpu_usage_total`  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  集群中节点上正在使用的 CPU 单元的数目。  | 
|  `node_cpu_utilization`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  集群中节点上正在使用的 CPU 单元的总百分比。 公式：`node_cpu_usage_total / node_cpu_limit`  | 
|  `node_filesystem_utilization`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  集群中节点上正在使用的文件系统容量的总百分比。 公式：`node_filesystem_usage / node_filesystem_capacity`  `node_filesystem_usage` 和 `node_filesystem_capacity` 不是直接作为指标报告，而是性能日志事件中的字段。有关更多信息，请参阅 [Amazon EKS 和 Kubernetes 的性能日志事件中的相关字段](Container-Insights-reference-performance-entries-EKS.md)。   | 
|  `node_memory_limit`  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  可以分配给此集群中单个节点的最大内存量（以字节为单位）。  | 
|  `node_filesystem_inodes`  其在 Windows 上不可用。  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  节点上 inode（已使用和未使用）的总数。  | 
|  `node_filesystem_inodes_free` 其在 Windows 上不可用。  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  节点上未使用 inode 的总数。  | 
|  `node_gpu_limit` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  节点上可用 GPU 的总数。  | 
|  `node_gpu_usage_total` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  节点上正在运行的容器组 (pod) 正在使用的 GPU 数量。  | 
|  `node_gpu_reserved_capacity` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  | 
|  `node_memory_reserved_capacity`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  集群中节点上当前正在使用的内存百分比。 公式：`node_memory_request / node_memory_limit`  `node_memory_request` 不是直接作为指标报告，而是性能日志事件中的一个字段。有关更多信息，请参阅 [Amazon EKS 和 Kubernetes 的性能日志事件中的相关字段](Container-Insights-reference-performance-entries-EKS.md)。   | 
|  `node_memory_utilization`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  一个或多个节点当前正在使用的内存百分比。它是节点内存使用量除以节点内存限制的百分比。 公式：`node_memory_working_set / node_memory_limit`。  | 
|  `node_memory_working_set`  |  `ClusterName`  `ClusterName`, `InstanceId`, `NodeName`   |  集群中节点的工作集中正在使用的内存量（以字节为单位）。  | 
|  `node_network_total_bytes`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  集群中每个节点通过网络传输和接收的每秒总字节数。 公式：`node_network_rx_bytes + node_network_tx_bytes`  `node_network_rx_bytes` 和 `node_network_tx_bytes` 不是直接作为指标报告，而是性能日志事件中的字段。有关更多信息，请参阅 [Amazon EKS 和 Kubernetes 的性能日志事件中的相关字段](Container-Insights-reference-performance-entries-EKS.md)。   | 
|  `node_number_of_running_containers`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  集群中每个节点的正在运行的容器数。  | 
|  `node_number_of_running_pods`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  集群中每个节点上运行的 pod 的数量。  | 
|  `node_status_allocatable_pods`   |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  根据节点的可分配资源可以分配给节点的容器组（pod）数量，这定义为考虑系统进程守护程序预留和硬驱逐阈值后的节点容量余数。  | 
|  `node_status_capacity_pods`  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  根据节点容量可以分配给节点的容器组（pod）数量。  | 
|  `node_status_condition_ready`   |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  表示 Amazon EC2 节点的节点状态条件 `Ready` 是否为 true。  | 
|  `node_status_condition_memory_pressure`   |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  表示节点状态条件是 `MemoryPressure` 是否为 true。  | 
|  `node_status_condition_pid_pressure`   |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  表示节点状态条件是 `PIDPressure` 是否为 true。  | 
|  `node_status_condition_disk_pressure`   |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  表示节点状态条件是 `OutOfDisk` 是否为 true。  | 
|  `node_status_condition_unknown`   |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  表示是否有任何节点状态条件为“未知”。  | 
|  `node_interface_network_rx_dropped`  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  节点上的网络接口接收并随后丢弃的数据包数量。  | 
|  `node_interface_network_tx_dropped`  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  本应传输但被节点上的网络接口丢弃的数据包数量。  | 
|  `node_diskio_io_service_bytes_total`  其在 Windows 或 ROSA 集群上不可用。  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  节点上所有 I/O 操作传输的总字节数。  | 
|  `node_diskio_io_serviced_total` 其在 Windows 或 ROSA 集群上不可用。  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  节点上 I/O 操作的总数。  | 
|  `pod_cpu_reserved_capacity`  |  `PodName`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  `ClusterName`, `Namespace`, `Service`   |  集群中每个 pod 预留的 CPU 容量。 公式：`pod_cpu_request / node_cpu_limit`  `pod_cpu_request` 不是直接作为指标报告，而是性能日志事件中的一个字段。有关更多信息，请参阅 [Amazon EKS 和 Kubernetes 的性能日志事件中的相关字段](Container-Insights-reference-performance-entries-EKS.md)。   | 
|  `pod_cpu_utilization`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`   |  pod 所使用的 CPU 单元的百分比。 公式：`pod_cpu_usage_total / node_cpu_limit`  | 
|  `pod_cpu_utilization_over_pod_limit`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`   |  相对于容器组（pod）限制的容器组（pod）所使用的 CPU 单元的百分比。 公式：`pod_cpu_usage_total / pod_cpu_limit`  | 
|  `pod_memory_reserved_capacity`  |  `PodName`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  `ClusterName`, `Namespace`, `Service`   |  为 pod 预留的内存的百分比。 公式：`pod_memory_request / node_memory_limit`  `pod_memory_request` 不是直接作为指标报告，而是性能日志事件中的一个字段。有关更多信息，请参阅 [Amazon EKS 和 Kubernetes 的性能日志事件中的相关字段](Container-Insights-reference-performance-entries-EKS.md)。   | 
|  `pod_memory_utilization`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`   |  一个或多个 pod 当前正在使用的内存百分比。 公式：`pod_memory_working_set / node_memory_limit`  | 
|  `pod_memory_utilization_over_pod_limit`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`   |  相对于容器组（pod）限制的容器组（pod）所使用的内存百分比。如果容器组（pod）中的任何容器没有定义内存限制，则不会显示该指标。 公式：`pod_memory_working_set / pod_memory_limit`  | 
|  `pod_network_rx_bytes`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`   |  pod 通过网络每秒接收的字节数。 公式：`sum(pod_interface_network_rx_bytes)`  `pod_interface_network_rx_bytes` 不是直接作为指标报告，而是性能日志事件中的一个字段。有关更多信息，请参阅 [Amazon EKS 和 Kubernetes 的性能日志事件中的相关字段](Container-Insights-reference-performance-entries-EKS.md)。   | 
|  `pod_network_tx_bytes`  |  `PodName`, `Namespace`, `ClusterName` `Namespace,` `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`   |  pod 通过网络每秒传输的字节数。 公式：`sum(pod_interface_network_tx_bytes)`  `pod_interface_network_tx_bytes` 不是直接作为指标报告，而是性能日志事件中的一个字段。有关更多信息，请参阅 [Amazon EKS 和 Kubernetes 的性能日志事件中的相关字段](Container-Insights-reference-performance-entries-EKS.md)。   | 
|  `pod_cpu_request`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  容器组（pod）的 CPU 请求。 公式：`sum(container_cpu_request)`  `pod_cpu_request` 不是直接作为指标报告，而是性能日志事件中的一个字段。有关更多信息，请参阅 [Amazon EKS 和 Kubernetes 的性能日志事件中的相关字段](Container-Insights-reference-performance-entries-EKS.md)。   | 
|  `pod_memory_request`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  容器组（pod）的内存请求。 公式：`sum(container_memory_request)`  `pod_memory_request` 不是直接作为指标报告，而是性能日志事件中的一个字段。有关更多信息，请参阅 [Amazon EKS 和 Kubernetes 的性能日志事件中的相关字段](Container-Insights-reference-performance-entries-EKS.md)。   | 
|  `pod_cpu_limit`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  为容器组（pod）中的容器定义的 CPU 限制。如果容器组（pod）中的任何容器没有定义 CPU 限制，则不会显示此指标。 公式：`sum(container_cpu_limit)`  `pod_cpu_limit` 不是直接作为指标报告，而是性能日志事件中的一个字段。有关更多信息，请参阅 [Amazon EKS 和 Kubernetes 的性能日志事件中的相关字段](Container-Insights-reference-performance-entries-EKS.md)。   | 
|  `pod_memory_limit`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  为容器组（pod）中的容器定义的内存限制。如果容器组（pod）中的任何容器没有定义内存限制，则不会显示该指标。 公式：`sum(container_memory_limit)`  `pod_cpu_limit` 不是直接作为指标报告，而是性能日志事件中的一个字段。有关更多信息，请参阅 [Amazon EKS 和 Kubernetes 的性能日志事件中的相关字段](Container-Insights-reference-performance-entries-EKS.md)。   | 
|  `pod_status_failed`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  表示容器组（pod）中的所有容器都已终止，并且至少有一个容器以非零状态终止或已被系统终止。  | 
|  `pod_status_ready`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  表示容器组（pod）中的所有容器都已准备就绪，且已达到 `ContainerReady` 的条件。  | 
|  `pod_status_running`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  表示容器组（pod）中的所有容器都在运行。  | 
|  `pod_status_scheduled`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  表示容器组（pod）已被调度到某个节点。  | 
|  `pod_status_unknown`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  表示无法获取容器组（pod）的状态。  | 
|  `pod_status_pending`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  表示集群已接受容器组（pod），但其中一个或多个容器尚未准备就绪。  | 
|  `pod_status_succeeded`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  表示容器组（pod）中的所有容器都已成功终止并且不会重启。  | 
|  `pod_number_of_containers`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  报告容器组（pod）规范中定义的容器数量。  | 
|  `pod_number_of_running_containers`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  报告容器组（pod）中当前处于 `Running` 状态的容器数量。  | 
|  `pod_container_status_terminated`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  报告容器组（pod）中处于 `Terminated` 状态的容器数量。  | 
|  `pod_container_status_running`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  报告容器组（pod）中处于 `Running` 状态的容器数量。  | 
|  `pod_container_status_waiting`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  报告容器组（pod）中处于 `Waiting` 状态的容器数量。  | 
|  `pod_container_status_waiting_reason_crash_loop_back_off`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  报告容器组（pod）中因 `CrashLoopBackOff` 错误而处于待处理状态的容器数量，该错误会导致容器反复启动失败。  | 
|  `pod_container_status_waiting_reason_create_container_config_error`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  报告容器组（pod）中因 `CreateContainerConfigError` 而处于待处理状态的容器数量。这是因为创建容器配置时出错。  | 
|  `pod_container_status_waiting_reason_create_container_error`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  报告容器组（pod）中由于创建容器时出错而因 `CreateContainerError` 处于待处理状态的容器数量。  | 
|  `pod_container_status_waiting_reason_image_pull_error`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  报告容器组（pod）中因 `ErrImagePull`、`ImagePullBackOff` 或 `InvalidImageName` 而处于待处理状态的容器数量。这些情况是由于拉取容器映像时出错造成的。  | 
|  `pod_container_status_waiting_reason_start_error`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  报告容器组（pod）中由于启动容器时出错而因 `StartError` 处于待处理状态的容器数量。  | 
|  `pod_container_status_terminated_reason_oom_killed`   |  `ContainerName`, `FullPodName`, `PodName`, `Namespace`, `ClusterName` `ContainerName`, `PodName`, `Namespace`, `ClusterName` `ClusterName`  |  表示容器组 (pod) 因超过内存限制而被终止。仅当发生此问题时才会显示此指标。  | 
|  `pod_interface_network_rx_dropped`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  容器组（pod）的网络接口接收并随后丢弃的数据包数量。  | 
|  `pod_interface_network_tx_dropped`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  本应传输但为容器组（pod）丢弃的数据包数量。  | 
| `pod_memory_working_set` |  `ClusterName` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  | 容器组 (pod) 当前正在使用的内存（以字节为单位）。 | 
| `pod_cpu_usage_total` |  `ClusterName` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  | 容器组 (pod) 使用的 CPU 单元的数量。 | 
|  `container_cpu_utilization`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName`, `ContainerName` `PodName`, `Namespace`, `ClusterName`, `ContainerName`, `FullPodName`  |  容器所使用的 CPU 单元的百分比。 公式：`container_cpu_usage_total / node_cpu_limit`  `container_cpu_utilization` 不是直接作为指标报告，而是性能日志事件中的一个字段。有关更多信息，请参阅 [Amazon EKS 和 Kubernetes 的性能日志事件中的相关字段](Container-Insights-reference-performance-entries-EKS.md)。   | 
|  `container_cpu_utilization_over_container_limit`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName`, `ContainerName` `PodName`, `Namespace`, `ClusterName`, `ContainerName`, `FullPodName`  |  相对于容器限制，容器所使用的 CPU 单元的百分比。如果容器没有定义 CPU 限制，则不会显示此指标。 公式：`container_cpu_usage_total / container_cpu_limit`  `container_cpu_utilization_over_container_limit` 不是直接作为指标报告，而是性能日志事件中的一个字段。有关更多信息，请参阅 [Amazon EKS 和 Kubernetes 的性能日志事件中的相关字段](Container-Insights-reference-performance-entries-EKS.md)。   | 
|  `container_memory_utilization`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName`, `ContainerName` `PodName`, `Namespace`, `ClusterName`, `ContainerName`, `FullPodName`  |  容器所使用的内存单元的百分比。 公式：`container_memory_working_set / node_memory_limit`  `container_memory_utilization` 不是直接作为指标报告，而是性能日志事件中的一个字段。有关更多信息，请参阅 [Amazon EKS 和 Kubernetes 的性能日志事件中的相关字段](Container-Insights-reference-performance-entries-EKS.md)。   | 
|  `container_memory_utilization_over_container_limit`    |  `ClusterName` `PodName`, `Namespace`, `ClusterName`, `ContainerName` `PodName`, `Namespace`, `ClusterName`, `ContainerName`, `FullPodName`  |  相对于容器限制，容器所使用的内存单元的百分比。如果容器没有定义内存限制，则不会显示此指标。 公式：`container_memory_working_set / container_memory_limit`  `container_memory_utilization_over_container_limit` 不是直接作为指标报告，而是性能日志事件中的一个字段。有关更多信息，请参阅 [Amazon EKS 和 Kubernetes 的性能日志事件中的相关字段](Container-Insights-reference-performance-entries-EKS.md)。   | 
|  `container_memory_failures_total`  其在 Windows 上不可用。  |  `ClusterName` `PodName`, `Namespace`, `ClusterName`, `ContainerName` `PodName`, `Namespace`, `ClusterName`, `ContainerName`, `FullPodName`  |  容器遇到的内存分配失败的次数。  | 
|  `pod_number_of_container_restarts`  |  PodName、`Namespace`、`ClusterName`  |  一个 pod 中容器重新启动的总次数。  | 
|  `service_number_of_running_pods`  |  Service、`Namespace`、`ClusterName` `ClusterName`  |  运行集群中的服务的 pod 的数量。  | 
|  `replicas_desired`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName`  |  工作负载规范中定义的工作负载所需的容器组（pod）数量。  | 
|  `replicas_ready`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName`  |  已达到就绪状态的工作负载的容器组（pod）数量。  | 
|  `status_replicas_available`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName`  |  工作负载可用的容器组（pod）数量。当容器组（pod）已就绪工作负载规范中定义的 `minReadySeconds` 时，容器组（pod）才可用。  | 
|  `status_replicas_unavailable`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName`  |  工作负载不可用的容器组（pod）数量。当容器组（pod）已就绪工作负载规范中定义的 `minReadySeconds` 时，容器组（pod）才可用。如果容器组（pod）不符合此标准，则它们不可用。  | 
|  `apiserver_storage_objects`  |  `ClusterName` `ClusterName`, `resource`  |  上次检查时存储在 etcd 中的对象数量。  | 
|  `apiserver_storage_db_total_size_in_bytes`  |  `ClusterName` `ClusterName`, `endpoint`  |  物理分配的存储数据库文件的总大小（以字节为单位）。此指标是实验性的，在将来的 Kubernetes 版本中可能会发生变化。 单位：字节 有意义的统计数据：总和、平均值、最小值、最大值  | 
|  `apiserver_request_total`  |  `ClusterName` `ClusterName`, `code`, `verb`  |  向 Kubernetes API 服务器发出的 API 请求总数。  | 
|  `apiserver_request_duration_seconds`  |  `ClusterName` `ClusterName`, `verb`  |  向 Kubernetes API 服务器发出的 API 请求的响应延迟。  | 
|  `apiserver_admission_controller_admission_duration_seconds`  |  `ClusterName` `ClusterName`, `operation`  |  准入控制器延迟（以秒为单位）。准入控制器是拦截向 Kubernetes API 服务器发出的请求的代码。  | 
|  `rest_client_request_duration_seconds`   |  `ClusterName` `ClusterName`, `operation`  |  客户端在调用 Kubernetes API 服务器时遇到的响应延迟。此指标是实验性的，在将来的 Kubernetes 版本中可能会发生变化。  | 
|  `rest_client_requests_total`   |  `ClusterName` `ClusterName`, `code`, `method`  |  客户端向 Kubernetes API 服务器发出的 API 请求总数。此指标是实验性的，在将来的 Kubernetes 版本中可能会发生变化。  | 
|  `etcd_request_duration_seconds`   |  `ClusterName` `ClusterName`, `operation`  |  对 Etcd 的 API 调用的响应延迟。此指标是实验性的，在将来的 Kubernetes 版本中可能会发生变化。  | 
|  `apiserver_storage_size_bytes`   |  `ClusterName` `ClusterName`, `endpoint`  |  物理分配的存储数据库文件的大小（以字节为单位）。此指标是实验性的，在将来的 Kubernetes 版本中可能会发生变化。  | 
|  `apiserver_longrunning_requests`  |  `ClusterName` `ClusterName`, `resource`  |  向 Kubernetes API 服务器发出的长时间运行的活跃请求数。  | 
|  `apiserver_current_inflight_requests`  |  `ClusterName` `ClusterName`, `request_kind`  |  Kubernetes API 服务器正在处理的请求数。  | 
|  `apiserver_admission_webhook_admission_duration_seconds`  |  `ClusterName` `ClusterName`, `name`  |  准入 Webhook 延迟（以秒为单位）。准入 Webhook 是 HTTP 回调，用于接收准入请求并对其进行一些处理。  | 
|  `apiserver_admission_step_admission_duration_seconds`   |  `ClusterName` `ClusterName`, `operation`  |  准入子步骤延迟（以秒为单位）。  | 
|  `apiserver_requested_deprecated_apis`   |  `ClusterName` `ClusterName`, `group`  |  向 Kubernetes API 服务器上已弃用的 API 发出的请求数。  | 
|  `apiserver_request_total_5xx`  |  `ClusterName` `ClusterName`, `code`, `verb`  |  向 Kubernetes API 服务器发出的请求数，这些请求以 5XX HTTP 响应代码为响应。  | 
|  `apiserver_storage_list_duration_seconds`   |  `ClusterName` `ClusterName`, `resource`  |  列出 Etc 中的对象的响应延迟。此指标是实验性的，在将来的 Kubernetes 版本中可能会发生变化。  | 
|  `apiserver_flowcontrol_request_concurrency_limit`   |  `ClusterName` `ClusterName`, `priority_level`  |  API 优先级和公平性子系统中当前正在执行的请求使用的线程数。  | 
|  `apiserver_flowcontrol_rejected_requests_total`   |  `ClusterName` `ClusterName`, `reason`  |  API 优先级和公平性子系统拒绝的请求数。此指标是实验性的，在将来的 Kubernetes 版本中可能会发生变化。  | 
|  `apiserver_current_inqueue_requests`   |  `ClusterName` `ClusterName`, `request_kind`  |  Kubernetes API 服务器排队的请求数。此指标是实验性的，在将来的 Kubernetes 版本中可能会发生变化。  | 

## NVIDIA GPU 指标
<a name="Container-Insights-metrics-EKS-GPU"></a>

从 CloudWatch 代理版本 `1.300034.0` 开始，针对 Amazon EKS 增强了可观测性的 Container Insights 默认从 EKS 工作负载收集 NVIDIA GPU 指标。必须使用 CloudWatch Observability EKS 附加组件版本 `v1.3.0-eksbuild.1` 或更高版本安装 CloudWatch 代理。有关更多信息，请参阅 [使用 Amazon CloudWatch Observability EKS 附加组件或 Helm 图表安装 CloudWatch 代理](install-CloudWatch-Observability-EKS-addon.md)。本节的表中列出了这些会被收集的 NVIDIA GPU 指标。

要让 Container Insights 收集 NVIDIA GPU 指标，必须满足以下先决条件：
+ 必须将针对 Amazon EKS 增强了可观测性的 Container Insights 与 Amazon CloudWatch Observability EKS 附加组件版本 `v1.3.0-eksbuild.1` 或更高版本结合使用。
+ 集群中必须安装[适用于 Kubernetes 的 NVIDIA 设备插件](https://github.com/NVIDIA/k8s-device-plugin)。
+ 集群的节点上必须安装 [NVIDIA 容器工具包](https://github.com/NVIDIA/nvidia-container-toolkit)。例如，使用必要的组件构建 Amazon EKS 优化版加速型 AMI。

您可以将起始 CloudWatch 代理配置文件中的 `accelerated_compute_metrics` 选项设置为 `false`，从而选择不收集 NVIDIA GPU 指标。有关更多信息和选择不收集配置的示例，请参阅 [（可选）其他配置](install-CloudWatch-Observability-EKS-addon.md#install-CloudWatch-Observability-EKS-addon-configuration)。


| 指标名称 | Dimensions | 说明 | 
| --- | --- | --- | 
|  `container_gpu_memory_total` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  分配给容器的 GPU 上的帧缓冲区总大小（以字节为单位）。  | 
|  `container_gpu_memory_used` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  分配给容器的 GPU 上使用的帧缓冲区字节数。  | 
|  `container_gpu_memory_utilization` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  分配给容器的 GPU 已使用的帧缓冲区百分比。  | 
|  `container_gpu_power_draw` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  分配给容器的 GPU 的功耗（以瓦特为单位）。  | 
|  `container_gpu_temperature` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  分配给容器的 GPU 的温度（以摄氏度为单位）。  | 
|  `container_gpu_utilization` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  分配给容器的 GPU 的利用率百分比。  | 
|  `container_gpu_tensor_core_utilization` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  分配给容器的 GPU 张量核心利用率百分比。  | 
|  `node_gpu_memory_total` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `GpuDevice`  |  分配给节点的 GPU 上的帧缓冲区总大小（以字节为单位）。  | 
|  `node_gpu_memory_used` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `GpuDevice`  |  分配给节点的 GPU 上使用的帧缓冲区字节数。  | 
|  `node_gpu_memory_utilization` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `GpuDevice`  |  分配给节点的 GPU 上使用的帧缓冲区百分比。  | 
|  `node_gpu_power_draw` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `GpuDevice`  |  分配给节点的 GPU 的功耗（以瓦特为单位）。  | 
|  `node_gpu_temperature` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `GpuDevice`  |  分配给节点的 GPU 的温度（以摄氏度为单位）。  | 
|  `node_gpu_utilization` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `GpuDevice`  |  分配给节点的 GPU 的利用率百分比。  | 
|  `node_gpu_tensor_core_utilization` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `GpuDevice`  |  分配给节点的 GPU 张量核心利用率百分比。  | 
|  `pod_gpu_memory_total` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`. `GpuDevice`  |  分配给 Pod 的 GPU 上的帧缓冲区总大小（以字节为单位）。  | 
|  `pod_gpu_memory_used` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`. `GpuDevice`  |  分配给 Pod 的 GPU 上使用的帧缓冲区字节数。  | 
|  `pod_gpu_memory_utilization` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`. `GpuDevice`  |  分配给 Pod 的 GPU 上使用的帧缓冲区百分比。  | 
|  `pod_gpu_power_draw` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`. `GpuDevice`  |  分配给 Pod 的 GPU 的功耗（以瓦特为单位）。  | 
|  `pod_gpu_temperature` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`. `GpuDevice`  |  分配给容器组 (pod) 的 GPU 的温度（以摄氏度为单位）。  | 
|  `pod_gpu_utilization` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  分配给 Pod 的 GPU 的利用率百分比。  | 
|  `pod_gpu_tensor_core_utilization` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  分配给容器组（pod）的 GPU 张量核心利用率百分比。  | 

### GPU 精细化监控
<a name="Container-Insights-detailed-GPU-monitoring"></a>

从 CloudWatch 代理 `1.300062.0` 版本开始，适用于 Amazon EKS 的可观测性增强型 Container Insights 支持亚分钟级收集间隔的 GPU 精细化监控。该功能填补了短时机器学习推理工作负载的监控空白；此类工作负载在标准收集间隔下可能被完全遗漏。必须使用 CloudWatch Observability EKS 附加组件版本 `v4.7.0-eksbuild.1` 或更高版本安装 CloudWatch 代理。有关更多信息，请参阅 [使用 Amazon CloudWatch Observability EKS 附加组件或 Helm 图表安装 CloudWatch 代理](install-CloudWatch-Observability-EKS-addon.md)。

默认情况下，GPU 指标的收集与上报间隔为 60 秒。启用精细化监控后，CloudWatch 代理将以亚分钟级间隔（最小 1 秒）收集 GPU 指标，但指标仍以 1 分钟为间隔上报至 CloudWatch。不过，您可对每个 1 分钟周期内的亚分钟级数据点进行统计聚合查询（如最小值、最大值及 P90 等百分位数），以此获取精准的 GPU 利用率数据，实现更优的资源优化。

#### 配置
<a name="Container-Insights-detailed-GPU-monitoring-configuration"></a>

如需启用 GPU 精细化监控，需更新 CloudWatch 代理配置，在 `kubernetes` 配置段中添加 `accelerated_compute_gpu_metrics_collection_interval` 参数，配置示例如下。

```
{  
    "logs": {  
        "metrics_collected": {  
            "kubernetes": {  
                "cluster_name": "MyCluster",  
                "enhanced_container_insights": true,  
                "accelerated_compute_metrics": true,  
                "accelerated_compute_gpu_metrics_collection_interval": 1  
            }  
        }  
    }  
}
```

`accelerated_compute_gpu_metrics_collection_interval` 参数的取值单位为秒，最小值为 1 秒。将此参数设位 `1` 时，即可启用 1 秒的收集间隔。若未指定此参数，则将采用默认的 60 秒采集间隔。

有关完整配置说明，请参阅[设置 CloudWatch 代理以收集集群指标](Container-Insights-setup-metrics.md)。

## AWS Trainium 和 AWS Inferentia 的 AWS Neuron 指标
<a name="Container-Insights-metrics-EKS-Neuron"></a>

从 CloudWatch 代理版本 `1.300036.0` 开始，针对 Amazon EKS 增强了可观测性的 Container Insights 默认从 AWS Trainium 和 AWS Inferentia 加速器收集加速计算指标。必须使用 CloudWatch Observability EKS 附加组件版本 `v1.5.0-eksbuild.1` 或更高版本安装 CloudWatch 代理。有关附加组件的更多信息，请参阅 [使用 Amazon CloudWatch Observability EKS 附加组件或 Helm 图表安装 CloudWatch 代理](install-CloudWatch-Observability-EKS-addon.md)。有关 AWS Trainium 的更多信息，请参阅 [AWS Trainium](https://aws.amazon.com/machine-learning/trainium/)。有关 AWS Inferentia 的更多信息，请参阅 [AWS Inferentia](https://aws.amazon.com/machine-learning/inferentia/)。

要让 Container Insights 收集 AWS Neuron 指标，必须满足以下先决条件：
+ 必须将针对 Amazon EKS 增强了可观测性的 Container Insights 与 Amazon CloudWatch Observability EKS 附加组件版本 `v1.5.0-eksbuild.1` 或更高版本结合使用。
+ [Neuron 驱动程序](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/general/setup/neuron-setup/pytorch/neuronx/ubuntu/torch-neuronx-ubuntu22.html#setup-torch-neuronx-ubuntu22)必须安装在集群的节点上。
+ [Neuron 设备插件](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/containers/kubernetes-getting-started.html)必须安装在集群上。例如，使用必要的组件构建 Amazon EKS 优化版加速型 AMI。

本节的表中列出了将收集的指标。这些指标是为 AWS Trainium、AWS Inferentia 和 AWS Inferentia2 收集的。

CloudWatch 代理从 [Neuron Monitor](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/tools/neuron-sys-tools/neuron-monitor-user-guide.html) 收集这些指标，并进行必要的 Kubernetes 资源关联，以在容器组（pod）和容器级别提供指标


| 指标名称 | Dimensions | 说明 | 
| --- | --- | --- | 
|  `container_neuroncore_utilization` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`, `NeuronCore`  |  分配给容器的 NeuronCore 在捕获期内的 NeuronCore 利用率。 单位：百分比  | 
|  `container_neuroncore_memory_usage_constants` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`, `NeuronCore`  |  分配给容器的 NeuronCore 在训练期间用于常量的设备内存量（或推理期间的权重）。 单位：字节  | 
|  `container_neuroncore_memory_usage_model_code` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`, `NeuronCore`  |  分配给容器的 NeuronCore 用于模型可执行代码的设备内存量。 单位：字节  | 
|  `container_neuroncore_memory_usage_model_shared_scratchpad` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`, `NeuronCore`  |  分配给容器的 NeuronCore 用于模型共享暂存器的设备内存量。此内存区域保留用于模型。 单位：字节  | 
|  `container_neuroncore_memory_usage_runtime_memory` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`, `NeuronCore`  |  分配给容器的 NeuronCore 用于 Neuron 运行时的设备内存量。 单位：字节  | 
|  `container_neuroncore_memory_usage_tensors` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`, `NeuronCore`  |  分配给容器的 NeuronCore 用于张量的设备内存量。 单位：字节  | 
|  `container_neuroncore_memory_usage_total` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`, `NeuronCore`  |  分配给容器的 NeuronCore 使用的内存总量。 单位：字节  | 
|  `container_neurondevice_hw_ecc_events_total` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`  |  节点上 Neuron 设备的片上 SRAM 和设备内存的已校正和未校正 ECC 事件数。 单位：个  | 
|  `pod_neuroncore_utilization` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`, `NeuronCore`  |  分配给容器组（pod）的 NeuronCore 在捕获期内的 NeuronCore 利用率。 单位：百分比  | 
|  `pod_neuroncore_memory_usage_constants` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`, `NeuronCore`  |  分配给容器组（pod）的 NeuronCore 在训练期间用于常量的设备内存量（或推理期间的权重）。 单位：字节  | 
|  `pod_neuroncore_memory_usage_model_code` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`, `NeuronCore`  |  分配给容器组（pod）的 NeuronCore 用于模型可执行代码的设备内存量。 单位：字节  | 
|  `pod_neuroncore_memory_usage_model_shared_scratchpad` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`, `NeuronCore`  |  分配给容器组（pod）的 NeuronCore 用于模型共享暂存器的设备内存量。此内存区域保留用于模型。 单位：字节  | 
|  `pod_neuroncore_memory_usage_runtime_memory` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`, `NeuronCore`  |  分配给容器组（pod）的 NeuronCore 用于 Neuron 运行时的设备内存量。 单位：字节  | 
|  `pod_neuroncore_memory_usage_tensors` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`, `NeuronCore`  |  分配给容器组（pod）的 NeuronCore 用于张量的设备内存量。 单位：字节  | 
|  `pod_neuroncore_memory_usage_total` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`, `NeuronCore`  |  分配给容器组（pod）的 NeuronCore 使用的内存总量。 单位：字节  | 
|  `pod_neurondevice_hw_ecc_events_total` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`  |  分配给容器组（pod）的 Neuron 设备的片上 SRAM 和设备内存的已校正和未校正 ECC 事件数。 单位：字节  | 
|  `node_neuroncore_utilization` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceType`, `InstanceId`, `NodeName`, `NeuronDevice`, `NeuronCore`  |  分配给节点的 NeuronCore 在捕获期内的 NeuronCore 利用率。 单位：百分比  | 
|  `node_neuroncore_memory_usage_constants` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceType`, `InstanceId`, `NodeName`, `NeuronDevice`, `NeuronCore`  |  分配给节点的 NeuronCore 在训练期间用于常量的设备内存量（或推理期间的权重）。 单位：字节  | 
|  `node_neuroncore_memory_usage_model_code` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceType`, `InstanceId`, `NodeName`, `NeuronDevice`, `NeuronCore`  |  分配给节点的 NeuronCore 用于模型可执行代码的设备内存量。 单位：字节  | 
|  `node_neuroncore_memory_usage_model_shared_scratchpad` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceType`, `InstanceId`, `NodeName`, `NeuronDevice`, `NeuronCore`  |  分配给节点的 NeuronCore 用于模型共享暂存器的设备内存量。这保留用于模型的内存区域。 单位：字节  | 
|  `node_neuroncore_memory_usage_runtime_memory` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceType`, `InstanceId`, `NodeName`, `NeuronDevice`, `NeuronCore`  |  分配给节点的 NeuronCore 用于 Neuron 运行时的设备内存量。 单位：字节  | 
|  `node_neuroncore_memory_usage_tensors` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceType`, `InstanceId`, `NodeName`, `NeuronDevice`, `NeuronCore`  |  分配给节点的 NeuronCore 用于张量的设备内存量。 单位：字节  | 
|  `node_neuroncore_memory_usage_total` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceType`, `InstanceId`, `NodeName`, `NeuronDevice`, `NeuronCore`  |  分配给节点的 NeuronCore 使用的内存总量。 单位：字节  | 
|  `node_neuron_execution_errors_total` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName`  |  节点上执行错误的总数。这是由 CloudWatch 代理通过汇总以下类型的错误来计算的：`generic`、`numerical`、`transient`、`model`、`runtime` 和 `hardware` 单位：个  | 
|  `node_neurondevice_runtime_memory_used_bytes` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName`  |  节点上 Neuron 设备内存使用总量（以字节为单位）。 单位：字节  | 
| `node_neuron_execution_latency` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName`  |  Neuron 运行时测量的节点上执行的延迟（以秒为单位）。 单位：秒  | 
| `node_neurondevice_hw_ecc_events_total` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `NodeName`, `NeuronDevice`  |  节点上 Neuron 设备的片上 SRAM 和设备内存的已校正和未校正 ECC 事件数。 单位：个  | 

## AWS Elastic Fabric Adapter（EFA）指标
<a name="Container-Insights-metrics-EFA"></a>

从 CloudWatch 代理版本 `1.300037.0` 开始，针对 Amazon EKS 增强了可观测性的 Container Insights 从 Linux 实例上的 Amazon EKS 集群收集 AWS Elastic Fabric Adapter（EFA）指标。必须使用 CloudWatch Observability EKS 附加组件版本 `v1.5.2-eksbuild.1` 或更高版本安装 CloudWatch 代理。有关附加组件的更多信息，请参阅 [使用 Amazon CloudWatch Observability EKS 附加组件或 Helm 图表安装 CloudWatch 代理](install-CloudWatch-Observability-EKS-addon.md)。有关 AWS Elastic Fabric Adapter（EFA）的更多信息，请参阅 [Elastic Fabric Adapter](https://aws.amazon.com/hpc/efa/)。

要让 Container Insights 收集 AWS Elastic Fabric Adapter 指标，必须满足以下先决条件：
+ 必须将针对 Amazon EKS 增强了可观测性的 Container Insights 与 Amazon CloudWatch Observability EKS 附加组件版本 `v1.5.2-eksbuild.1` 或更高版本结合使用。
+ EFA 设备插件必须安装在集群上。有关更多信息，请参阅 GitHub 上的 [aws-efa-k8s-device-plugin](https://github.com/aws/eks-charts/tree/master/stable/aws-efa-k8s-device-plugin)。

下表中列出了收集的指标。


| 指标名称 | Dimensions | 说明 | 
| --- | --- | --- | 
|  `container_efa_rx_bytes` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NetworkInterfaceId`   |  分配给容器的 EFA 设备每秒接收的字节数。 单位：字节/秒  | 
|  `container_efa_tx_bytes` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NetworkInterfaceId`   |  分配给容器的 EFA 设备每秒传输的字节数。 单位：字节/秒  | 
|  `container_efa_rx_dropped` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NetworkInterfaceId`   |  分配给容器的 EFA 设备接收然后丢弃的数据包数量。 单位：计数/秒  | 
|  `container_efa_rdma_read_bytes` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NetworkInterfaceId`   |  分配给容器的 EFA 设备使用远程直接内存访问读取操作每秒接收的字节数。 单位：字节/秒  | 
|  `container_efa_rdma_write_bytes` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NetworkInterfaceId`   |  分配给容器的 EFA 设备使用远程直接内存访问读取操作每秒传输的字节数。 单位：字节/秒  | 
|  `container_efa_rdma_write_recv_bytes` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NetworkInterfaceId`   |  分配给容器的 EFA 设备在远程直接内存访问写入操作期间每秒接收的字节数。 单位：字节/秒  | 
|  `pod_efa_rx_bytes` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NetworkInterfaceId`  |  分配给容器组（pod）的 EFA 设备每秒接收的字节数。 单位：字节/秒  | 
|  `pod_efa_tx_bytes` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NetworkInterfaceId`  |  分配给容器组（pod）的 EFA 设备每秒传输的字节数。 单位：字节/秒  | 
|  `pod_efa_rx_dropped` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NetworkInterfaceId`  |  分配给容器组（pod）的 EFA 设备接收然后丢弃的数据包数量。 单位：计数/秒  | 
|  `pod_efa_rdma_read_bytes` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NetworkInterfaceId`  |  分配给容器组（pod）的 EFA 设备使用远程直接内存访问读取操作每秒接收的字节数。 单位：字节/秒  | 
|  `pod_efa_rdma_write_bytes` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NetworkInterfaceId`  |  分配给容器组（pod）的 EFA 设备使用远程直接内存访问读取操作每秒传输的字节数。 单位：字节/秒  | 
|  `pod_efa_rdma_write_recv_bytes` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NetworkInterfaceId`  |  分配给容器组（pod）的 EFA 设备在远程直接内存访问写入操作期间每秒接收的字节数。 单位：字节/秒  | 
|  `node_efa_rx_bytes` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `NetworkInterfaceId`  |  分配给节点的 EFA 设备每秒接收的字节数。 单位：字节/秒  | 
|  `node_efa_tx_bytes` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `NetworkInterfaceId`  |  分配给节点的 EFA 设备每秒传输的字节数。 单位：字节/秒  | 
|  `node_efa_rx_dropped` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `NetworkInterfaceId`  |  分配给节点的 EFA 设备接收然后丢弃的数据包数量。 单位：计数/秒  | 
|  `node_efa_rdma_read_bytes` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `NetworkInterfaceId`  |  分配给节点的 EFA 设备使用远程直接内存访问读取操作每秒接收的字节数。 单位：字节/秒  | 
|  `node_efa_rdma_write_bytes` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `NetworkInterfaceId`  |  分配给容器组（pod）的 EFA 设备使用远程直接内存访问读取操作每秒传输的字节数。 单位：字节/秒  | 
|  `node_efa_rdma_write_recv_bytes` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `NetworkInterfaceId`  |  分配给节点的 EFA 设备在远程直接内存访问写入操作期间每秒接收的字节数。 单位：字节/秒  | 

## Amazon SageMaker AI HyperPod 指标
<a name="Container-Insights-metrics-Sagemaker-HyperPod"></a>

从 CloudWatch Observability EKS 附加组件的 `v2.0.1-eksbuild.1` 版本开始，具有 Amazon EKS 增强可观测性的 Container Insights 会自动从 Amazon EKS 集群收集 Amazon SageMaker AI HyperPod 指标。有关附加组件的更多信息，请参阅 [使用 Amazon CloudWatch Observability EKS 附加组件或 Helm 图表安装 CloudWatch 代理](install-CloudWatch-Observability-EKS-addon.md)。有关 Amazon SageMaker AI HyperPod 的更多信息，请参阅 [Amazon SageMaker AI HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks.html)。

下表中列出了收集的指标。


| 指标名称 | Dimensions | 说明 | 
| --- | --- | --- | 
|  `hyperpod_node_health_status_unschedulable` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  表示节点是否被 `Unschedulable` HyperPod 标记为 Amazon SageMaker AI。这意味着该节点正在运行深度运行状况检查，无法用于运行的工作负载。 单位：个  | 
|  `hyperpod_node_health_status_schedulable` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  表示节点是否被 `Schedulable` HyperPod 标记为 Amazon SageMaker AI。这意味着该节点已通过基本运行状况检查或深度运行状况检查，可用于运行的工作负载。 单位：个  | 
|  `hyperpod_node_health_status_unschedulable_pending_replacement` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  表示节点是否被 HyperPod 标记为 `UnschedulablePendingReplacement`。这意味着该节点未通过深度运行状况检查或运行状况监测代理检查，需要替换。 如果启用了自动节点恢复，该节点将自动被 Amazon SageMaker AI HyperPod 替换。 单位：个  | 
|  `hyperpod_node_health_status_unschedulable_pending_reboot` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  表示节点是否被 `UnschedulablePendingReboot` HyperPod 标记为 Amazon SageMaker AI。这意味着该节点正在运行深度运行状况检查，需要重启。 如果启用了自动节点恢复，Amazon SageMaker AI HyperPod 将自动重启该节点。 单位：个  | 

## Amazon EBS NVMe 驱动指标
<a name="Container-Insights-metrics-EBS"></a>

从 CloudWatch 代理版本 ` 1.300056.0` 开始，针对 Amazon EKS 增强了可观测性的 Container Insights 从 Linux 实例上的 Amazon EKS 集群自动收集 Amazon EBS NVMe 驱动指标。必须使用 CloudWatch Observability Amazon EKS 附加组件版本 `4.1.0` 或更高版本安装 CloudWatch 代理。有关附加组件的更多信息，请参阅 [使用 Amazon CloudWatch Observability EKS 附加组件或 Helm 图表安装 CloudWatch 代理](install-CloudWatch-Observability-EKS-addon.md)。如需进一步了解 Amazon EBS，请参阅 [Amazon EBS 详细性能统计数据](https://docs.aws.amazon.com/ebs/latest/userguide/nvme-detailed-performance-stats.html)。

要让 Container Insights 收集 Amazon EBS NVMe 驱动指标，必须满足以下先决条件：
+ 必须将针对 Amazon EKS 增强了可观测性的 Container Insights 与 CloudWatch Observability Amazon EKS 附加组件版本 `4.1.0` 或更高版本结合使用。
+ 必须在已启用指标的集群上安装 EBS CSI 驱动程序 `1.42.0` 插件或 Helm 图表。
  + 若要在使用 Amazon EBS CSI 驱动程序插件时启用指标功能，请在创建或更新该插件时配置以下选项。`--configuration-values '{ "node": { "enableMetrics": true } }'`
  + 若要在使用 Helm 图表时启用指标功能，请在创建或更新该插件时配置以下选项。`--set node.enableMetrics=true`

下表中列出了收集的指标。


| 指标名称 | Dimensions | 说明 | 
| --- | --- | --- | 
|  `node_diskio_ebs_total_read_ops` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | 已完成的读取操作总数。 | 
|  `node_diskio_ebs_total_write_ops` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | 已完成的写入操作总数。 | 
|  `node_diskio_ebs_total_read_bytes` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | 传输的读取字节总数。 | 
|  `node_diskio_ebs_total_write_bytes` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | 传输的写入字节总数。 | 
|  `node_diskio_ebs_total_read_time` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | 所有已完成读取操作的总耗时（单位：微秒）。 | 
|  `node_diskio_ebs_total_write_time` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | 所有已完成写入操作的总耗时（单位：微秒）。 | 
|  `node_diskio_ebs_volume_performance_exceeded_iops` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | IOPS 需求超出存储卷预调配 IOPS 性能的总时长（单位：微秒）。 | 
|  `node_diskio_ebs_volume_performance_exceeded_tp` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | 吞吐量需求超出存储卷预配置吞吐量性能的总时长（单位：微秒）。 | 
|  `node_diskio_ebs_ec2_instance_performance_exceeded_iops` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | EBS 卷超出所附加的 Amazon EC2 实例最大 IOPS 性能的总时长（单位：微秒）。 | 
|  `node_diskio_ebs_ec2_instance_performance_exceeded_tp` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | EBS 卷超出所附加的 Amazon EC2 实例最大吞吐量性能的总时长（单位：微秒）。 | 
|  `node_diskio_ebs_volume_queue_length` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | 待完成的读取与写入操作的数量。 | 