【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

我们不一样!告诉你百度是如何做智能流量异常检测的

  • 2019-09-10
  • 本文字数:2494 字

    阅读完需:约 8 分钟

我们不一样!告诉你百度是如何做智能流量异常检测的

流量,是系统的黄金指标之一,它直观反映系统的运行状态。健康的系统流量通常平稳波动变化,当流量突然上涨或者下降时可能预示系统中存在故障。例如系统的外部网络链路出现故障时,外部用户的访问流量无法到达我们的系统,流量会出现突降异常。当系统模块出现问题无法响应用户的请求时,此时的流量同样会出现突降异常。除了导致流量突降类的故障,当系统被爬虫爬取或者攻击时,流量会出现突升异常。所以流量的突升、突降常常表示系统中发生了某种故障或者异常行为。因此,流量异常检测对发现系统故障、维护系统的稳定性十分重要,它也成为了 AIOps 智能运维中的一个典型场景问题。


今天我们将从流量异常检测难点入手,分析常见流量检测方法存在的问题,然后重点介绍百度云智能运维产品(Noah)所使用的一类智能异常检测算法,基于鲁棒回归与泊松分布的流量异常检测算法。文章最后也附上了百度云 Noah 智能异常检测算法试用申请地址,欢迎大家试用。


流量异常检测的难点

流量异常检测主要有以下三个难点:


1.流量的大小会随着用户行为发生变化。对于大部分百度云上的业务,白天的访问流量较高,深夜的访问流量较低。这使得流量水位值存在上下文相关性,白天水位高,夜晚水位低,不断波动变化。这就需要算法能够区分流量的正常波动变化与异常波动变化,准确的检测异常流量。


2.对于所有百度云上用户而言,运维工程师关心系统本身的故障,需要及时检测到流量的突降异常,而安全工程师关心攻击、抓取和爬虫,更多地关心流量是否存在突升异常。这就要求算法有能力区分当前流量的异常类型,精准地给出流量的预测值。


3.流量也会受到业务逻辑调整的影响,流量水位会出现上涨或者下跌后不恢复的现象。需要算法能够及时适应这种变化,否则就会导致持续的误报。

流量异常检测模型

我们从上述难点出发,将流量异常检测分为预测与检测两个阶段。预测阶段需要克服异常流量的影响,对流量进行精准预测,检测阶段需要计算真实值与预测值之间的差异,当差异显著大于通常情况时,即可判定当前实际流量出现了异常。


常见预测算法的问题

比较简单的预测算法是移动平均算法。




另外,在下降过程中,移动平均算法会认为数据一直存在下跌,下降过程中又容易造成误报。



移动平均算法简单地将窗口内数据的均值作为下一个点的预测值,没有考虑到窗口内的数据趋势,导致预测的趋势总是滞后于实际趋势,预测的结果不准确。




实验发现,线性回归方法容易受到异常点的影响。上图中蓝色曲线为某一个窗口内的数据,窗口内后半部分出现了突升异常。理想的拟合结果应该不受突增异常影响,如图中粉色直线所示。而线性回归的拟合结果受到了异常点的影响,预测水位偏高,如图中红色直线所示。当曲线中的异常值较多时,线性回归的预测结果会出现如下图棕色线所示的不符合预期的波动。由于线性回归的损失函数是二次函数,所以异常点带来的影响被放大,导致拟合的结果偏离理想结果。


鲁棒回归算法

由于线性回归的二次损失函数放大了异常点的影响,因此我们考虑了将二次函数缩小为一次函数,减弱异常点影响。将损失函数改成如下:



但不可导,没有确定的解析解,可以使用


Interatively reweighted least squares


(https:// en.wikipedia. org/wiki/Iteratively_reweighted_least_squares)


优化方法得到相对的最优解。这样在预测过程中就可以弱化突增、突降等异常点的影响,得到比较理想的预测结果。


如下图所示,图中蓝色曲线为原始流量曲线,红色曲线为鲁棒回归算法的预测结果,黑色曲线为移动平均算法的预测结果。可以看到原始流量存在较多的突增异常,移动平均算法受异常点的影响预测效果较差,异常流量位置的预测值偏离理想值。从箭头所指向的局部拟合效果图中可以看到,鲁棒回归算法没有受到这些异常点的影响,在流量的突升、突降位置都能够给出理想的预测值。


常见检测算法的问题

泊松分布检测算法

由于基于残差与相对残差的检测方法都不能够设置统一的检测阈值,所以我们考虑从概率的角度来设置恒定的检测阈值。系统大部分时间都处于正常状态,正常流量出现的概率远远大于异常流量,可以通过流量出现的概率大小来检测异常流量。



突降异常的检测结果如下图所示,第一幅图中蓝色曲线为原始流量数据,橘色曲线为鲁棒回归算法预测结果,红色点为检测出的突降异常,第二幅图中蓝色线是根据真实流量与预测流量计算出的 z 统计量值,红色直线为设置的检测阈值。从图中可以看到,在 z 统计量上设置恒定阈值即可检测异常流量。



目前,本文的算法已经在百度云 Noah 智能运维系列产品之霍莉(Horae)异常检测平台上开放试用,Horae 覆盖时序数据异常检测实验运行的整个生命周期,包含数据标注、算法实验、离线评估、后验评估等过程。

总结展望

本文介绍了 AIOps 智能运维领域中的一个典型场景——智能流量异常检测。在分析其背景和难点,并对比介绍了一些常见的流量预测、检测方法之后,我们为大家重点介绍了百度云智能运维产品(Noah)中的一种智能异常检测算法——基于鲁棒回归与泊松分布的时序流量异常检测算法。一方面,基于鲁棒回归的预测算法,可以不受异常点的影响,精准地预测流量水位值;另一方面,基于泊松分布的检测算法,可以从概率的角度对流量建模,能够使用简单的恒定阈值来精准地检测流量异常。


当然,每类智能异常检测算法都有其场景特征和局限性:


(1) 该算法对相对平缓的异常趋势变化不敏感,因为我们每次是对局部窗口的数据进行鲁棒回归来预测窗口最后一个点流量值,没有使用足够的历史数据来判断当前的平缓趋势变化是否正常。


(2) 如果异常持续时间超过鲁棒回归窗口长度,可能会出现误报。例如,检测突降异常时,当突增的持续时间超过拟合窗口时,鲁棒回归算法会跟随上这种突增变化,这样就容易在突增恢复正常时造成突降的误报。


当然,为了解决上述问题,我们在霍莉(Horae)异常检测平台中,还实现了智能同比检测等算法,在后续的文章中会详细介绍,敬请期待!


作者介绍:


牧之,百度云高级研发工程师,负责百度云 Noah 智能异常检测算法相关工作,在自动异常检测、智能故障诊断等方向有广泛的实践经验。


本文转载自公众号 AIOps 智能运维(ID:AI_Ops)。


原文链接:


https://mp.weixin.qq.com/s/vSblkaim9Fq_N7rO5TsIAA


2019-09-10 16:182654

评论

发布
暂无评论
发现更多内容

【行云流水线】满足你对工作流编排的一切幻想~skr

京东科技开发者

赛迪顾问发布最新中国大数据市场报告,腾讯云稳居领导者行列

腾讯云大数据

大数据

利用全面预算管理,构建企业数智化管理体系

智达方通

数智化转型 全面预算管理

“数字人+大屏”开启互动新体验!

青否数字人

数字人

使用RFC跳过权限校验的方法

不在线第一只蜗牛

用户 abap 业务流程

冲突管理最佳实践

俞凡

管理 最佳实践 沟通

HyperDock for mac(Dock优化工具安装) v1.8.0.10永久激活版

mac

苹果mac Windows软件 HyperDock Dock优化软件

AI数字人:满足多行业多场景需求!

青否数字人

数字人

国产化系统中遇到的视频花屏、卡顿以及延迟问题的记录与总结 | 主赛道

以全面预算管理推进现代销售计划的建立

智达方通

全面预算管理 销售计划

强大的跟踪和动画软件:Boris FX Mocha Pro 2023破解下载

胖墩儿不胖y

Mac软件 动画软件 Mac好用的软件推荐

DePIN:去中心化基础设施的新篇章

TechubNews

区块链 web3 DePIN

面试官:说一下MySQL主从复制的原理?

王磊

Java 面试

D-Night桌研社北京首店12月30日正式开业,学生和新客特价2.5折起

科技热闻

基于图神经网络的动态物化视图管理

KaiwuDB

KaiwuDB 物化视图管理

TcpDump

Geek_b2fe7a

HTTP tcpdump

1688商品列表数据接口(1688.item_search)丨1688API接口

tbapi

1688API接口 1688商品数据接口 1688商品列表数据接口 关键词搜索1688商品数据

安全可信丨业内领先!天翼云公有云管理平台通过密评!

天翼云开发者社区

云计算 公有云 云平台

AI数字人支持短视频创作/实时互动直播带货!

青否数字人

数字人

上升到人生法则的贝叶斯理论

小齐写代码

Ubunt20.04安装Gramine教程。

百度搜索:蓝易云

Python Linux ubuntu Web Linux云服务器

Python基本操作详解。

百度搜索:蓝易云

Python Linux 运维 Web 云服务器

为什么美国服务器是业务国际化的首选?深入探讨其关键优势

一只扑棱蛾子

美国服务器

三掌柜的2023年国产AI体验之路

三掌柜

年终总结 2023 2023年 年度

作为铭文跨链赛道龙头,SoBit 有何突出之处?

西柚子

玩转云端| 多云时代,数据管理就该这么“库”!

天翼云开发者社区

数据库 云计算

什么是爬虫,为什么爬虫会导致服务器负载跑满

德迅云安全杨德俊

英特尔的2023:以强大执行力推进产品、技术创新

E科讯

安全可信|这朵政务云通过中央网信办云计算服务安全评估增强级认证!

天翼云开发者社区

云计算 安全 云服务

IPQ8072 and IPQ8074: The difference between enterprise-grade and consumer-grade routers

wallysSK

从数据洞察到市场变革:我们的 Web3 愿景

Footprint Analytics

区块链 #Web3

我们不一样!告诉你百度是如何做智能流量异常检测的_文化 & 方法_牧之_InfoQ精选文章