避免警报疲劳:每个 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笔记 国际化程序实现原理
国际化程序实现原理 Lnternationalization 1. Locale 类的使用 2.国家化程序的实现,资源读取 所谓的国际化的程序 ...
- [bzoj3123]森林
首先对于询问操作可以使用可持久化线段树来维护,对于连边操作对于两颗树中选取较小的树暴力练到另一个点上,点数可以用并查集然后只修改根的点数即可. 1 #include<bits/stdc++.h& ...
- [hdu6600]Just Skip The Problem
1.直接令x=0,为了判断这一信息,对于所有含有多个1的yi,必然是无用的,答案至少为n且不能含有多位1的y2.令yi=2^(i-1),由此发现一定可以得到x每一位的答案,即答案最多为n.因此,发现方 ...
- [JS高程] 字符串模式匹配方法
目录 1. RegExp 对象 2. 字符串模式匹配方法 2.1 match() , search() 2.2 replace() 2.2.1 第二个参数为字符串的应用情况 2.2.2 第二个参数为函 ...
- windows defender antivirus占用内存解决教程
[windows defender关闭常见问题] windows defender antivirus占用内存解决教程: 1.按下"Win+R"打开"运行" 2 ...
- Python集合&字典
Python集合&字典 @ 目录 字典 字典的几种定义方式 第一种 第二种 第三种 字典的一些基本操作 通过key得到value 增加字典键值对 删除字典键值对 格式化操作 清空字典 复制字典 ...
- PIC16 bootloader之UART bootloader
了解更多关于bootloader 的C语言实现,请加我Q扣: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). PIC16 bootl ...
- k8s-数据持久化存储卷,nfs,pv/pvc
目录 数据持久化-储存卷 官方文档 存储卷类型 1.emptyDir 2.hostpath 3.pv/pvc(推荐使用) nfs官方文档 安装测试nfs pv/pvc管理nfs 官方文档 pv/pvc ...
- IDEA 2021.2.3 安装与破解教程
首先说明,大部分情况下,花10块钱都可以在淘宝找人直接帮你完美解决这个资源问题 所以千万不要相信一些所谓的百度结果,一般都是花费了时间却最后无法解决破解的问题 我相信任何一个想要学习软件开发的人一定要 ...
- 洛谷 P5332 - [JSOI2019]精准预测(2-SAT+bitset+分块处理)
洛谷题面传送门 七月份(7.31)做的题了,题解到现在才补,不愧是 tzc 首先不难发现题目中涉及的变量都是布尔型变量,因此可以考虑 2-SAT,具体来说,我们将每个人在每个时刻的可能的状态表示出来. ...