You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CloudWatch Dashboard中按日历日分组统计每日指标总和?

问题描述

我有一个简单的metric(无维度,unit: count),通常每日有一个数据点,有时会更多。我希望统计该metric的每日总和,为此配置了一个基础折线widget:

  • Statistic: sum
  • Period: 1day

但此处的“1day”指的是“当前时间前24小时”,我希望它代表“当日日历日”(自然日,如00:00-23:59),却找不到对应的分组设置方法,请问这是否可行?

解决方案

这完全可行,核心是放弃默认的滚动24小时周期,改用按日历日边界对齐的时间分组聚合,不同监控工具的操作逻辑大致如下:

  • 对于AWS CloudWatch这类工具:

    1. 先把Period改成更小的粒度(比如1分钟/5分钟,确保能覆盖所有零散的数据点)
    2. 开启Group by选项,选择Time作为分组维度
    3. 设置分组间隔为1 day,并找到「对齐日历边界」的开关(部分工具里叫Align to calendar或Fixed interval),开启后就会按自然日00:00-23:59的范围聚合sum值
  • 对于Grafana+Prometheus组合:

    1. 不要直接用sum_over_time(metric[24h])这种滚动窗口查询
    2. 改用按日历日分组的PromQL,比如:sum by (day) (metric * on() group_left(day) day_of_month(timestamp(metric))),或者直接在Grafana面板的「Time series」设置里,添加Group by -> Time,选择Day并勾选「Align to calendar」
  • 通用逻辑:
    只要你的监控工具支持按时间维度按固定日历单元(日/周/月)分组,就能实现这个需求。关键是要让聚合的时间窗口严格对齐自然日的起止点,而不是以当前时间为基准倒推24小时。

另外,如果你的metric数据本身带有日期标签,也可以直接按日期标签分组求和,效果是一样的。


内容的提问来源于stack exchange,提问作者Guillaume

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 05:25:54