避免警报疲劳:每个 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 的状况和产 ...
随机推荐
- java 获得 微信 UserId
.... public String cs() throws Exception{ /*访问页面,服务器会得到 code(request.getParameter("code")) ...
- 【从头到脚品读 Linux 0.11 源码】第一回 最开始的两行代码
从这一篇开始,您就将跟着我一起进入这操作系统的梦幻之旅! 别担心,每一章的内容会非常的少,而且你也不要抱着很大的负担去学习,只需要像读小说一样,跟着我一章一章读下去就好. 话不多说,直奔主题.当你按下 ...
- [gym102268E]Expected Value
令$X$为移动次数,答案即$\sum_{i=0}^{\infty}P(X>i)$,后者记作$S_{i}$ 关于$S_{i}$,令$f_{i,j}$表示走了$i$步后位于$j$且未到达过$k$的概 ...
- [luogu7078]贪吃蛇
结论:若$a_{n}-a_{1}\ge a_{2}$,那么一定会吃掉 证明:分类讨论,若$a_{n-1}$也吃掉了$a_{2}$,就说明$a_{n-1}$之后不会被吃掉,而$a_{n-1}-a_{2} ...
- 多线程03.实现Runnable接口
package chapter2; public class TicketWindowRun implements Runnable { private static final int MAX =5 ...
- ElasticJob分布式任务调度应用v2.5.2
为何要使用分布式任务调度 **本人博客网站 **IT小神 www.itxiaoshen.com 演示项目源码地址** https://gitee.com/yongzhebuju/spring-task ...
- 『学了就忘』Linux文件系统管理 — 59、使用fdisk命令进行手工分区
目录 1.手工分区前提 (1)要有一块新的硬盘 (2)在虚拟机中添加一块新硬盘 2.手工分区 (1)查看Linux系统所有硬盘及分区 (2)手工分区:详细步骤 (3)保存手工分区 3.硬盘格式化 4. ...
- Python pandas merge不能根据列名合并两个数据框(Key Error)?
目录 折腾 解决方法 折腾 数据分析用惯了R,感觉pandas用起来就有点反人类了.今天用python的pandas处理数据时两个数据框硬是合并不起来. 我有两个数据框,列名是未知的,只能知道索引,以 ...
- 【R】爬虫案例
爬取豆瓣相册 library(RCurl) library(XML) myHttpheader <- c("User-Agent"="Mozilla/5.0 (Wi ...
- R语言与医学统计图形-【33】生存曲线、森林图、曼哈顿图
1.生存曲线 基础包survival+扩展包survminer. survival包内置肺癌数据集lung. library(survival) library(survminer) str(lung ...