【51CTO.com快译】监控Kubernetes集群并不容易,而时常发出的警报通常是一个令人烦恼的问题。Kubernetes工程团队需要了解如何减少警报疲劳。
如果你是Kubernetes工程团队的一员,可能知道什么是警报以及它对工作和生活有何影响。而当涉及到Kubernetes时,其警报的数量将会迅速增长。本文将介绍一些引起警报疲劳的常见原因,并提供有助于减少这种疲劳的技巧和建议。
什么是警报疲劳?
简单来说,当你在一天内收到大量与工作相关的警报时,就会发生警报疲劳。无关的大量警报会降低你的工作效率,因为你需要在工作中抽出大量时间以确认和处理警报。
如果你在下班之后也收到此类警报,那么将会影响日常生活。为了建立一个高效和快乐的Kubernetes团队,关键是要减少不必要的警报,并专注于提供具有价值和可操作的内容。
如何减少警报疲劳
以下讨论一些实用的技巧和建议,以减轻Kubernetes团队成员面临的警报疲劳。
提示1:明确定义指标和阈值
解决任何问题的第一步是明确定义。在这个例子中,警报的原因是指标中的阈值。因此,为其确定正确的指标和适当的阈值至关重要。对于基于Kubernetes的项目,需要超越标准的指标集。你应该监控Pod的生命周期以及节点和集群的单个资源消耗,以保持对系统的控制。
当涉及到标准指标时,应该设置额外的阈值和警报,以了解何时出现异常行为。例如,你可以设置多个磁盘使用警告警报,并根据严重性对它们进行分类,以了解何时介入,并检查其系统是否存在问题。同样,也可以使用其他指标进行设置,例如CPU消耗、内存消耗等。
提示2:定义警报层次结构并根据严重性确定优先级
从大量数据中获取有用信息的最佳方法之一是对警报进行组织。同样,应该将警报进行分类,并根据类别修改发送警报的行为。
首先,你可以根据系统事件对正常运行时间的影响,将其分为严重事件、警告事件和异常事件。然后,你可以将警报工具配置为仅针对关键事件发送警报。这样,你将减少团队收到的警报数量,并且每个警报都要求他们采取行动,而不是简单地予以确认。你还可以为每个事件类别分配给不同的团队,以密切关注系统。
提示3:将类似的警报分组在一起
虽然对警报进行分类有助于分组,但它仍然不能解决一个主要问题:重复。你可能会收到系统中重复事件的警报。或者可能会收到已解决问题的重复警报,因为警报工具不够智能。唯一的解决方案是采用更加智能的监控解决方案,该解决方案可跨团队和成员可靠地同步发布警报。
对于源自重复事件的重复警报,还可以考虑应用过滤器和规则将类似的警报组合在一起。可以依靠事件提供的信息来确定它们是否重复发生。通过这种方式,可以针对许多类似问题发送较少的警报,并且Kubernetes团队成员可以在需要时通过监控平台访问所有其他警报。
提示4:尽可能多地收集有关警报的场景数据
要增强警报分类和聚合,需要收集大量数据。因此,应该尽力收集有关系统中发生的事件的尽可能多的信息。这些信息将帮助区分重复事件,并帮助确定类似事件是否需要特别关注。除了提高警报策略的质量之外,它还可以在以后解决问题时提供帮助。
提示5:在团队中定义明确的角色并相应地直接发出警报
只有在对团队进行同样操作时,对警报进行分类才有效。每当IT基础设施遇到警告时,向Kubernetes团队发送警报是没有意义的。因此需要设计一个事件管理层次结构,并使警报工具与其保持一致,以逻辑地上报问题。
如上所述,你可以将错误类别与团队相匹配,或者根据错误来源的基础设施将错误与团队相匹配。这样才能找出最适合特定用例的层次结构。
提示6:与无关的警报来源断开连接
这适用于每个人,并且所有团队成员都应该遵循。团队在多个项目上工作,其中一些项目被转移到另一个团队或完全退役,这是很自然的。但是,这些项目的警报订阅可能没有及时更新,从而导致不时向你发送不相关的警报。因此需要确保取消订阅,以减少警报噪音。
在仍然分配给你的项目的情况下,可能存在分配给其他团队成员的问题,但正在向整个团队发送警报。为了整理你的提醒收件箱,最好也尽快取消订阅。
提示7:禁止在工作时间以外发出非紧急警报
警报疲劳不只发生在工作时间,而在业余时间发布警报会让你感到沮丧。在理想情况下,Kubernetes团队应该选择一种警报工具,该工具允许在设定的持续时间内抑制和推迟警报。如果该工具可以根据警报分类(发送关键警报并推迟其他警报)实现这一点会更好。这将帮助你在工作时间之外保持健康的生活方式。
如果抑制警报对你来说太过困难,可以考虑将其委托给在你不在时值班的另一名团队成员。而很多成员正在全天候监视系统运行状况。将警报转移给值班的成员,可以帮助其他人在他们不工作时放松。
提示8:在重大中断时,取消所有警报以专注于恢复
如果你已经正确地完成了大部分工作,并且警报的设置是正确的,那么可以考虑在恢复主要中断时取消所有警报。在重大事件中,许多基础设施组件可能会出现故障,并立即向你发送大量警报。一旦你确定了中断的原因,就应该取消其他所有警报,并集中精力解决中断问题。
但是,你仍然有可能错过停机期间发生的其他重要警报。因此,最好将警报转发给其他没有与你一起处理故障的团队成员。
结语
警报疲劳是真实存在的,如果不及时检查,它会影响你的健康和工作效率。因此,你应该选择一种工具,以减少不必要的警报噪音,同时让你了解应用程序的最新重要更新。将有效的工具与有效的警报策略相结合,将提高团队的工作效率,同时保持身体健康。
原文连接:Avoiding Alert Fatigue: 8 Tips for Every K8s Engineering Team,作者:Nate Matherson
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】