如今,工程团队面临着保持系统平稳运行的必要性。这是因为企业与数字客户体验之间的界限正在缩小 – 当应用程序成为企业时,任何缺乏完美用户体验的东西都意味着要达到顶线。
在这种背景下,声音警报策略现在几乎对每个工程团队都至关重要。根据最近的一项调查,58%的DevOps专业人员报告依靠五个或更多可观察性工具来确定性能问题的根本原因,这意味着他们会针对每个问题对多个位置的数千个警报进行排序以找到答案。由于无法始终监控系统健康状况的各个方面,因此智能警报策略可以帮助团队更有效地运营,并将注意力集中在最需要的地方,从而保持业务平稳运行。
但设置警报并不总是像看起来那么简单。为了做到这一点,团队不仅要应对表面下方存在的庞大复杂性,还要对抗“警报疲劳”,或者在过于频繁时忽略通知的倾向。两种情况下的关键是在节奏和紧迫性之间取得适当的平衡。为了帮助您的团队建立更好的警报策略(并在晚上睡得更好),这里介绍我们如何应对Scalyr的挑战:
警报结构
首先,关于结构的一个词。在最高级别,警报围绕三个关键支柱设计:指标(您要监控的绩效指标),比较报表(即“大于”,“小于”,“等于”)和阈值(关键值为您)想要比较指标)。
例如,要监视CPU使用率的意外峰值,可以设置以下警报:如果过去15分钟内的平均CPU使用率大于过去的24小时平均值,则触发警报。
阈值
创建警报时,通常可以通过建立阈值来启动。可以将三种类型应用于警报:固定,基于状态和历史。
固定阈值,顾名思义,当性能水平超过某个静态预定级别时触发警报。在测量具有硬限制的性能指标(如CPU使用率或硬盘空间)时,这些是设置和最佳工作的最简单阈值。
基于状态的阈值也简单明了。它们识别系统状态的变化 – 例如,“运行”或“停止” – 并且主要用于监视应用程序进程以发生意外停机。
历史门槛稍微复杂一些。也被称为“滑动窗口”,这些阈值将度量的当前值与其过去的值进行比较。换句话说,监视一个特定的时间段(例如15分钟的窗口),随着时钟滴答而继续移动。例如,基于历史阈值的警报可能显示为:如果15分钟的平均CPU使用率大于24小时前15分钟平均CPU使用率的120%,则触发警报。这里的想法是在滤除噪声的同时识别给定度量中的突然尖峰。
在此主题上,在设置警报时包含“宽限期”也很有用。换句话说,添加一个规则,防止警报被触发,除非它被触发持续一段时间。这有助于滤除小的像差并识别长期活动。
度量
一旦确定了阈值,就需要确定支持警报的指标。每种警报策略都需要涵盖五个关键指标类别:容量,带宽,状态,速率和事件参数指标。
容量指标监视具有固定和已知容量的系统组件,例如磁盘空间和可用内存。如果某些东西可以“填满”或“耗尽”,通常用容量指标来衡量。达到容量时,系统会中断,这意味着阈值应设置在最大容量以下。当击中容量的后果具有严重破坏性时,应将阈值设置得特别低。
带宽指标衡量系统内的流量。例如,网络利用率,CPU使用率和磁盘吞吐量。这种类型的系统活动本质上通常是高度可变的,因此请考虑将警报基于移动平均线。例如,您可以将其设置为测量30分钟窗口的平均使用量,而不是通过查看最新测量来监控网络使用情况。
状态度量标准具有用于监视系统状态更改的不同值,例如“正在运行”或“已停止”。这些系统状态度量标准通常与基于状态的阈值挂钩。
费率指标用于衡量某些事件发生的比率。换句话说,在特定时间段内发生的事件的数量。例如,“每秒请求数”,“每秒错误数”,“每分钟登录尝试数”等。对于可预测的指标,历史阈值最好。对于不太可预测的那些,将阈值基于历史高点或低点通常是一种合理的方法。
事件参数度量基于事件的某些可测量属性,例如响应时间或请求大小。该指标通常用于监控和报告某段时间内所有相关事件的平均值。您为事件参数指标设置的阈值与速率指标的阈值类似 – 使用可预测指标的历史阈值,以及不可预测指标的固定阈值。
通知
有了正确的警报阈值和指标,下一步就是构建一个系统,用于在出现问题时接收通知。这一步至关重要。您可以拥有世界上最好的警报参数,但如果警报没有到达您,它们将无法发挥作用。
现代DevOps环境提供了多种选择。例如,现在可以将警报存储在数据库中并通过电子邮件以每日批次,立即通过电子邮件发送,通过SMS或电话发送或其某种组合来发送。诀窍在于确定哪种交互模型最适合您的团队。
一般来说,紧急警报应该是设计中断的。他们需要立即引起你的注意并传达问题的紧迫性。出于这个原因,在相同的度量标准,不同的阈值和不同的通知方法上“堆叠”警报通常也是有意义的。这里的想法是随着问题变得更加紧迫而升级警报。
警报远远超出了眼睛。设置声音警报策略需要考虑三个关键支柱:阈值,指标和通知。随着应用程序正常运行时间成为每个企业的关键任务,现在花时间为您的应用程序环境和团队找出正确的组合可以发挥重要作用。
https://thenewstack.io/fight-alert-fatigue-how-to-wake-up-your-alerts-strategy/