对抗告警疲劳的8种方法

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

【编者按】本文作者为 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 官方博客

相关文章
|
Java Spring
spring集成Quartz时区问题造成任务晚执行八小时
spring集成Quartz时区问题造成任务晚执行八小时
655 0
|
Java
Java8使用stream操作两个list根据某字段匹配再对其中一个list进行赋值
Java8使用stream操作两个list根据某字段匹配再对其中一个list进行赋值
2316 0
|
安全 Linux 网络安全
【超详细】Linux系统修改SSH端口教程
在linux中,默认的SSH端口号为22,由于这是咱们都知道的端口号,一旦有入侵者进行端口扫描的时候扫描出22端口,就立马知道这是进行SSH登录的端口号,因而咱们需要修改默认的端口号。
13381 2
【超详细】Linux系统修改SSH端口教程
|
域名解析 监控 算法
阿里云拨测:主动探测Web应用质量,助力提升用户体验
阿里云拨测是一种针对互联网应用(Web页面、网络链路等)进行应用性能和用户体验监测的服务,无需嵌码即可为云上用户提供开箱即用的企业级主动拨测式应用监测解决方案。
8338 103
阿里云拨测:主动探测Web应用质量,助力提升用户体验
|
3月前
|
人工智能 运维 BI
Top5 主流工单管理系统全对比(2025 版):功能、价格、行业适配性详解
在数字化浪潮推动下,工单管理系统已成为企业提升运营效率、优化客户体验的关键工具。本文解析其核心价值与选型要点,并对合力亿捷、Zendesk、Freshdesk、Jira Service Management、钉钉宜搭五大主流系统进行多维度对比,涵盖功能、价格、行业适配性等,助力企业精准选型,加速数字化转型进程。
|
Linux 数据安全/隐私保护 Perl
CentOS7中升级OpenSSL详细教程
这篇文章提供了在CentOS 7系统中升级OpenSSL到3.2版本的详细步骤,包括备份现有配置、安装依赖、下载安装新版本以及验证安装结果。
3075 3
|
安全 网络协议 Linux
yum出现Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile解决方法
yum出现Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile解决方法
3393 3
|
运维 网络协议 Shell
运维之道:从新手到高手的蜕变之路
本文旨在探讨运维工程师的成长之路,通过分析运维行业的现状、挑战与机遇,为初学者提供一条清晰的职业发展路径。文章将深入浅出地介绍运维的基本概念、核心技能以及进阶策略,帮助读者理解运维工作的本质,激发对这一领域的兴趣和热情。
|
API Docker Windows
2024 Ollama 一站式解决在Windows系统安装、使用、定制服务与实战案例
这篇文章是一份关于Ollama工具的一站式使用指南,涵盖了在Windows系统上安装、使用和定制服务,以及实战案例。
2024 Ollama 一站式解决在Windows系统安装、使用、定制服务与实战案例
|
SQL 关系型数据库 MySQL
mysql密码错误-ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor:yes)
这篇文章提供了解决MySQL数据库"Access denied for user 'root'@'localhost' (using password: YES)"错误的方法,通过跳过密码验证、修改root密码,然后重启服务来解决登录问题。
mysql密码错误-ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor:yes)