告警聚合降噪、告警升级、告警认领、告警排班、告警协同,一网打尽

秦晓辉@快猫星云 2023年3月15日

我们观察到,绝大部分公司都不止一套监控系统,比如同时使用了 Cacti、Zabbix、Prometheus、Open-Falcon、Nightingale、ElastAlert、Grafana 中的一款或多款,还用了阿里云(阿里云有3套监控:云监控、Arms、SLS)、腾讯云、华为云、AWS 等云厂商监控产品,通常会有以下痛点:

  • 💥 告警事件散落在各处,没法在一个统一的地方统计、分析、协同
  • 💥 监控系统重点是搞定数据采集、可视化、告警事件产生,事件的后续处理关注较少,比如缺少告警聚合、告警升级等能力,即使有些监控系统把这些能力也做了,但是是自闭环的,无法把能力共享给其他监控系统
  • 💥 人员信息散落在各处,要改个手机号需要去多个系统同步修改
  • 💥 没法和IM(飞书、钉钉、企微)良好打通,比如没法在IM里完成告警认领、屏蔽等逻辑,没有手机App或H5,不方便移动办公
  • 💥 事件的处理分析通常是缺失的,比如发了多少事件,消耗了多少手机、短信费用,平均认领/响应时间,平均恢复时间等相关统计分析是缺失的
  • 💥 缺少灵活的排班机制,落地SRE实践首先得做好排班,非OnCall的人就可以心无旁骛的干一些长线的工作

这些烦恼,我们懂!从创业第一天,我们就规划了这个产品,取名 FlashDuty(👈 点击快速体验),经过一年的打磨,是时候公开了!下面为大家分享一下我们的设计思路。

多事件源支持

告警事件散落各处,那就统一收集到一个中心,大部分监控系统都提供Webhook能力,通过Webhook的方式对接起来,FlashDuty目前支持了常见的事件源,当然,您也可以通过自定义事件推送接口直接推送。

订阅分组能力

这么多系统都对接进来,事件五花八门,都混在一起太混乱了,可以利用订阅规则把不同的事件分组到不同的协作空间。比如云平台的告警,分到云平台协作空间,由相关的研发和运维去处理,支付中台的告警,分到支付中台的专属协作空间,由相关的研发和运维去处理,各个团队的告警都类似的方式去处理。

当然,也可以为协作空间创建专属集成,让某个些事件进来就直接进入特定的协作空间,无需订阅规则。两种路由方式的详细区别可以参考这篇文章:FlashDuty协作空间的设计逻辑和路由逻辑

灵活的通知策略

针对不同的告警,可以设置不同的通知策略,比如高级别的告警使用电话通知,低级别的告警只使用邮件和IM通知:

我们点开某个通知策略,看看支持哪些配置:

不同时段、不同的事件可以有不同的发送策略,支持配置聚合窗口做告警聚合,减少通知打扰,支持配置排班,告警只发给值班人,当然,也支持发给整个团队,支持发给钉钉、飞书、企微,支持机器人的发送方式,也支持应用的方式,应用的发送方式支持卡片视图(卡片视图样例如下,那一坨英文是可以自定义成中文的),可以在卡片里认领告警、屏蔽告警,这个体验是相当丝滑的。如果告警触发之后,长时间没有人响应,告警也一直没有恢复,可以触发告警升级机制,升级给leader或者backup的人,保证告警闭环。另外还支持配置不同的告警通知模板,自定义展示内容。

支持告警屏蔽

可以灵活的过滤想要屏蔽的事件,支持周期性屏蔽,时段屏蔽。比如下面的例子,工作日的晚上我要屏蔽掉,周末一整天都要屏蔽掉,可以如下方式配置:

支持告警抑制

类似 alertmanager 的告警抑制能力,典型的场景是高级别的告警抑制低级别的告警,如果是监控系统来做,只能针对监控系统自身的事件做抑制,而FlashDuty来做,可以跨系统抑制,更为强大。

告警聚合查看

Nightingale 中有告警聚合查看的功能,可以从不同的维度来查看告警数量,非常方便,这个功能也做到了FlashDuty中,所有监控系统就都可以享受到这个能力了!

基于故障做协同

有的时候某个告警事件发出来,追查之后可能发现是依赖的数据库或者基础网络的问题,我这个团队自己就搞不定了,需要跨团队协同,此时可以把告警升级为故障,大家基于故障做协同,比如在故障下面做评论,贡献自己掌握的排查线索,基于这个信息未来可以做复盘。

灵活的排班表

要落地SRE实践,排班是必不可少的,灵活的排班表必须有!支持日常排班、节假日排班、请假调班,等等。

数据分析看板

告警事件降噪效果如何?认领的及时性如何?告警通常多久可以恢复?不同的团队表现如何?本周和上周是否有进步?等等等等。各种的统计需求,必须支持起来:

可还行?

FlashDuty 功能可还行?如果有兴趣,欢迎 点此试用 👈 我们提供免费版本!可以解决日常需求,当然,要恰饭的,也提供专业版,开放全部能力。欢迎各位小伙伴各取所需,合作共赢!

视频介绍

下面这个 15 分钟的视频,提供了更详细的操作演示,让你完成快速接入体验,视频放到了B站,可以用更高倍速播放。

开源版
Flashcat
Flashduty