邮件告警还能这么玩?!

数字揽汐人
• 阅读 145

引言

在现代的 IT 技术环境中,新的监控系统通常都支持非常丰富的通知媒介,比如电话、短信、钉钉、飞书、Slack 等,非常灵活。但是一些老旧的系统,不提供指标暴露方式,无法和监控系统良好对接,这些老古董通常只内置提供邮件告警这一种方式。这给整个分发和自动化都带来了挑战。通常来讲,邮件告警方式有以下问题:

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

  • 1.容易被忽视:邮件告警往往淹没在日常工作邮件中,容易被忽视或误判为普通邮件,导致告警未能及时处理,增加了业务风险和损失;
  • 2.信息不全面和直观:邮件告警的内容可能过于冗长、繁琐,或者缺乏关键的上下文信息,使得处理人员难以快速理解和判断问题的严重性和紧急程度;
  • 3.自动化机制缺失:因为邮件内容通常是非结构化的,OnCall 响应人员比较难基于邮件告警做进一步的自动化处理,比如告警自愈或将告警处理为工单同步到 Jira。

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

使用 Flashduty 来增强邮件告警

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

邮件告警还能这么玩?!

添加邮件集成

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

邮件告警还能这么玩?!

制定分派策略

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

邮件告警还能这么玩?!

测试邮件告警

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

邮件告警还能这么玩?!

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

邮件告警还能这么玩?!

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

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

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

提取邮件信息

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

邮件告警还能这么玩?!

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

邮件告警还能这么玩?!

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

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

自动关闭告警

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

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

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

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

邮件告警还能这么玩?!

最后

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

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

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

点赞
收藏
评论区
推荐文章
好买-葡萄 好买-葡萄
3年前
窗体底端 有了这个告警系统,DBA提前预警不是难题
好买网www.goodmai.comIT技术交易平台摘要:告警功能是各大云平台必不可少的模块,个性化的告警配置,为帮助用户和运维人员及时发现问题发挥着重要作用。本文分享自华为云社区《GaussDB(DWS)数据库智能监控系统告警框架上线啦!》,作者:codefulture。本文将从一下几个方面介绍DMS告警框架:数据库智能监控系统告警
Application Repository一键启用微信告警通知
前言我们在使用云平台时偶尔会在管理员邮箱中收到系统发出的告警通知,如EC2维护信息,这些邮件很容易淹没在收件箱中,没有得到及时处理。另外对于重要的应用我们可能会在CloudWatch设置一些指标告警并进行邮件通知。如果这些都可以发到微信等即时通信软件,就比邮件通知好多了,毕竟很多人都习惯在即时通信软件上查看消息。具体实现原理并不复杂,我们知道微信等即时通信
Application Repository一键启用微信告警通知
前言我们在使用时偶尔会在管理员邮箱中收到系统发出的告警通知,如EC2维护信息,这些邮件很容易淹没在收件箱中,没有得到及时处理。另外对于重要的应用我们可能会在CloudWatch设置一些指标告警并进行邮件通知。如果这些都可以发到微信等即时通信软件,就比邮件通知好多了,毕竟很多人都习惯在即时通信软件上查看消息。具体实现原理并不复杂,我们知道微信等即时通信工具均
Stella981 Stella981
3年前
CODING DevOps 系列第六课:IT 运维之智能化告警实践
IT运维告警现状目前IT运维领域保证服务运行正常的主要方法是对相关运维指标进行实时监控,并根据经验设定一些规则,通过将实时监控的数据与规则进行对比,当某个指标监控值不符合设定的规则时,则判定为异常的状况,这样的话就会发送对应的告警到告警平台。告警平台收到通知后,会分配给对应的运维人员进行处理,运维人员去根据告警信息来排查,最终定
Stella981 Stella981
3年前
Prometheus 整合 AlertManager
简介Alertmanager主要用于接收Prometheus发送的告警信息,它很容易做到告警信息的去重,降噪,分组,策略路由,是一款前卫的告警通知系统。它支持丰富的告警通知渠道,可以将告警信息转发到邮箱、企业微信、钉钉等。这一节讲解利用AlertManager,把接受到的告警信息,转发到邮箱。实验准备启动http
Stella981 Stella981
3年前
Prometheus监控告警浅析
前言最近有个新项目需要搞一套完整的监控告警系统,我们使用了开源监控告警系统Prometheus;其功能强大,可以很方便对其进行扩展,并且可以安装和使用简单;本文首先介绍Prometheus的整个监控流程;然后介绍如何收集监控数据,如何展示监控数据,如何触发告警;最后展示一个业务系统监控的demo。监控架构Prometheus的整个
京东云开发者 京东云开发者
11个月前
监控系统原理揭秘-数据运算篇
一、监控系统概览监控系统在现代技术环境中扮演着至关重要的角色。运营同学每天检查自己的活动数据,研发人员每天检查系统各项指标是否正常,这些工作都少不了监控系统的身影。通常来讲,监控系统包括数据采集、数据计算、数据存储、数据可视化及监控预警等功能。本文主要介绍
邓忠 邓忠
7个月前
🎉 WatchAlert - 一款轻量级云原生多数据源监控告警引擎(运维研发必备能力)
概述在现代IT环境中,监控和告警是确保系统稳定性和可靠性的关键环节。然而,随着业务规模的扩大和数据源的多样化,传统的单一数据源告警系统已经无法满足复杂的需求。为了解决这一问题,我开发了一个开源的多数据源告警引擎——WatchAlert,它能够集成多种数据源
京东云开发者 京东云开发者
4个月前
监控系统原理揭秘-数据运算篇
作者:京东科技曹留界一、监控系统概览监控系统在现代技术环境中扮演着至关重要的角色。运营同学每天检查自己的活动数据,研发人员每天检查系统各项指标是否正常,这些工作都少不了监控系统的身影。通常来讲,监控系统包括数据采集、数据计算、数据存储、数据可视化及监控预警
云监控告警2.0:革新传统告警机制,引领智能化监控新时代
云监控告警机制是云监控体系的核心组成部分,它负责在云服务出现异常或故障时,及时发出告警通知,以便运维人员迅速采取措施解决问题。传统的云监控告警机制虽然能够在一定程度上实现告警功能,但在告警准确性、实时性、智能化等方面存在诸多不足。云监控告警2.0则通过引入先进的技术和算法,对传统告警机制进行了全面升级,大大提高了告警的效率和准确性。
API 小达人 API 小达人
1年前
实用干货丨Eolink Apikit 配置和告警规则的各种用法
API在运行过程中可能会遇到各种异常情况,如响应时间过长、调用频率过高、请求参数错误等,这些异常会对系统的稳定性和性能产生严重影响。因此,对API进行异常监控和告警是非常必要的。本文将介绍EolinkApikit中使用的告警规则,帮助开发者和运维人员更好地监控和管理API。
数字揽汐人
数字揽汐人
Lv1
我喜欢你,就像深夜头顶白色云朵的妙曼。
文章
4
粉丝
0
获赞
0