如何让对接CloudWatch的Grafana在任意时间范围下仅显示1行数据?
解决Grafana+CloudWatch监控固定数据行数为1的方案
要让Grafana查询CloudWatch指标时,无论设置什么时间范围都只返回1行数据,核心是对整个时间范围的指标数据做全局聚合计算,把所有原始数据点合并成一个统计值,具体操作如下:
编辑面板的CloudWatch查询
- 在查询编辑器的「统计(Statistic)」选项中,选择全局聚合类的统计方式,比如
Sum(时间范围总和)、Average(时间范围平均值)、Maximum/Minimum(时间范围极值)这类能覆盖整个时间窗口的统计项,不要用按原始采样粒度返回的统计类型。 - 调整「周期(Period)」设置:直接将周期设为等于或大于当前面板的时间范围,或者更灵活的是使用
PERIOD($__range),让周期自动匹配当前选择的时间范围,确保整个时间窗口内只生成一个数据点。
- 在查询编辑器的「统计(Statistic)」选项中,选择全局聚合类的统计方式,比如
验证效果
切换不同的时间范围(5分钟、30分钟等),查看查询返回的行数,此时应该始终为1行,对应整个时间范围的聚合统计结果。额外注意
如果指标带有多维度(比如按实例、可用区拆分),若要所有维度合并成一行,需去掉多余的维度筛选;若要每个维度保留一行但各自只返回一个聚合值,确保每个维度的查询都按上述方式设置全局聚合。
内容的提问来源于stack exchange,提问作者cloud-engineer
相关产品推荐
相关产品推荐

