0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

提高IT运维效率,深度解读京东云AIOps落地实践(异常检测篇)

京东云 来源:jf_75140285 作者:jf_75140285 2025-05-22 16:38 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

基于深度学习对运维时序指标进行异常检测,快速发现线上业务问题

时间序列的异常检测是实际应用中的一个关键问题,尤其是在 IT 行业。我们没有采用传统的基于阈值的方法来实现异常检测,而是通过深度学习提出了一种无阈值方法:基于 LSTM 网络的基线(一个 LSTM 框架辅助几个优化步骤)和无监督检测(神经网络和多种机器学习算法的组合)协同综合分析时间序列。当时间序列显示出清晰的周期性形态的情况下基线表现良好,而无监督检测在效率要求高且周期性不太清晰的情况下表现出色。通过两个并行模块的互补设计,可以在不依赖阈值设定和调整的情况下实现无阈值异常检测。京东云内部实践证明,我们所提出的无阈值方法获得了准确的预测和可靠的检测。

在过去的几年中,aiops业界提出了各种解决异常检测问题的方法。机器学习 (ML) 和深度学习 (DL) 颇受欢迎。在传统的 ML 中,通常采用 K-means、基于密度的空间聚类和隔离森林 (IForest)等聚类方法。除了 ML,由于其强大的逼近能力,使用深度神经网络 (DNN) 进行时间序列预测和异常检测被越来越多的算法同学使用。多层感知器 (MLP) 是一种基本的 DNN 架构,用于评估时间序列上异常检测的性能。此外,循环神经网络 (RNN) 及其变体,如长短期记忆 (LSTM) 网络和门控循环单元 (GRU) 是解决与时间序列相关的问题的常用方法。

对于大多数上述用于解决异常检测的方法,一般是时间序列是否超出预定义的上限和下限。然而,固定阈值无法表征具有内在动态趋势变化的时间序列,从而导致异常分析不准确。此外,由于单个阈值无法涵盖所有异常情况,因此该方法也容易遗漏异常。此外,设置上限和下限的过程是一项复杂且重要的任务,总是需要为各种情况定义新的阈值,耗时长且迁移性差。

为了解决上述问题,我们介绍一种新方法,即通过 DL 进行无阈值异常检测。我们的方法不需要预定义上限和下限,而是通过抽取一些易于调整的参数,在小范围内自动搜索适配不同场景的监控数据,进而实现无阈值异常检测:基于 LSTM 网络的基线模块(LnB)和无监督检测模块(UnD)。具体来说,LnB 生成基线,该基线能够以自适应和自动的方式表征时间序列的动态特征。 LnB 的框架是用 LSTM 网络构建的,长短周期识别方法是此框架的贡献之一,它引入了一种纠正机制,可以实现更准确的拟合,生成的基线描述了检测到的时间序列的主要特征,提供了替代传统阈值的限制。 UnD是一种DL和多种ML算法的合并模型,基于投票机制从各个角度检测到的时间序列是否正常。两个模块中的任何一个检测到异常表明发生了异常。两个模块的融合使我们所提出的方法能够以互补和全面的方式有效地分析具有不确定性或各种周期性的时间序列。

时间序列X=(x1, x2, ..., xt),我们的目标是确定下一步 xt+1 的值是否异常。历史值有助于模型学习指标当前和未来的状态,但与预测值距离越近的点对模型预测的影响越大。因此,我们选择使用时间序列 Xt-T:t 的序列,而不是取时间序列的单个步长或整个历史序列来进行异常检测。 T 是选择作为模型训练输入的序列长度。下图1为无阈值异常检测的总体框架包括两个阶段,即训练过程和在线检测。

wKgZO2gu4o6AJhk2AAGC17WtkRw580.png

LnB 和 UnD两个模块都可以单独完成异常检测。但是两个模块有不同的擅长方面,每个模块的结构差异为检测到的时间序列提供了不同维度的检测结果。其中,LnB将更长时期的历史数据输入到模块中,它可以很好地说明特定时间序列的长期行为,但是 LnB 对那些周期性不明确的指标的异常检测能力较弱。相反,UnD 从一个 DL 模型和多个 ML 模型中获得投票结果,对具有不确定性或各种周期性的时间序列具有更强的鲁棒性。此外,UnD 在输入的检测指标的历史数据不足的情况下提供了更合理的检测。

图 1 中的实线箭头表示前向流,而虚线箭头表示反向传播训练。在得到每个模块的检测结果后,根据为每个模块设置的损失函数分别对LnB和UnD进行反向传播训练,LnB和UnD都进行更新,即模型训练。在模型训练之后,LnB 学习生成一个自适应基线,同时,LnB为UnD赋予 基于无监督学习预测未来异常状态的能力。

在线检测不需要训练步骤,所以按入参格式输入时间序列,可直接得到检测结果。这训练和在线检测两个模块的详细介绍如下:

wKgZPGgu4o-AAYi7AACLirDlWCE608.png

其中 f 表示模型学习所采用的网络,Ti 表示第 i 天的数据。 在训练阶段,a 和 b 会及时随着传入的指标数据自动更新,形成可适应的基线。在测试状态下,y ' final 是我们的最终预测。长短周期识别的重点是引入校正项,为历史上最有价值的“记忆”赋予更多的权重。

wKgZO2gu4pCAS6n8AAE1oxNdCW8287.png

如上所述,有两种方法用于识别长短周期,即峰值检测和 SBD距离计算。每天的峰值数量、每天的峰值最大值以及每天第一和第二个最大值的残差是用于识别长短周期,除了这种峰值检查,SBD 是识别长短周期的替代方法。假设我们有两个输入序列 X 和 Y(在我们的例子中,14 天的数据被平均分成两部分)。两个序列的SBD结果可以根据以下等式计算,

wKgZPGgu4pCAd6g_AAC8Rjp1Pdg712.png


其中 SBD 的范围从 0 到 2,在我们的案例中 s=0。 SBD 越小,说明两个序列属于同一周期的相似度越高。

最佳开始时间通过寻找不同时间粒度(如10s 和 1min)下的最佳开始时间来关注拟合精度。待检测的时间序列总是遵循一定的周期性,但根据我们的实验验证,在不同位置选择的开始时间可能会导致拟合精度不同。我们选取均方根误差 (RMSE) 用作优化搜索过程的目标函数:

wKgZO2gu4pGAcdpyAAAmt5alplA465.png

其中 y' 代表预测结果,而 y 代表基本事实。 k 表示检测到的序列中的第 k 个起始位置。采用L-BFGS通过最小化目标函数实现自动搜索。

基线生成 LnB 的核心过程是基线生成。与RNN相比,LSTM包含了三个门,即遗忘门、输入门和输出门,这种门设计在识别历史中的重要信息方面表现出更好的性能,减轻了对远程历史的依赖和梯度消失。输入数据经 LSTM,输出理论上暗示了正常数据的期望。因此,我们将损失函数训练为:

wKgZPGgu4pGALa5IAAAX8yX0ngM621.png

通过减少实际值和预测值之间的误差,网络可以学习预测时间序列的正常行为。

我们选择 95% 置信区间,计算基线的上限和下限:

wKgZO2gu4pKANOGAAAAfoEVcL5M660.png


LnB 的最后一步是自适应调整,这是实现“自适应”的关键步骤。通过 LSTM 获得的上限和下限是初始基线。然后通过极值点平滑和插值修改初始基线。即初始基线中的所有峰点和谷点都形成了初始上限和下限。然后采用拉格朗日插值进行细粒度数据填充以形成平滑的基线。

DL (GRU) 和 ML(IForest、基于角度的异常值检测-ABOD 和基于集群的局部异常值因子-CBLOF)从多个级别检测异常,不需要标签信息或阈值定义。作为回归任务,GRU 学习给定时间序列的正态分布并输出对未来的预测。与 LSTM 从长期历史中捕捉内在特征的能力相比,GRU 在数据量不足且需要效率的情况下理论上表现良好。与 LnB 不同,UnD 将较短的序列作为输入。因此,UnD 中的 GRU 单元是 LnB 的补充。另一方面,IForest、ABOD 和 CBLOF 是用于异常检测的三种基于 ML 的聚类算法。 UnD的最终检测是GRU、IForest、ABOD和CBLOF通过投票方案的合并结果。

对于 GRU,我们采用与 LnB 相同的损失函数。区别在于输入长度(在下一节中解释)。训练有素的 GRU 会给出预测的准确值 y'。在这里,定义异常权重 (AW) 以确定预测是否异常。

wKgZPGgu4pKAA_5CAAAYa_zhi_4768.png

AW 是异常识别的关键决定因素,并且根据经验知识自动学习以满足在我们的案例中检测到的异常百分比应在 1%-3% 以内的条件。当涉及到不同的领域或数据集时,也可以根据经验知识确定 AW。 IForest、ABOD和CBLOF是常用的异常值检测方法,它们的输出结果可以看作是一个描述异常概率的分数。然后将所有 GRU、IForest、ABOD 和 CBLOF 的检测结果编码并拼接成一个 one-hot 矩阵,其中 0 表示正常,1 表示异常,如图 3 所示的示例。接下来,我们得到每个时间步对应的“1”的总数。通过与投票数 n (在我们的例子中 n = 2)的比较,如果“1”的总数不小于 n ,则合并结果被检测为异常,反之亦然。 n 是一个参数,需要通过几个简单的试验来确定,例如逐渐增加值或缩小范围。

wKgZO2gu4pOANjY0AACJPhCcAlk791.png

通过投票方案的合并结果可以从不同方面揭示内在特征,因为 GRU 的回归结果包含显示增加或减少趋势的精确值,而 ML 结果呈现 0 或 1 仅表示异常与否,但具有更准确的决策,因为这些模型可以利用从附加维度或测量中捕获的信息(例如,基于角度视角的 ABOD 和基于概率视角的 CBLOF)。因此,多个高级算法的合并结果可以充分利用给定的数据进行全面的预测。

我们的模型主要有三个步骤,详细介绍如下:

第一步:数据预处理

LnB和UnD对数据拆分和连接有不同的要求,两个模块的输入数据是不同的。例如,当前时间为 t,时间序列的周期性为 T(如 7 天)。我们的目标是检测 t+1 时刻的值是否异常。在这种情况下,LnB 的输入是过去 2*T 周期(即 14 天)收集的历史数据。选择 2*T 周期的原因是 14 天之前的历史数据重要性较低,如果只收集一个周期的数据,可能会受到异常事件的影响。相反,UnD采用最相关的信息而不是使用长历史,并且选择三个滑动窗口覆盖的序列作为输入数据。三个窗口的长度分别为 30 分钟、60 分钟和 60 分钟。从图4可以看出,UnD输入中有3个段串联,即[Xt-30min:t, Xt+1-1day-30min:t+1- 1day+30min, Xt+1-7days-30min: t+1-7 天+30 分钟]。这种连接提供了一种新的输入结构设计,为特征学习和未来预测提供了最相关的信息。总之,LnB 将过去 14 天的序列作为输入,而 UnD 将过去 30 分钟、1 天前的 60 分钟和 7 天前的 60 分钟作为输入。

wKgZPGgu4pSAOD2TAABu0kIpkL8777.png

数据填充采用 K-NN 作为数据填充方法,以确保所有输入样本的长度相同且可读。数据过滤为保证输入数据的有效性,对输入数据进行平滑过滤,以消除因噪声引起的毛刺。数据转换对训练结果和快速收敛非常重要。在输入训练过程之前,原始数据还需要一个转换过程,包括归一化和对数转换,如(7)所示。

wKgZO2gu4pSAQDQqAAAj82942-w884.png

归一化避免了不同维度的副作用,有利于模型快速收敛。此外,它还确保输出不会超过输入的最小值和最大值,因为在输出上实施了指数变换。同时,对数变换可以在不改变数据特征和数据相关性的情况下,减轻方差,平滑变化。

第二步:模型训练

如图 1 中的流程图所示,LnB 和 UnD 都是根据训练数据分别训练的。但是,如上所述,两个模块的输入是不同的。 LnB 将较长的历史数据作为输入,并尝试捕获检测到的时间序列的丰富信息,而 UnD 将最相关但较短的序列部署为训练数据。 UnD 中的GRU和 LnB通过减少第二部分中介绍的损失函数来学习检测到的序列的正常行为。同时,IForest、ABOD 和 CBLOF 学习了无监督聚类模型。上述单元的所有输出都是一步超前的异常检测。

第三步:在线异常检测

在运行时,传入的数据首先进入预处理模块,然后同时进入LnB和UnD。输入数据的格式应与训练阶段一致。如果两个模块的任一结果异常,则提示待检测数据异常。LnB和UnD的融合机制对时间序列进行了全面的检测,降低了潜在异常遗漏的概率。另一方面,LnB 中较长的历史输入和 UnD 中的多模型投票方案有效地避免了将正常的误认为是异常的。

经过京东内部多场景多组数据验证,模型在线上运行的效果评估如下表所示:

wKgZPGgu4pWAJE3MAAJiuxKPshE935.png

此外,可以灵活选择“and”或“or”来整合LnB和UnD的结果。没有统一的规则,要看实际场景的需求。在我们的落地实践场景中,这两个数据集都需要保证召回率,因此我们采取“或”操作,这意味着无论哪个检测到异常都会报警。如果需要较低的警告级别,我们可以选择“和”作为积分运算。选择三个流行的基线 IForest、ABOD 和 CBLOF 进行比较。此外。我们还比较了我们的方法和单独使用 LnB 或 UnD 的方法的结果,如上表所示。从定量比较中,很明显,所提出的方法,即 LnB+UnD 在两者中都获得了最高的 F1 分数数据集。 LnB+UnD 的组合比单独采用 LnB 或 UnD 效果更好。而且我们的模型优于其他三个基线,这也证明了我们并行机制的有效性和必要性。

我们提出的一种用于时间序列分析的无阈值异常检测方法,即 LSTM 构建的 LnB和DL、ML 模型融合机制构建的 UnD,以互补和智能的方式实现异常检测。在具有不同长短周期和变化趋势的真实实践场景的两个数据集上进行了实验,比较结果证明了我们方法的有效性和准确性。

•Threshold-free Anomaly Detection for Streaming Time Series through Deep Learning. ICMLA.

•ieeexplore检索:https://ieeexplore.ieee.org/abstract/document/9680175

wKgZPGgu4peAdgBNAApwo3tclNA523.png

•团队介绍:

京东科技从2017年开始建设智能运维,基于京东多年一线运维经验,以大数据和人工智能技术为抓手,形成以应用为中心的一体化智能运维解决方案。利用京东内部历年大促场景的数据积累,对算法进行不断的优化训练,在监控、数据库、网络、资源调度等多个纵向场景取得突破,可移植性强,自研通用化智能基线算法学件10+,自研通用化异常检测算法学件10+,场景化异常检测算法方案5+,具备多种自研通用化根因定位算法学件,可以自动触发多维实时根因定位 ,从上万维度属性值中定位到根因维度,自研5种以上增量式学习模板提取与相关分析算法学件,运维知识图谱内涵盖节点30W+,以应用为中心向外延伸出的图谱关系达90W+,赋能根因分析快速精准查询调用。发表IEEE国际会议论文(AIOps方向)6篇,申请40余项智能运维专利。


审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IT
    IT
    +关注

    关注

    2

    文章

    961

    浏览量

    65547
  • 深度学习
    +关注

    关注

    73

    文章

    5591

    浏览量

    123917
  • AIOps
    +关注

    关注

    0

    文章

    9

    浏览量

    1355
  • 京东云
    +关注

    关注

    0

    文章

    200

    浏览量

    235
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ECS主动2.0,体验升级,事半功倍

    IT 成本,提升效率,使您更专注于核心业务创新。当您基于ECS服务器搭建了业务系统,借助计算的诸多优势和特性,可以实现对业务需求的
    发表于 04-20 16:37

    阿里巴巴发布智能故障管理AI+生态计划

    )科技有限公司高级技术顾问杨路分别在其各自领域就智能落地实践,以及与阿里巴巴智能故障管理平台结合后为客户带来的价值提升做了分享,让企业在智能化升级的过程中有更多的方案选择。分会场
    发表于 06-14 17:34

     详细剖析华为应用立体解决方案

    的问题?应用有bug,具体是哪段代码引起的?  用户体验保障上:业务运行是否正常?如何能清楚的了解各地域用户体验情况?  上面这些问题,作为统统都要hold住。而随着免费服务器时代到来,企业应用上
    发表于 09-01 14:18

    盈和智能助力实现配电智能化、精细化

      能盈和智能就是通过将数据流与业务流相结合的方式助力客户实现配电智能化、精细化。智能
    发表于 01-24 13:17

    虚拟化故障怎么办?虚拟化怎么解决?

    上班,原来几十人做的工作,现在几个人在做,工作量数倍剧增。同时,企事业单位租用的服务流量猛增,导致最近总是收到投诉,人员焦头烂额。人少工作量大,如何提高
    发表于 02-21 21:32

    随着人工智能的发展,推动着管理由传统的人工运向智能转变

    深度学习等人工智能算法应用于IT工具和业务系统所采集的大型数据集,并尝试模拟人类行为(如发现、判断、响应)的智能化管理平台。智能
    发表于 09-03 10:35 7670次阅读

    AIOps成电信行业智能化方向,华为AIOps服务四大核心价值

      在运中引入AI,基于算法和机器学习的智能AIOps)被公认为是一个行之有效的解决途径。2019年4月,华为正式发布iMaster NAIE网络AI
    发表于 09-26 09:12 1751次阅读

    亚信科技AISWare AIOps智能平台产品荣登Gartner Hype Cycle技术成熟度曲线2020年度榜单

    走高。企业引入AIOps,增强IT系统在事件关联和分析、异常检测、根因分析等方面的能力,促进业务增长已成必然趋势。  亚信科技智能平台(
    的头像 发表于 03-29 15:17 2243次阅读
    亚信科技AISWare <b class='flag-5'>AIOps</b>智能<b class='flag-5'>运</b><b class='flag-5'>维</b>平台产品荣登Gartner Hype Cycle技术成熟度曲线2020年度榜单

    嘉为蓝鲸成功举办智慧生长,研未来暨2021研治理实践大会

    10月20日,嘉为科技携手腾讯蓝鲸智联合主办的智慧生长·研未来暨2021年研治理实践大会于北京隆重召开。 本次大会特设主论坛、DevOps分论坛、智能化
    的头像 发表于 10-22 09:22 3048次阅读

    2021GOPS全球运大会落幕七牛分享AIOps探索经验

    架构师敖文武在会中为大家分享了七牛关于AIOps的探索与实践经验。 2021 GOPS全
    的头像 发表于 01-11 10:10 1684次阅读
    2021GOPS全球运<b class='flag-5'>维</b>大会落幕七牛<b class='flag-5'>云</b>分享<b class='flag-5'>AIOps</b>探索经验

    什么是AIOpsAIOps的3大好处

    AIOps,也就是基于算法的 IT (Algorithmic IT Operations),是由 Gartner 定义的新类别,源自业界之前所说的 ITOA(IT Operations
    的头像 发表于 01-30 15:13 8867次阅读

    GTC 2023:百度智能DPU落地实践

    百度太行●计算:深度拥抱DPU的弹性计算基础架构 百度智能DPU落地实践:极致弹性、高可用的裸金属实例 百度智能DPU
    的头像 发表于 03-24 16:22 4401次阅读
    GTC 2023:百度智能<b class='flag-5'>云</b>DPU<b class='flag-5'>落地</b><b class='flag-5'>实践</b>

    电力平台

    电力平台,顾名思义,是一种主要应用于变电站、配电房等日常配电管理工作的平台系统,通过
    的头像 发表于 08-21 13:50 2118次阅读
    电力<b class='flag-5'>运</b><b class='flag-5'>维</b><b class='flag-5'>云</b>平台

    配电室智慧提高配电室的管理水平与运行效率

    随着用电规模的不断扩大,电力维面临着越来越多的挑战,如用电线路老化、变配电配置不合理、专业电力人员缺乏等,而配电室智慧能够有效地解
    的头像 发表于 09-23 14:37 1421次阅读
    配电室智慧<b class='flag-5'>运</b><b class='flag-5'>维</b><b class='flag-5'>提高</b>配电室的管理水平与运行<b class='flag-5'>效率</b>

    打造智能化极致体验 软通动力AIOps体系亮相GOPS全球运大会

    最佳实践及解决方案专场”,发表《数智化时代软通动力AIOps体系最佳实践与探索》主题演讲。 随着信息技术、数字技术的快速发展,以及企业IT系统和服务的复杂性不断提高,传统的IT
    的头像 发表于 10-28 16:10 985次阅读