Fargate Cloudwatch CPUUtilized指标与Docker Stats数据不符问题咨询
Fargate CPU指标CloudWatch与Datadog差异解析
核心差异原因:计算逻辑与统计维度不同
- CloudWatch
CPUUtilized指标- 单位为CPU单位(CPU Units),1vCPU对应1024 CPU单位。你配置4vCPU即4096单位,1040/4096≈25%的使用率,是AWS从宿主机层面统计的任务整体CPU资源分配使用占比。
- 1分钟采样为周期平均值,会平滑短时间CPU尖峰,无法捕捉瞬时峰值。
- Datadog
ecs.fargate.cpu.percent指标- 基于
docker stats数据,是容器内部视角的CPU使用率:计算容器实际使用的CPU时间相对单个vCPU核心的占比,若容器跨核心调度(比如在2个核心上各占用111.5%),就会出现超过100%的数值,对应2.23vCPU的实际使用量。 - 采样频率通常高于CloudWatch,能精准捕捉瞬时CPU尖峰,无周期平滑处理。
- 基于
其他影响因素
- 容器资源限制:若Fargate任务未设置容器级CPU硬限制,容器可突破单核心使用上限,
docker stats会如实反映跨核心使用情况,而CloudWatch按任务整体4vCPU额度计算,数值自然偏低。 - 统计对齐差异:CloudWatch指标上报有延迟,且统计周期的时间对齐方式与Datadog不同,导致峰值捕捉的时间点不一致。
内容的提问来源于stack exchange,提问作者Seanf123
相关产品推荐
相关产品推荐

