如何在AWS CloudWatch中用数学表达式显示指定时间范围的最大延迟
在CloudWatch数字组件中展示时间范围全局最大值的解决方案
嘿,我之前也碰到过一模一样的问题!默认选「最大值」统计+固定周期的时候,数字组件确实只会揪着最后一个周期的数值显示,要拿到整个时间范围里的全局最大延迟,就得靠CloudWatch的数学表达式来实现,步骤超简单:
具体操作步骤
- 打开你的数字组件编辑界面,在指标选择环节,切换到「数学表达式」标签页
- 点击「添加指标」,选中你需要的延迟指标,给它设个变量名(比如
m1),统计方式保持设为「最大值」,周期还是按你之前的5分钟设置就行 - 在表达式输入框里,输入:
MAX(m1) - 保存配置后回到组件查看,现在它就会计算整个所选时间范围内所有周期最大值里的那个全局极值了
原理说明
MAX()函数在这里会把你选中的指标(已经按5分钟周期统计了每个周期的最大值)再做一次全局聚合,把所有周期的最大值里的顶峰值挑出来。不管你把时间范围改成1小时、1天还是任意时长,组件都会自动适配,重新计算整个范围的最大延迟。
比如你说的5个都是10的数据点,用MAX(m1)后依然显示10(本来全局最大就是10);如果其中有一个数据点是15,那组件就会直接显示15,而不是最后一个周期的数值。
内容的提问来源于stack exchange,提问作者rozza
相关产品推荐
相关产品推荐

