Flashduty集成邮件告警:邮件告警还能这么玩?!

老旧系统只支持邮件告警时,可以通过 Flashduty Email 集成把非结构化邮件转成可分派、可降噪、可认领、可自动关闭的告警事件。本文演示添加邮件集成、配置分派策略、提取标签和自动关闭告警的流程。

作者 快猫技术

很多老旧系统没有指标接口,也无法方便接入 Prometheus、Nightingale 这类监控体系,但它们往往支持一件事:发邮件。问题是,邮件适合通知人,却不适合承载现代 OnCall 流程。

核心要点

  • 邮件告警容易被工作邮件淹没,也缺少认领、升级、关闭和自动化处理能力。
  • Flashduty 的 Email 集成可以接收邮件,把邮件内容转换为告警事件,再进入分派、通知和协同流程。
  • 标签增强可以从邮件正文中提取主机、服务、描述等字段,让非结构化邮件具备可路由的结构化标签。
  • 自动关闭能力依赖 Alert Key:同一故障的触发邮件和恢复邮件需要能被识别为同一个告警对象。
  • 这种方案适合“系统只能发邮件,但团队希望按 OnCall 流程处理告警”的场景。

邮件告警为什么需要增强

在现代 IT 技术环境中,新的监控系统通常支持电话、短信、钉钉、飞书、Slack 等通知媒介,使用起来比较灵活。但是一些老旧系统不提供指标暴露方式,也无法和监控系统良好对接,只内置邮件告警。这给分发、降噪和自动化都带来了挑战。

通常来讲,邮件告警有以下问题:

使用邮件告警有哪些问题?

  1. 容易被忽视:邮件告警往往淹没在日常工作邮件中,容易被忽视或误判为普通邮件,导致告警未能及时处理,增加业务风险。
  2. 信息不够直观:邮件内容可能过于冗长,或者缺乏关键上下文,使处理人员难以快速判断严重性和紧急程度。
  3. 自动化机制缺失:邮件内容通常是非结构化的,OnCall 响应人员很难直接基于邮件做告警自愈、工单同步或故障升级。

这些问题限制了 OnCall 人员及时响应和处理告警的能力。那么有没有更好的方式替换或解决这些问题?祭出大杀器:Flashduty!使用 Flashduty 可以把非结构化的邮件内容解析为结构化数据,进而匹配各种灵活的通知、降噪策略,使用不同的通知媒介来推送。

使用 Flashduty 来增强邮件告警

Flashduty 定位是一站式告警响应平台,目的在于加速企业告警响应。Flashduty 本身是商业服务,但是官方承诺提供长期免费版本,对于一些小团队来说,是够用的。

使用 Flashduty 来增强邮件告警

添加邮件集成

  1. 登录 Flashduty 控制台,选择【协作空间-集成数据-专属集成】页面,点击创建一个新集成,找到并点击 Email 集成。
  2. 编写集成名称,其他选项保持默认,保存后系统会生成唯一的邮件前缀。邮件前缀可以自定义;邮件子域名默认是账户主体 ID,也可以联系官方修改为公司简称。

Flashduty-添加邮件集成

制定分派策略

Flashduty 中的告警均依托于协作空间进行隔离,我们可以在单个协作空间下,针对本空间告警制定灵活的分配与通知策略。如下,我选择将告警投递到飞书、钉钉、Slack 和企业微信。

Flashduty-制定分派策略

测试邮件告警

你可以手动发送邮件到集成地址进行测试,也可以使用任何支持邮件告警的系统进行测试。这里我们直接代转笔者之前接收到的 Flashduty 告警邮件来做验证。

Flashduty-测试邮件告警

如果发送成功,我们会然后立即收到 Flashduty 的通知,以下分别是 Flashduty 控制台和飞书群聊通知的截图:

Flashduty-测试邮件告警

  1. 邮件中的 HTML 信息完整地在 Flashduty 中展现。
  2. Flashduty 生成告警后,将告警投递到飞书,并 at 当前值班人员。
  3. OnCall 人员可以在飞书中直接认领或处理这个故障。

至此我们实现对邮件告警的分派和更及时的通知。

但是这里还存在一个明显的问题:Flashduty 中完整展示了邮件内容,但是没有提取出关键信息,比如这里的主机“customers-vpn-01”,那么我们如何提取到这个信息?

提取邮件信息

我们进入到【集成详情】,点击【标签增强】,如下图,根据 body_text 标签正则提取出告警对象和告警描述。

Flashduty-提取邮件信息

注意 body_text 标签是系统为 HTML 邮件特别生成的,所见即所得,方便进行正则提取。现在关掉前边生成的告警,然后再次代转之前的邮件,我们看一下扩展后的信息:

Flashduty-提取邮件信息

成功提取到描述和主机两个新标签!

这里关于标签增强仅演示了正则提取,还有很多其他玩法,比如关联 cmdb 数据,根据 host 标签找到机器的维护人员、团队信息等等,你可以到控制台深入体验。

自动关闭告警

我们现在解决了邮件告警自动分派,通知增强以及信息扩展。还有一个问题就是,如何在接收到恢复邮件时,自动关闭告警?

我们进入到【集成详情】,选择编辑,修改邮件集成模式为【根据规则触发或关闭告警】,该模式下,每当接收到新邮件,系统会根据你的规则进行邮件匹配,匹配到的邮件按照规则去触发新告警或关闭已有告警:

  1. 至少需要填写一条触发规则。
  2. 必须设置 Alert Key 的正则提取规则。Alert Key 是告警的唯一标识,系统使用该字段查找历史告警,以便更新或关闭;如果正则提取失败,系统将使用邮件标题生成 Alert Key,以确保告警不会因为配置错误而丢失。
  3. 可以选择当所有规则都不匹配时,是否丢弃邮件。

如下图所示,接收所有邮件,当邮件内容中包含 RESOLVED 字样时,关闭告警,否则触发新告警。Alert Key 从邮件标题中提取,规则为 /(.*)/

Flashduty-自动关闭告警

配置流程小结

步骤 配置项 解决的问题
添加 Email 集成 生成专属邮件地址 让老旧系统能把邮件投递到 Flashduty
制定分派策略 飞书、钉钉、Slack、企业微信等渠道 把邮件告警变成可触达的 OnCall 通知
测试邮件告警 手动发送或转发历史告警邮件 验证邮件能进入告警流程
标签增强 body_text 中正则提取字段 提取主机、描述等可路由信息
自动关闭告警 触发/关闭规则与 Alert Key 让恢复邮件关闭对应历史告警

最后

Flashduty 是一款强大而创新的产品,除了解决传统邮件告警的问题,还提供一系列更好玩、更强大的功能,帮助用户提升告警处理效率、降低业务风险:

  1. 灵活的值班策略:Flashduty 提供值班和轮班管理功能。通过可定制的值班表和通知规则,确保告警责任制,服务持续可用。
  2. 强大的降噪能力:Flashduty 提供告警降噪能力,充分应对告警风暴、告警抖动等场景。降噪比例至多可达 99%,让 OnCall 人员把更多精力花在业务上。
  3. 告警自动化能力:Flashduty 提供事件订阅、自定义操作等扩展以及一系列 API 能力,可以根据设定的规则和条件自动触发响应动作或执行特定操作,减轻人工干预负担。

Flashduty 注册之后,提供 2 周的免费试用期,快去体验吧!像 Google SRE 一样处理告警!

延伸路径

继续看解决方案和产品对比

如果你正在做监控、可观测性或故障定位相关选型,建议从解决方案和产品对比继续往下看。

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云