我们喜欢我们的新动态基线警报它是如何快速和容易地建立一个充满信心的警报。从一开始,我们就知道我们想要给人们一个预览,这样他们就可以确切地看到警报将如何用他们的实际数据做出反应。但我们很快意识到,客户数据的变化如此之大,我们需要做一些非常聪明的事情,让它适合每个人。

这就是驱使我们在基线警报功能中创建不对称灵敏度滑块的原因New Relic APM。滑块的设计是为了帮助您图形化地选择阈值控制,当您将收到一个警报,基于一个给定的度量偏离基线的程度。

当您移动滑块时,条带的宽度会发生变化。当你将它向右滑动时(向更少的违规发出警报),这个波段就会扩大,这样当出现越来越明显的异常时,该功能就会发出警报。将它移到左边(向更多的违规发出警报),您就会得到从基线发生的较小的违规的警报。

gif定义阈值

我们如何改进它

动态基线警报灵敏度滑块的第一次迭代是一个等间隔尺度。当您移动滑块时,警报带会随着滑块的位置以简单的线性关系扩展或收缩。但当我们在内部测试早期版本时,我们发现它在某些度量时间序列上运行良好,但在其他版本上就不太好了。这是因为不同的指标显示了不同的变化量。例如,磁盘使用情况通常是相当可预测的,而CPU使用情况通常由于不同进程的启动和停止而难以预测。对于正常范围较大的指标,一个简单的线性关系使得很难设置警报频带来捕捉异常,而不会对不太重要的问题产生警报。我们决定,我们需要超越基本的等间隔滑块,使其能够很好地处理我们和我们的客户遇到的各种数据。

我们没有让滑块线性控制波段,而是设计了滑块的左端提供更精细的调整,而右端滑块提供更大的调整。例如,在一个应用程序的响应时间基线警报上,滑块左端的一个小变化可能会将频带扩大1毫秒。在滑块的右端进行同样的改变可能会将宽度扩大100毫秒。

这一切是如何运作的?这是一个两步的过程。

自定义滑块鳞片

首先,我们将滑块的比例设置为依赖于所观察度量的可预测性。换句话说,滑块的基本单元是针对特定数据集定制的。你可以将这个基本单位看作是你所能选择的最小带宽。

我们为什么要那样做?基于可预测性定制基本单元有助于使整个滑块范围更有用。在我们做出调整之前,我们经常发现自己试图通过使用滑块范围的一小部分来调整一个给定的度量。这是因为难以预测的指标需要更宽的基础宽度,以便您可以配置一个捕捉异常而不是正常变化的警报。但是当你在处理一个更可预测的度量时,你需要一个更窄的范围,这样你就可以调整一个更紧的阈值。使用自定义的基础单位,滑块的范围自动调整,使其更容易配置警报阈值。

一个指数的改善

然后,我们将滑块编码成不是线性的,而是基于自然指数函数y=ex,如下图所示:

动态基线警报图

这条曲线给了我们想要的效果:一端是细粒度的控制,另一端是快速输入更大变化的能力。

这种设计让我们可以设置动态基线警报,使其能够很好地与各种现实世界的指标一起工作。

我们知道我们必须使用数学来创建基线预测,以支持New Relic APM的动态基线警报。当New Relic的数据迷们能够挖掘一些很酷的数学方法,从而让用户界面变得像基线一样出色时,这是一种额外的奖励。

动态基线警报目前有限发布,预计将在今年晚些时候广泛发布。

Nadya是New Relic拓扑产品管理副总裁。她负责连接系统的功能,包括分布式跟踪、地图、全局用户界面和实体平台。在新Relic之前,纳迪亚曾担任过多种职位,包括《财富》1000强公司的IT总监,波音公司收购的初创公司的首位工程主管,以及多个SaaS产品发布的产品经理。作为一名电气和软件工程师,她设计过实时操作系统,调试过工厂自动化系统,构建过。com时代的Java web应用程序。她很喜欢飞艇。查看贴子

有兴趣为New Relic博客写作吗?亚搏体育登入网给我们发一份建议书!