View a markdown version of this page

适用于 Amazon EKS 的采用 OpenTelemetry 指标的 Container Insights - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

适用于 Amazon EKS 的采用 OpenTelemetry 指标的 Container Insights

预览

采用 OpenTelemetry 指标的 Container Insights 可让您深入了解 Amazon EKS 集群基础设施的运行状况。该功能的公开预览版已在美国东部(弗吉尼亚州北部)、美国西部(俄勒冈州)、欧洲地区(爱尔兰)、亚太地区(新加坡)和亚太地区(悉尼)推出,且没有额外费用。

Amazon CloudWatch Observability EKS 附加组件从 Amazon EKS 集群收集开源指标,并使用 OpenTelemetry Protocol(OTLP)以 30 秒的粒度将其发送到 CloudWatch。这些指标使用其原始来源的指标名称,包括 cAdvisor、Prometheus Node Exporter、NVIDIA DCGM、Kube State Metrics 和 Amazon Neuron Monitor。您可以在 CloudWatch Query Studio 中使用 PromQL 或通过兼容 Prometheus 的查询 API 来查询这些指标。

每个指标都会自动补充多达 150 个标签,包括 OpenTelemetry 语义惯例属性以及 Kubernetes 容器组(pod)和节点标签。PromQL 在查询时处理聚合,因此每个指标按每个资源发布一次,而不是在多个聚合级别发布。该附加组件还将来自 Amazon Neuron 和 Amazon Elastic Fabric Adapter 的加速器指标与使用这些指标的特定容器组(pod)和容器相关联,从而提供仅从指标来源无法获得的可见性。

要在 Amazon EKS 集群上启用 OTel Container Insights,请通过 Amazon EKS 控制台或基础设施即代码安装 Amazon CloudWatch Observability EKS 附加组件版本 v6.0.1-eksbuild.1 或更新版本。

有关设置 OTel Container Insights 的更多信息,请参阅设置 Container Insights

有关使用 PromQL 查询这些指标的更多信息,请参阅 PromQL 查询

OTel Container Insights 与 Container Insights 的对比情况(增强型)

下表总结了 Container Insights(增强型)与 OTel Container Insights 之间的区别。

功能 Container Insights(增强型) OTel Container Insights
指标名称 CloudWatch 格式的指标(例如 pod_cpu_utilization 开源原生(例如 container_cpu_usage_seconds_total
每个指标的标签数量 每个指标 3 – 6 个预定义维度 最多 150 个标签,包括所有 Kubernetes 容器组(pod)和节点标签
聚合 在多个级别 [集群、命名空间、工作负载、容器组(pod)] 进行预聚合 每个资源的原始指标;使用 PromQL 在查询时聚合
查询语言 CloudWatch 指标 API PromQL(兼容 Prometheus)
指标摄取 EMF 格式的 CloudWatch Logs OTLP 端点

指标的标记方式

OTel Container Insights 收集的每个指标都带有来自三个来源的标签。

遥测数据源原生标签

来自原始指标来源的标签(例如,cAdvisor 提供诸如 podnamespacecontainer 之类的标签)。这些标签作为数据点属性保留起来。

OpenTelemetry 资源属性

该附加组件按照 KubernetesHostCloud(例如 k8s.pod.namek8s.namespace.namek8s.node.namehost.namecloud.region)的 OpenTelemetry 语义惯例附加资源属性。这些属性在所有指标源中均一致。

Kubernetes 容器组(pod)和节点标签

从 Kubernetes API 中发现的所有容器组(pod)标签和节点标签都将作为前缀为 k8s.pod.labelk8s.node.label 的资源属性附加。

有关如何使用 PromQL 查询这些属性的更多信息,请参阅 PromQL 查询

受支持的指标

下表列出了 OTel Container Insights 收集的指标来源和类别。

指标来源 指标类别 先决条件
cAdvisor CPU 指标 -
cAdvisor 内存指标 -
cAdvisor 网络指标 -
cAdvisor 磁盘和文件系统指标 -
Prometheus Node Exporter CPU 指标 -
Prometheus Node Exporter 内存指标 -
Prometheus Node Exporter 磁盘指标 -
Prometheus Node Exporter 文件系统指标 -
Prometheus Node Exporter 网络指标 -
Prometheus Node Exporter 系统指标 -
Prometheus Node Exporter VMStat 指标 -
Prometheus Node Exporter Netstat 和套接字指标 -
NVIDIA DCGM GPU 利用率和性能指标 必须安装 NVIDIA 设备插件NVIDIA 容器工具包
NVIDIA DCGM GPU 内存指标 必须安装 NVIDIA 设备插件NVIDIA 容器工具包
NVIDIA DCGM GPU 功耗和散热指标 必须安装 NVIDIA 设备插件NVIDIA 容器工具包
NVIDIA DCGM GPU 节流指标 必须安装 NVIDIA 设备插件NVIDIA 容器工具包
NVIDIA DCGM GPU 错误和可靠性指标 必须安装 NVIDIA 设备插件NVIDIA 容器工具包
NVIDIA DCGM GPU NVLink 指标 必须安装 NVIDIA 设备插件NVIDIA 容器工具包
NVIDIA DCGM GPU 信息指标 必须安装 NVIDIA 设备插件NVIDIA 容器工具包
Amazon Neuron Monitor NeuronCore 指标 必须安装 Neuron 驱动程序Neuron 设备插件
Amazon Neuron Monitor NeuronDevice 指标 必须安装 Neuron 驱动程序Neuron 设备插件
Amazon Neuron Monitor Neuron 系统指标 必须安装 Neuron 驱动程序Neuron 设备插件
Amazon Elastic Fabric Adapter EFA 指标 必须安装 EFA 设备插件
NVMe NVMe SMART 指标 -
Kube State Metrics 容器组(pod)、节点、部署、DaemonSet、StatefulSet、ReplicaSet、任务、CronJob、服务、命名空间、PersistentVolume、PersistentVolumeClaim 指标 -
Kubernetes API 服务器 API 服务器和 etcd 指标 -