上文(链接: https://developers.weixin.qq.com/community/develop/article/doc/0004a885b50838ebc71cf96f951813)中我们说到了微盟APM系统中告警能力的设计与实现,此篇中我们来详细说明一下如何产生一条告警消息。
首先用户可以在APM系统中创建一条告警规则:
可以选择该条规则所监听的服务,产生的告警级别,告警的间隔,发送告警的渠道以及最为重要的告警接受者。
然后就需要编写具体的告警策略了,何为__告警策略__?顾名思义就是告警规则的判断依据,只有满足了所有或者任一策略,该条告警规则才会真正对接受人发起告警。
告警策略的主要由以下三部分组成:
- 时间间隔
- 阀值
- 过滤条件
此三者即约束了在固定__时间间隔__内满足__过滤条件__超过__阀值__的数据,即会触发此条告警策略。
举个例子,让我们来新建一条策略:
此条策略约束了若__5分钟__内满足__过滤器__条件的数据出现的平均值超过10条,即满足此条策略。此处的过滤器中的值为用户上报数据中的部分字段,方便用户自定义监听维度。由于该字段的高度自由化,故可以定义出各种满足用户需求的告警维度,例如:
- 报错频次
- 卡顿频次
- 页面数据访问频次
- 某些接口的调用频次
而在整个告警规则中,基于一个或若干策略策略的触发,才会正真产生一条告警数据。