避免警报疲劳:每个 K8s 工程团队的 8 个技巧
避免警报疲劳:每个 K8s 工程团队的 8 个技巧
监控 Kubernetes 集群并不容易,警报疲劳通常是一个问题。阅读这篇文章,了解减少警报疲劳的有用提示。
如果您是随叫随到团队的一员,您可能知道什么是警觉性疲劳以及它对您的健康有何影响。而当涉及到Kubernetes时,警报源的数量会迅速飙升。本文将反思一些引起警报疲劳的常见原因,并分享有助于减少它的技巧。
什么是警觉性疲劳?
简单来说,当您在一天内收到大量与工作相关的警报时,就会发生警报疲劳,即使它们是不可操作的。不合理的大量警报会降低您的工作效率,因为您会从工作中抽出太多时间来不时确认警报。
如果您在工作时间之外收到此类警报,它们将开始扰乱您的工作与生活平衡。为了建立一个高效和快乐的团队,关键是要减少不必要的警报,并专注于提供价值和可操作的内容。
如何减少警报疲劳
让我们讨论一些实用的技巧和技巧,以减少您和您的团队成员的警觉疲劳。
提示 #1:明确定义您的指标和阈值
解决任何问题的第一步是清楚地定义它。在我们的例子中,警报的原因是指标上的阈值;因此,为它们确定正确的指标和适当的阈值至关重要。对于基于 Kubernetes 的项目,您需要超越标准的指标集。您应该监控 Pod 的生命周期以及节点和集群的单个资源消耗,以保持对系统的控制。
当涉及到标准指标时,您应该设置额外的阈值和警报,以了解何时出现异常行为。例如,您可以设置多个磁盘使用警告警报并根据严重性对它们进行分类,以了解何时介入并检查您的系统是否存在问题。同样,您可以使用其他指标,例如CPU 消耗、内存消耗等。
提示 #2:根据严重性定义警报层次和优先级
从大量数据中获取有用信息的最佳方法之一是对其进行组织。同样,您应该将警报组织成类别并根据它们修改警报行为。
首先,您可以根据系统事件对服务正常运行时间的影响,将系统事件分为严重、警告和异常类别。然后,您可以将警报工具配置为仅针对关键事件发送警报。这样,您将减少团队收到的警报总数,并且每个警报都要求他们采取行动,而不是简单地予以确认。您还可以为每个事件类别分配不同的团队,以密切关注系统。
提示 #3:将类似的警报组合在一起
虽然对事件进行分类有助于组织警报,但它仍然不能解决一个主要问题:重复。您可能会收到系统中重复发生的事件的重复警报。或者,您可能会收到针对已解决问题的重复警报,因为您的警报工具不够智能。唯一的解决方案是切换到智能监控解决方案,在团队和成员之间可靠地同步警报。
对于源自重复事件的重复警报,您还可以考虑应用过滤器和规则将类似的警报组合在一起。您可以依靠事件提供的信息来确定它们是否重复发生。这样,您可以针对许多类似问题发出更少的警报,并且您的成员可以在需要时通过监控平台访问所有其他警报。
提示 #4:尽可能多地收集有关警报的上下文数据
要增强警报分类和聚合,您需要数据。因此,您应该集中精力收集有关系统中发生的事件的尽可能多的信息。此信息将帮助您区分重复事件,并帮助您确定外观相似的事件是否需要特别注意。除了提高警报策略的质量外,它还可以在以后解决问题时为您提供帮助。
提示 #5:在您的团队中定义明确的角色并相应地直接发出警报
只有当您对您的团队执行相同操作时,对警报进行分类才有效。每当您的基础设施遇到警告时,向整个团队发送警报是没有意义的。您需要设计一个事件管理层次结构,并使您的警报工具与其保持一致,以逻辑地升级问题。
如前所述,您可以将错误类别与团队进行匹配,或者根据错误源自的基础架构部分将错误与团队进行匹配。只有您才能确定哪种层次结构最适合您的特定用例。
提示 #6:断开与不相关的警报来源的连接
这适用于每个人,您的所有团队成员都应遵守。团队在多个项目上工作并且其中一些项目被转移到另一个团队或完全退役是很自然的。但是,这些项目的警报订阅可能没有及时更新,从而导致不时向您发送不相关的警报。确保尽快取消订阅,以减少警报噪音。
对于仍分配给您的项目,可能会将问题分配给其他团队成员,但会向整个团队发送警报。为了清理您的警报收件箱,最好也尽快取消订阅。
提示 #7:抑制非工作时间以外的非紧急警报
警报疲劳不仅仅发生在工作时间;它也会让你在他们之外感到沮丧。理想情况下,您的团队应该选择一种警报工具,该工具允许在设定的持续时间内抑制和推迟警报。如果该工具可以根据警报分类(发送关键警报并推迟其他警报)来做到这一点,那就更好了。这将帮助您在工作场所之外保持健康的心理生活方式。
如果抑制警报对您来说太过分了,您可以考虑将它们委派给在您离开时处于活动状态的另一个团队成员。大多数随叫随到的团队成员分散在世界各地,以保持 24x7 全天候监视系统运行状况。将警报转移给活跃成员有助于其他人在不工作时放松。
提示 #8:在重大中断时,取消所有警报以专注于恢复
如果您大部分事情都做对了,并且您的警报游戏是正确的,您可以考虑在努力从重大中断中恢复的同时抑制所有警报。在发生重大事件时,许多基础设施组件可能会出现故障并立即向您发送大量警报。一旦找到了中断的原因,就可以抑制其他一切并专注于修复它。
但是,您仍有可能错过中断期间发生的其他重要警报。因此,最好将您的警报转发给不与您一起进行修复的其他团队成员。
结论
警报疲劳是真实存在的,如果不及时检查,它会迅速影响您的健康和工作效率。因此,您应该始终选择一种工具,以减少不必要的警报噪音,同时让您了解应用程序的最新基本更新。将有效的工具与有效的警报策略相结合将提高您团队的输出,同时保持健康。
避免警报疲劳:每个 K8s 工程团队的 8 个技巧的更多相关文章
- 从 Notion 分片 Postgres 中吸取的教训(Notion 工程团队)
https://www.notion.so/blog/sharding-postgres-at-notion 今年(2021)早些时候,我们对 Notion 进行了五分钟的定期维护. 虽然我们的声明指 ...
- 研发效能|DevOps 已死平台工程永存带来的焦虑
最近某位大神在推特上发了一个帖子,结果引来了国内众多卖课机构.培训机构的狂欢,开始贩卖焦虑,其实「平台工程」也不是什么特别高深莫测的东西.闲得无聊,把这位大神的几个帖子薅了下来,你看过之后就会觉得没啥 ...
- 团队第1次作业:Our Team TAH
Team named TAH 不管一个人多么有才能,但是集体常常比他更聪明和更有力. --奥斯特洛夫斯基 *introduce team and teamate 先说说TAH的含义,是 ...
- k8s operator
https://coreos.com/blog/introducing-operators.html Site Reliability Engineer(SRE)是通过编写软件来运行应用程序的人员. ...
- 专访知乎张伟:RFC技术评审机制如何助力知乎实现工程文化落地
2017年5月20-21日,MPD工作坊·上海站将于上海徐汇区光大会展中心举办,本届MPD工作坊请到了知乎工程高级总监张伟进行主题为<工程师文化落地6项指南>的3小时深度分享.在工作坊举办 ...
- 从工程文化和运维理念理解Netflix
http://www.infoq.com/cn/news/2018/01/netflix-engineering-culture 在技术圈儿,Netflix 是一家非常有特色的互联网公司.他们信奉“自 ...
- [转]资深CTO:关于技术团队打造与管理的10问10答
一.你如何衡量软件工程师个人的工作表现?如何衡量整个工程师团队的工作表现? 主要从两方面: 这个员工做的工作是不是他同意做的或者应该做的?(What) 他们是如何完成自己的工作的?(How) 任何绩效 ...
- 没有CTO的Netflix有哪些值得我们学习的工程文化?
作者介绍: 杨波,拍拍贷基础框架研发总监.具有超过 10 年的互联网分布式系统研发和架构经验,曾先后就职于:eBay 中国研发中心(eBay CDC),任资深研发工程师,参与亿贝开放 API 平台研发 ...
- 基于 K8S 构建数据中心操作系统
在 12 月 22 日 ECUG 的下午场 ,七牛云容器计算部技术总监袁晓沛为大家带来了主题为<基于 K8S 的 DCOS 之路>的精彩分享,向大家介绍了七牛容器云目前 K8S 的状况和产 ...
随机推荐
- IDEA Dao层快速跳转Mapper.xml 文件的插件
1.Idea 窗口→File→Setting→Plugins, 2.搜索 Free MyBatis plugin, install,等待安装完成后,Restart IDEA .
- JDK的第三个LTS版本JDK17来了
目录 简介 JDK17中的新特性 语言上的新特性 核心库的优化 支持新的平台 预览特性 其他改动 总结 简介 2021年9月JDK17发布了,JDK17是最新的一个LTS版本.所谓LTS版本就是可以得 ...
- ES6—数值(Number,Math对象)(复习+学习)
ES6-数值(Number,Math对象)(复习+学习) 每天一学,今天要学习ES6的关于数的扩展以及复习,然后通过看书,查阅资料,以及webAPI来搞清楚遇到的,没见过的对象方法等等,下面为本次学习 ...
- 18.Java 封装详解/多态详解/类对象转型详解
封装概述 简述 封装是面向对象的三大特征之一. 封装优点 提高代码的安全性. 提高代码的复用性. "高内聚":封装细节,便于修改内部代码,提高可维护性. "低耦合&quo ...
- 菜鸡的Java笔记 第十一 - java 封装性
1.1封装的基础实现. 封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口.面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治.封装的对象,这些对象通过一个受保 ...
- Spring Cloud Gateway实战之五:内置filter
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 教你用SQL进行数据分析
摘要:采用 SQL 作为数据查询和分析的入口是一种数据全栈的思路. 本文分享自华为云社区<如何使用 SQL 对数据进行分析?>,作者:zuozewei . 前言 我们通过 OLTP(联机事 ...
- 小程序嵌套H5的方式和技巧(一)
文章内多次使用了关键字"壳",首先先解释一下什么是壳 壳: 小程序由原生的web-view组件形成的页面,页面只包含技术逻辑(如打开H5页面),不包含具体业务接口请求和业务逻辑处理 ...
- 洛谷 P3438 - [POI2006]ZAB-Frogs(乱搞/李超线段树)
题面传送门 首先一眼二分答案,我们假设距离 \((i,j)\) 最近的 scarefrog 离它的距离为 \(mn_{i,j}\),那么当我们二分到 \(mid\) 时我们显然只能经过 \(mn_{i ...
- Codeforces 1491G - Switch and Flip(构造题)
Codeforces 题目传送门 & 洛谷题目传送门 obviously,难度高一点的构造题对我来说都是不可做题 首先考虑将排列拆成一个个置换环,也就是 \(\forall i\) 连边 \( ...