在AWS CloudWatch中能否按分钟汇总不同指标并绘图?
现有多台数据流处理服务器,每台每分钟向AWS CloudWatch发送两个自定义指标:RecordCount和RecordCount-{server_id},其中RecordCount代表过去一分钟处理的记录数。示例2台服务器2分钟的指标数据如下:
timestamp: 2024-11-06T10:00:12 RecordCount: 42 timestamp: 2024-11-06T10:00:48 RecordCount-1: 42 timestamp: 2024-11-06T10:00:32 RecordCount: 58 timestamp: 2024-11-06T10:00:33 RecordCount-2: 58 timestamp: 2024-11-06T10:01:08 RecordCount: 88 timestamp: 2024-11-06T10:01:09 RecordCount-1: 88 timestamp: 2024-11-06T10:01:56 RecordCount: 15 timestamp: 2024-11-06T10:01:57 RecordCount-2: 15
需求是创建图表,按分钟汇总所有同名指标的总和,比如示例中10:00分钟总和为100,10:01分钟总和为103,对应坐标:
X: 2024-11-06T10:00:00 Y: 100 X: 2024-11-06T10:01:00 Y: 103
但使用SUM(RecordCount)绘图时,聚合数据点与1分钟区间不匹配,图表无效,请问该需求是否可实现?
这个需求完全可以实现,核心是调整CloudWatch图表的时间聚合方式和指标匹配规则,具体操作如下:
设置正确的统计周期
在CloudWatch控制台创建图表时,选择Sum作为统计类型,将**周期(Period)**设置为1分钟。这会强制CloudWatch把每个1分钟时间窗口(如10:00:00-10:00:59)内的所有RecordCount指标值求和,自动对齐到分钟级时间边界。确保包含所有目标指标
如果RecordCount是按服务器维度上报的,需确保图表查询包含所有服务器的维度实例;如果需要匹配所有同名称的指标,可使用CloudWatch指标搜索表达式:SEARCH('{Namespace,MetricName} MetricName="RecordCount"', 'Sum', 60)该表达式会自动聚合所有符合条件的
RecordCount指标,按1分钟周期完成求和。开启周期对齐选项
如果仍出现数据点偏移,可在图表设置中开启对齐到周期(Align to period),确保每个数据点对应精确的分钟起始时间(如10:00:00、10:01:00)。
从你的示例数据来看,10:00窗口内两台服务器的RecordCount值42+58=100,10:01窗口内88+15=103,只要按上述配置操作,就能得到符合预期的图表结果。
内容的提问来源于stack exchange,提问作者Ivan Voras

