Amazon EKS 和 Kubernetes 的性能日志事件中的相关字段
对于 Amazon EKS 和 Kubernetes,容器化的 CloudWatch 代理将数据作为性能日志事件发出。这使 CloudWatch 能够摄取和存储高基数数据。CloudWatch 使用性能日志事件中的数据在集群、节点和 pod 级别创建聚合的 CloudWatch 指标,而不会丢失详细信息。
下表列出了这些性能日志事件中与 Container Insights 指标数据收集相关的字段。您可以使用 CloudWatch Logs Insights 查询其中的任何字段以收集数据或调查问题。有关更多信息,请参阅使用 CloudWatch Logs Insights 分析日志数据。
类型 | 日志字段 | 来源 | 公式或备注 |
---|---|---|---|
Pod |
|
计算 |
公式: |
Pod |
|
cadvisor |
|
Pod |
|
计算 |
公式:
如果 pod 中的任何容器未定义 CPU 限制,则该字段不会显示在日志事件中。这包括 init 容器 |
Pod |
|
计算 |
公式: 不保证设置 |
Pod |
|
计算 |
公式: |
Pod |
|
计算 |
公式: |
Pod |
|
计算 |
公式: 它是 pod 内存使用量相比节点内存限制的百分比。 |
Pod |
|
cadvisor |
|
Pod |
|
计算 |
公式: 如果 pod 中的任何容器没有定义内存限制,则该字段不会显示在日志事件中。这包括 init 容器 |
Pod |
|
计算 |
公式: 不保证设置 |
Pod |
|
计算 |
公式: 如果 pod 中的任何容器没有定义内存限制,则该字段不会显示在日志事件中。这包括 init 容器 |
Pod |
|
计算 |
公式: |
Pod |
|
计算 |
公式: 该数据适用于每个 pod 的所有网络接口。CloudWatch 代理计算总数并添加指标提取规则。 |
Pod |
|
计算 |
公式: |
Pod |
|
计算 |
公式: |
PodNet |
|
cadvisor |
该数据是 pod 网络接口每秒接收的网络字节数。 |
PodNet |
|
cadvisor |
该数据是 pod 网络接口每秒发送的网络字节数。 |
容器 |
|
cadvisor |
|
容器 |
|
cadvisor |
不保证设置该字段。如果未设置,则不会发出该指标。 |
容器 |
|
cadvisor |
不保证设置该字段。如果未设置,则不会发出该指标。 |
容器 |
|
cadvisor |
|
容器 |
|
容器组(pod) |
不保证设置该字段。如果未设置,则不会发出该指标。 |
容器 |
|
容器组(pod) |
不保证设置该字段。如果未设置,则不会发出该指标。 |
节点 |
|
计算 |
公式: |
节点 |
|
cadvisor |
|
节点 |
|
/proc |
|
节点 |
|
计算 |
公式: 对于 cronjobs, |
节点 |
|
计算 |
公式: |
节点 |
|
计算 |
公式: |
节点 |
|
cadvisor |
|
节点 |
|
/proc |
|
节点 |
|
计算 |
公式: |
节点 |
|
计算 |
公式: |
节点 |
|
计算 |
公式: |
节点 |
|
计算 |
公式: |
节点 |
|
计算 |
公式: |
节点 |
|
Pod 列表 |
|
节点 |
|
Pod 列表 |
|
NodeNet |
|
cadvisor |
该数据是工作线程节点网络接口每秒接收的网络字节数。 |
NodeNet |
|
cadvisor |
该数据是工作线程节点网络接口每秒发送的网络字节数。 |
NodeFS |
|
cadvisor |
|
NodeFS |
|
cadvisor |
|
NodeFS |
|
计算 |
公式: 该数据适用于每个设备名称。 |
集群 |
|
API 服务器 |
|
集群 |
|
API 服务器 |
|
服务 |
|
API 服务器 |
|
|
|
API 服务器 |
指标计算示例
本节包含的示例说明了如何计算上表中的某些值。
假设您具有一个处于以下状态的集群。
Node1 node_cpu_limit = 4 node_cpu_usage_total = 3 Pod1 pod_cpu_usage_total = 2 Container1 container_cpu_limit = 1 container_cpu_request = 1 container_cpu_usage_total = 0.8 Container2 container_cpu_limit = null container_cpu_request = null container_cpu_usage_total = 1.2 Pod2 pod_cpu_usage_total = 0.4 Container3 container_cpu_limit = 1 container_cpu_request = 0.5 container_cpu_usage_total = 0.4 Node2 node_cpu_limit = 8 node_cpu_usage_total = 1.5 Pod3 pod_cpu_usage_total = 1 Container4 container_cpu_limit = 2 container_cpu_request = 2 container_cpu_usage_total = 1
下表说明了如何使用该数据计算 pod CPU 指标。
指标 | 公式 | Pod1 | Pod2 | Pod3 |
---|---|---|---|---|
|
|
2 / 4 = 50% |
0.4 / 4 = 10% |
1 / 8 = 12.5% |
|
|
不适用,因为没有定义 |
0.4 / 1 = 40% |
1 / 2 = 50% |
|
|
(1 + 0) / 4 = 25% |
0.5 / 4 = 12.5% |
2 / 8 = 25% |
下表说明了如何使用该数据计算节点 CPU 指标。
指标 | 公式 | Node1 | Node2 |
---|---|---|---|
|
|
3 / 4 = 75% |
1.5 / 8 = 18.75% |
|
|
1.5 / 4 = 37.5% |
2 / 8 = 25% |