对抗告警疲劳的8种方法

【编者按】本文作者为 Chris Riley,主要介绍告警疲劳的产生原因与对抗告警疲劳的8种方法。文章系国内 ITOM 管理平台 OneAPM 编译呈现。

各司其职、孤军作战非常不利于团队沟通,一旦发生重大事件,各个部门就很难掌握事件始末,这不仅降低了整个开发团队的沟通质量,而且对运维工作也造成了极大困扰,即告警疲劳。告警疲劳不仅会影响团队成员的工作情绪,而且会阻碍软件交付链的成长。

DevOps 的最大优势是清除沟通障碍并简化运维操作。通常,DevOps 团队有两种类别:一种是面向所有应用程序的集中式团队,另一种是面向每个应用程序或核心服务的去中心化团队。前者规模较大,但是比传统的NOC环境要小,而后者则是很小的团队。

DevOps 团队除了负责维护基础设施以外,有时还要管理发布过程,以及维持生产的正常运行。而最后这项工作是最伤脑经也最耗时的,一旦处理有误就会影响到整个环境。虽然没有人愿意值班待命,但我们还是得这样做,因为平均修复时间(MTTR)越短,问题响应越迅速,接下来的几天甚至几周里,大家的日子都会好过些——最重要的是它能维持业务的正常运转。

但是,一旦值班开始影响到团队情绪并占据运维团队大量的时间,就可能招致巨大的风险——集中式团队和去中心化团队很容易产生告警疲劳。集中式团队的疲劳不仅是要解决所有应用上的大量告警,而且还很难找到合适的人来解决问题,因为值班的人很有可能没法解决告警的问题。至于去中心化团队的告警疲劳,主要是由于团队太小而告警太多所致。

告警疲劳对DevOps和IT运维团队的影响主要体现在四个方面:

  • 士气低落:如果大部分时间都用于解决问题,你不仅要没日没夜地处理事件,而且所做的事情越来越无聊,感觉每天就是灭不完的火,这样很容易磨灭团队的沟通热情,导致工作效率降低。
  • 单点故障:在集中式团队中,MTTR 主要取决于运维人员通过一组非常有限的值班操作来响应问题并确定根本原因的速度。在去中心化团队中,确定根本问题的时间会有所增加,但是由于掌握的信息不足,运维人员无法准确地筛选问题并快速解决。再有就是,由于呼叫列表太短,很有可能根本无法解决问题。因此,一旦有问题产生,这些因素都会造成运维瓶颈和单点故障。
  • 机会成本:这是告警疲劳所造成的影响中最容易被忽略的一点——整个团队和交付链所耗费的成本增加。如果你的 DevOps 团队在告警过程中不堪重负,他们就无法完善和创新交付链,因为他们只会机械地响应,没有精力去开发更好的版本、完善基础设施的自动化过程或主动预防未来的问题。这不仅阻碍了团队进步,而且增加了技术成本,因为经常重复的问题并没有真正得到解决。
  • 发布速度延迟:解决问题所耗费的时间越长,发布速度就越慢。仔细想想你们团队有多少次推迟了发布时间?

应对告警疲劳最简单的方式是扩大运维团队,但是这未必是最好的选择,因为有些情况下我们也确实需要小一点的DevOps团队。

所以,建议大家在与告警疲劳作斗争时试试以下8个方法:

  1. 创建更好的升级策略:计划!不要只是给团队创建一个呼叫列表,你要考虑告警疲劳可能会对团队资源和士气造成哪些影响,然后再制定相应的计划和策略,也许很小的变动就能带来极大的帮助,比如打破循环。
  2. 安排 QA 和开发人员值班:这需要整个团队全员上阵,虽然做起来很困难,但是如果你把 QA 团队和开发人员安排到值班工作中,你获得的信息就更完善,解决问题的速度也更快。他们即便是与运维团队的成员并行工作,其效果也可见一斑,因为更广泛的支持不仅可以提高生产问题的可见性,帮助开发人员解决应用程序的相关问题,而且还可以加强了解,防患于未然。
  3. 进行详细的事件分析:通过事件分析评估告警设置的效果可以让你随时改进设置并发现当前存在的瓶颈。同时,数据还可以指出重复性问题。总之,要充分发挥数据的指导性作用。
  4. 安排时间以终结重复性问题:分配一定的时间确定之前快速修复的问题并彻底解决,以确保将来不再重复。但是要将问题及所有后续问题完全消灭,这对运维团队而言是个艰巨的任务。
  5. 标准化通知规则:不要让值班成员任意设置自己的规则,一定要将规则标准化或模板化,以保证一致性和问责制。
  6. 允许平行告警:除了垂直呼叫以外,还要有平行告警,这样多个团队成员就可以共同攻克问题以缩短MTTR。
  7. 利用工具:事件管理工具对抵抗告警疲劳大有帮助。一个好的事件管理解决方案,例如 PagerDuty、OneAlert ,不仅可以帮助你自动处理告警并过滤告警噪音,以防止无关紧要的告警造成过重的负担;而且还能协助你找准告警以采取更加有效的值班操作。此后,要是在晚上出现告警,你就知道真的出了问题。
  8. 优化代码:提高代码质量可以减少宕机。这其实很简单,但又总是被忽略。所以,一定要花时间优化代码、提高测试覆盖率、完善系统测试和测试自动化,并将收获和成果向所有成员展示。

以上这些方法都可以优化运维性能,并且受益面广。总而言之,告警疲劳是确实存在的问题,它不仅会影响 DevOps 和 ITOps 团队的幸福感,而且会影响整个开发团队创新和完善发布代码的能力。

本文转自 OneAPM 官方博客

时间: 2024-10-25 20:13:14

对抗告警疲劳的8种方法的相关文章

避免被频繁的警报折腾死的七种方法

随着公司成长,需要的工具越来越多,而随工具的增加,警报和流程中断也就越来越多.很快,每套系统和工具发出的警报,听起来就像是一场喧嚣的酒会,大家都在谈论各自不同的话题.因此,安全和运维团队正在逐渐丧失对警报的敏感度,甚至系统标出真正异常的活动,也有可能因警报疲劳而被无视掉. 你需要的,是唱诗班一样和谐悦耳的警报,一切协调运作,只有真正的事件出现才会发出高音.那么,要怎么达到这种境界呢?Threat Stack 工程副总裁克里斯·杰维斯,以及VictorOps,提供了避免警报疲劳的七种方法. 1.

创业干货:对抗风险的4种方法

本文作者Steven Le Vine是一家PR公司总裁.<福布斯>和<企业家>杂志评论员,在国外创业圈小有名气作为创业者,时时刻刻都会被人问及创业的问题,时刻都在放大镜下工作.但这也许就是称之为创业者的原因之一,即证明自己可以做到别人认为做不到的事情.实际上,你可以告诉别人,创业并不全是玩商业.赚钞票,更多的是实现自己的理想.以我个人的经验来讲,我入职第一份工作之后便辞职,不少朋友都问我这样做值不值.25岁,我搬到了洛杉矶,父母问我为什么要去那.后来我去学习开飞机,奶奶问我为什么要

APP推广的五种方法

  现在手机应用是越来越火爆了,各种各样的APP层出不穷,但是要想别人下载你的APP那就需要一点手段来推广了,今天分享五种APP推广方法. 第一种:烧钱型 这种方法就是投资方或者创业者非常有钱,到底有多有钱,至少烧个10亿,20亿不成问题.20亿买1亿用户,60亿买2亿用户,手机用户也就6亿,买个一两亿用户下来,也算是拿到移动互联网船票的企业了.代表案例就是滴滴打车,快的打车,以及现在的借贷宝,不过借贷宝文字坑比较多,不过借助烧钱的模式也算是一炮而红了.这种方法的好处就是简单,粗暴,杀伤力强,瞬

又不在状态?来看看程序员保持动力的9种方法

拥有高度积极性对每一个程序员都是非常重要的,然而强大的工作压力往往使程序员身心疲惫.幸运的是,当我们感觉到能量不足的时候总有一些来自他人或是自己的鼓励,使我们能够继续保持动力,满血复活,下面是作为一个程序员保持动力的9种方法. 1.不要让自己过度劳累 工作的同时要记住,你是一个人,而不是一个机器人,无论怎样,你需要休息一段时间.给自己一些安静的时间,避免劳累过度,是达到有动力水平的一个正确的方式.从充足的睡眠开始,有效地管理你的工作量.   努力确定自己的目标,并努力工作,以实现这些目标.还有保

mysql 复制表数据,表结构的3种方法

 什么时候我们会用到复制表?例如:我现在对一张表进行操作,但是怕误删数据,所以在同一个数据库中建一个表结构一样,表数据也一样的表,以作备份.如果用mysqldump比较麻烦,备份.MYD,.MYI这样的文件呢,操作起来也还是麻烦. 一,复制表结构 方法1: mysql> create table a like users; //复制表结构 Query OK, 0 rows affected (0.50 sec)   mysql> show tables; +------+ | Tables_i

JavaBean实现多文件上传的两种方法

上传 摘要:本文介绍了JavaBean实现多个文件上传的两种方法,分别是使用http协议和ftp协议实现.首先讲述了http协议传送多个文件的基本格式和实现上传的详细过程,之后简单介绍了使用ftpclient 类实现了ftp方式的上传,最后对这两种方法进行了比较. 关键字:JavaBean .http .ftp .ftpclient JavaBean是一种基于Java的软件组件.JSP对于在Web 应用中集成JavaBean组件提供了完善的支持.这种支持不仅能缩短开发时间(可以直接利用经测试和可

Word中输入立方米符号的三种方法

  Word中输入立方米符号的三种方法         Word中输入立方米符号方法一:输入法输入 其实现在有些输入法中集成了很多特殊符号,例如搜狗拼音中就有立方米符号,我们只需要打出立方米的拼音,就会出现一个立方米符号的选项. Word中输入立方米符号方法二:利用制作上标的方法 用制作上标的方法可以做出立方米符号的效果,但这种方法其实还可以细分为几种不同的操作,下面一一进行介绍. 一.在Word文档中输入3,然后将其选中,切换到"开始"选项卡,单击"上标"按钮即可

分析iOS Crash文件:符号化iOS Crash文件的3种方法

当你的应用提交到AppStore或者各个渠道之后,请问你多久会拿到crash文件?你如何分析crash文件的呢? 上传crash文件 你的应用应当有模块能够在应用程序crash的时候上传crash信息. 要么通过用户反馈拿到crash文件,要么借助自己或第3方的crash上传模块拿到crash文件. 今天要分析的场景是你拿到用户的.crash文件之后,如何符合化crash文件(Symbolicating crash logs)的3种方法.帮助尽快找到crash原因. crash文件例子 cras

Word2013文档中设置字体大小的4种方法

  为Word2013文档中的文本设置字体大小是最常用的Word设置之一,用户可以通过以下4种方法设置Word2013文档中的字体大小: 方式1:选中需要改变字体大小的文本块,然后在"开始"功能区的"字体"分组中单击"字号"下拉三角按钮,在字号下拉列表中选择合适的字体大小,如图2013073003所示. 图2013073003 选择字体大小 方式2:选中需要改变字体大小的文本块,在"开始"功能区的"字体"分