对抗告警疲劳的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
Java8使用stream操作两个list根据某字段匹配再对其中一个list进行赋值
Java8使用stream操作两个list根据某字段匹配再对其中一个list进行赋值
2590 0
|
1月前
|
数据采集 人工智能 自然语言处理
GEO怎么做:llms.txt 写法与部署实践,让 AI 爬虫高效读懂你的站点
llms.txt是专为AI爬虫设计的站点导览文件,用Markdown结构化呈现核心页面与定位,解决LLM抓取预算紧张、Token成本高、上下文有限等痛点。本文详解其标准写法、.md直出工程实践、部署验证及常见误区,助站点高效适配AI时代。(239字)
202 0
|
7月前
|
人工智能 运维 安全
开源知识库二次开发实操指南:模块化扩展与合规风险防控
在企业数字化转型进程中,知识管理的智能化、私有化与可扩展性成为技术团队核心诉求,传统文档管理因缺乏AI能力、集成性弱、部署繁琐等问题,已难以匹配现代研发与业务协作的效率需求。基于AGPL-3.0协议的AI大模型驱动开源知识库,以AI原生架构为核心,融合文档全生命周期管理、多端集成、私有化部署等能力,为企业构建智能化知识体系提供了轻量化且高扩展性的解决方案。本文将围绕“架构解析—能力落地—案例实践—合规指引—总结建议”的核心框架,结合实操心得,从技术架构特性、核心能力落地、实际应用案例及开源协议合规性等维度展开深度解析。
764 5
|
6月前
|
SQL 存储 关系型数据库
90% 的 MySQL 慢查询都栽在这!索引失效底层原理与精准修复全攻略
本文深入剖析MySQL索引失效的12大高频场景,从B+树底层原理、聚簇/二级索引结构讲起,结合EXPLAIN执行计划关键字段解读,逐一解析函数操作、隐式转换、模糊查询、最左前缀等失效原因,并提供可落地的修复方案与Java实战示例。
716 3
|
7月前
|
人工智能 Rust JavaScript
uv 这个工具被 OpenAI 收购了
AI Coding 竞争正从“生成代码”转向“执行闭环”。OpenAI收购Python工具链公司Astral、Anthropic收购JS运行时Bun,均旨在强化底层执行层——涵盖环境管理、测试验证与静态分析,构建Coding Agent所需的反馈回路。这标志着AI工程重心下沉至本地工具链,“Harness Engineering”成为新战略高地。
546 5
|
7月前
|
人工智能 监控 前端开发
AI少儿背单词APP的开发
专为儿童设计的AI背单词APP,以自适应艾宾浩斯、语义网络和多模态交互(AI绘图/绘本/语音评测)破解枯燥难题;融合游戏化探索、宠物养成与智能导学伙伴,兼顾3-12岁认知特点;支持离线使用与家长可视化报告,安全合规。(239字)
|
9月前
|
人工智能 知识图谱
黎跃春:AI 智能体运营中的评估机制与反馈闭环设计
在 AI 智能体实际落地过程中,“能生成”并不等于“好用”,更不等于“可长期运行”。缺乏有效评估与反馈机制,是导致智能体效果波动、不可持续优化的核心原因之一。本文从工程与运营视角出发,系统阐述 AI 智能体的评估维度、指标设计与反馈闭环构建方法,重点说明如何将智能体从“一次性生成工具”升级为“可持续演进的工程系统”,为企业级 AI 应用提供可复用的实践参考。
|
10月前
|
机器学习/深度学习 人工智能 边缘计算
AI视觉在市政道路无人机巡检中的技术
通过深度学习目标检测与实例分割技术,实现裂缝、井盖缺失等缺陷自动识别;采用本地化边缘计算架构,保障数据安全与离线运行。
714 0
|
11月前
|
人工智能 算法 安全
手机照片恢复教程,所有照片被误删后悔死?教你一键恢复教程!
手机照片恢复管家是一款专业工具,可快速找回误删、格式化或故障丢失的照片,支持微信、QQ等多来源图片恢复。具备深度扫描、智能分类、批量导出及AI修复功能,能还原老照片、上色黑白照、清晰模糊图像,操作简单高效。
1288 0