参考文章
My Philosophy on Alerting
编写报警规则时,需要考虑的原则,参考了上述文章
哪些问题需要告警
- 对故障有足够清晰的认知,有合理的优先级区分标准
- 研发资源总是有限的,尽可能保证高优先级的告警被快速相应
- 过度监控比监控不足更加棘手,应移除告警噪音
怎样描述告警
- 尝试给问题分类,使问题能够被归集,而且有快速的排查方向
- 可用性与基本功能问题
- 延迟
- 正确性(数据的完整性、时效性和持久性)
- 其它功能问题
- 合理描述告警的内容,更全面,更可靠地描述问题
- 尝试给出问题的出现原因,而非直接描述问题,需要注意颗粒度大小的问题,颗粒度过小最后会导致问题过于具象,不易于归纳原因
- 尝试给出与问题对应的行动指引,假如对问题产生有足够的了解
- 如果尝试定位问题,
什么时候发送告警
-
采样的值
- 某个时间点的值
- 某个时间段的统计值(min/max/average)
- 基于某个时间段的表现预测未来的值
-
设定的阈值
- 下界(low bound)
- 上界(maximum)
当采样的值与上下界有冲突的时候,就是告警的时候。告警可以针对当前,也可以针对预测的值
怎么提高处理告警的效率
- 合理的 oncall 表
- 有清晰易懂的操作手册,
- 合理使用系统或者工具来记录或者处理需要及时响应但不是紧迫的事情