Datadog ECS仪表盘运行任务数历史指标长时间查询数值异常
问题分析与解决方案
你的查询在长时间范围下数值偏大的核心原因是错误对gauge类型指标使用了.sum聚合函数:
ecs.containerinsights.running_task_count是gauge指标,代表某一时刻的ECS运行任务数量,而非需要累加的计数型指标。- 当时间跨度拉长,Datadog会自动增大数据聚合间隔(rollup),此时
.sum会把每个大聚合窗口内的所有采样点gauge值累加,再经avg计算后转成count,必然出现数值随时间跨度增大而持续偏高的问题。
修正后的查询语句
根据你展示过去时间段内运行ECS任务数量的需求,可选择以下两种查询方式:
1. 展示平均运行任务数
avg:ecs.containerinsights.running_task_count{$ecs_service,$ecs_cluster} by {servicename}
2. 展示时间段内的峰值运行任务数
max:ecs.containerinsights.running_task_count{$ecs_service,$ecs_cluster} by {servicename}
补充说明
- 无需使用
.as_count():running_task_count本身就是计数类gauge,直接聚合即可得到正确的任务数量。 - 若需查看某一时点的精确任务数,可使用
last聚合函数:
last:ecs.containerinsights.running_task_count{$ecs_service,$ecs_cluster} by {servicename}
内容的提问来源于stack exchange,提问作者user7692855
相关产品推荐
相关产品推荐

