CloudWatch告警缺失数据处理机制及告警模板属性配置疑问
问题1:TreatMissingData属性指代的缺失数据是什么
这里的“缺失数据”指的是你配置的5XXError指标,在指定统计周期(你模板里配置的Period: 60即60秒)内,CloudWatch没有收到任何对应数据点的情况。
结合你的API Gateway场景,会出现数据缺失的常见情况包括:
- 该周期内你的API Gateway端点没有收到任何请求,自然不会产生5xx错误指标
- 该周期内没有出现任何5xx错误,且该指标未配置零值填充(AWS服务默认的指标不会主动上报0值,只有发生对应事件时才上报数据)
TreatMissingData的作用就是定义CloudWatch遇到这类缺失数据时的判定逻辑,可选值及效果如下:
missing(默认值):缺失数据不参与判定,告警保持当前状态不变breaching:将缺失数据判定为超出阈值,直接触发告警notBreaching:将缺失数据判定为未超出阈值,视为正常状态ignore:直接跳过该周期,不计入告警评估的周期统计
如果你的业务场景需要覆盖API完全无响应、连指标都不上报的极端故障,可以选择breaching;如果业务存在规律性低峰、无流量的时段,不想误告警可以选择notBreaching。
问题2:EvaluationPeriods属性的作用是什么
这个属性定义了触发告警需要连续满足阈值条件的统计周期数量。
你当前模板配置为EvaluationPeriods: 1,加上Period: 60,意味着只要任意1个60秒周期内的5xx错误总和大于0,就会立刻触发告警。
如果将该值调整为3,就需要连续3个60秒周期的5xx错误总和都大于0,才会触发告警。该配置主要用来过滤偶发的单点异常,避免偶发的单次5xx错误触发不必要的告警。
额外注意
你当前模板里的Namespace存在笔误:AWS/ApiGateay 少写了一个w,正确应为AWS/ApiGateway,否则指标无法匹配会导致告警失效。
内容的提问来源于stack exchange,提问作者kyagu
相关产品推荐
相关产品推荐

