嘉年华专访 | 国际上智能运维研究

数据技术嘉年华等你来

张圣林,南开大学助理教授,于2017年7月获清华大学工学博士学位(计算机科学与技术专业)并获得清华大学优秀博士学位论文,导师是刘莹老师和裴丹老师。

在攻读博士学位期间,曾经赴美国佐治亚理工学院学习四个月,导师为Prof. Jun (Jim) Xu。此外,在百度运维部、系统部有长达三年的实习经历。主要研究方向为基于机器学习的(人工)智能运维,包括异常检测、故障定位、根因分析和故障预测等。以第一作者或通讯身份在IEEE Transactions on Service Computing、ACM SIGMETRICS、ACM CoNEXT、IEEE ISSRE、IEEE/ACM IWQOS等国际期刊或会议上发表论文十余篇。

2017年11月至2018年5月,与裴丹教授一道,张圣林作为核心人员参与了首届AIOps挑战赛的筹备工作,并筹办了AIOps挑战赛决赛暨首届 AIOps 研讨会。

本文选自张圣林老师在第29届国际软件可靠性工程旗舰会议 ISSRE 2018( IEEE International Symposium on Software Reliability Engineering)上的获奖论文“Robust and Rapid Adaption for Concept Drift in Software System Anomaly Detection” 《指标模式漂移后的准确异常检测》一文,文中提到的StepWise这个最新研究成果,可以快速且准确的适应异常检测系统面临的概念偏移问题。

张老师将在2018数据技术嘉年华分享“基于日志分析的智能运维”一题,会从全心的视角分析智能运维这一话题,敬请期待。

扫描宣传图上的二维码即可注册参会。

1

介绍

StepWise 是清华 NetMan实验室与搜狗公司合作的最新研究成果,能快速且准确的适应异常检测系统面临概念偏移的问题。概念偏移(Concept Drift) 是指异常检测的对象(关键业务指标)时序数据发生剧变。概念漂移会直接导致异常检测系统的准确率降低,而StepWise能够使得异常检测算法快速适应并恢复到原来的准确率。 StepWise能应对各种类型的异常检测算法。该论文发表在ISSRE18,软件可靠性工程的旗舰会议(CCF rank B),并且入选了该次会议的 Best Paper Finalist(三篇之一)。

获奖证书

ISSRE'18 会议全称为第29届国际软件可靠性工程旗舰会议 ISSRE 2018(IEEE International Symposium on Software Reliability Engineering)。

2

背景

随着Web服务如搜索引擎、电子商务和社交网络等突飞猛进的发展,细致的监控服务关键业务指标(KPI,比如页面浏览量、在线用户数、平均响应时间等时序数据流)对保障服务的稳定性尤为重要。我们曾介绍过 KPI 异常检测的框架(opprentice),包括现有的多种类型检测器如滑动平均、时间序列分解(TSD)等。为了能够准确的检测出异常,运维工程师需要花费大量精力选择检测器、调整参数和阈值等。

实际运维场景中调整好的检测器也不是一劳永逸的,我们发现检测准确率会随着时间的推移而显著降低,这是因为 KPI 发生了概念偏移(Concept Drift)。在我们的语境下,Concept 是 KPI 的数据分布,Concept Drift 意为 KPI 的数据分布发生了剧变。而这种变化一般是KPI曲线的阶跃(如图中所示的巨幅下降),或是缓慢的上升/下降(如内存泄露等逐渐恶化的场景)。

概念偏移被运维工程师分成符合预期的与不符合预期的,符合预期的是由运维工程师主动操作或者业务实际增长导致的 KPI 剧变,而不符合预期意味着异常的突变,比如软件变更后导致服务性能受损甚至中断,需要快速回滚到之前的版本。符合预期的概念偏移发生的次数更多,据统计在概念偏移总数中占比超过80%。

这是因为运维工程师的日常工作就在做软件的变更,包括软件升级,扩容,迁移和配置更新,以满足部署新特性、修复bug和提升系统性能的需求,比如扩容是把服务部署到更多的服务器上,单台服务器上的请求量就会明显下降,因为全部的请求量是稳定的,这种情况就是一个预期之中的概念偏移:运维工程师认为每台服务器的PV会在很短时间内下降。这些正常的运维操作之后就会使得数据分布发生符合预期的剧变,而异常检测算法总是利用历史的数据分布,不能够准确的预测新的数据分布而做出准确的异常判断。

如下图所示,假设运维工程师使用时间序列分解(TSD)算法做为异常检测器,这个异常检测的参数为扩容以前的 KPI “量身定制”的,绿色的点线可反应其基准线和噪声标准差的正常范围。在8月3日扩容后 KPI 数据分布变化了,TSD 就会产生很长时间(8月3日一天时间)的误报,因为算法本身使用历史的数据预测新的“正常”数据。虽然检测器可以逐渐跟上新的数据分布的基准线,但新的噪声标准差是很难适应的,还会有误报/漏报(如8月6日)。因此 TSD 输出的异常点不再符合运维工程师的需求。我们工作的目标就是适应新的数据分布(运维工程师预期之中的概念偏移)应对各种异常检测系统,以避免长时间的准确率损失。

概念偏移的示例

3

挑战

1. 频繁出现的符合预期的概念偏移:大型 web 服务每天都会有上千次的软件升级和配置变更,使得 KPI 中会出现很多符合预期的概念偏移。

2. 海量的 KPI 数据:有数十个业务部署在上万的服务器上。每个服务器上都有多种关键指标。

3. 不同类型的异常检测器:针对不同的 KPI 曲线,实际会用到不同种类的异常检测器甚至是几种检测器的组合。

4. 需要快速适应:发生预期之中的概念偏移,运维人员会收到大量的误报和错报。

4

设计思想

发生概念偏移后通过人工重新配置异常检测器参数来应对是很不方便的,针对上述挑战,我们提出了一个自动的、鲁棒的、快速的能适应各种异常检测器的概念偏移的系统 --StepWise。下图是 StepWise 的设计框架。

StepWise系统框架

StepWise 主要分为三个部分:

1. 概念偏移的检测:StepWise 系统要位于异常检测系统之前,KPI 数据流输入后首先检测是否有概念偏移。

2. 区分概念偏移是否符合预期:如果有概念偏移,我们需要区分其是否符合预期,不符合预期的概念偏移运维工程师要快速处理该异常,符合预期的进行下一步。

3. 迅速适应符合预期的概念偏移:就是要使得概念偏移后新的数据分布也能快速适配原来精心设计的异常检测算法和参数,输出的数据进行异常检测。

5

概念偏移的检测:iSST-EVT

概念偏移的检测等同于剧变检测,我们之前介绍过的 FUNNEL 使用 improved SST(iSST)算法能快速、准确的检测出KPI剧变,然而该算法应对海量KPI数据还有局限性,它需要运维人员根据不同曲线的剧变分数指定阈值。

我们设计了iSST-EVT算法,利用极值理论(EVT)作为自动设置阈值的工具,极值理论不需要对数据分布(Uniform/Gamma/Frechet)进行假设,而是能通过通用的经验参数来确定阈值。如下图所示,用 iSST 算法可以得到原始 KPI 的剧变分数(图 a 和 b 中绿色虚线所示,由奇异谱分解得到的没有上界的数值,对应于 KPI 中的每个点),而确定剧变点需要对剧变分数设置阈值,这个阈值在不同的 KPI 曲线中不同,EVT 能够自动给出阈值(图 b 中紫色点所示),不再需要手动设置或对剧变分数的分布做假设。

iSST-EVT 算法结果示例

6

区分概念偏移是否符合预期:DiD

当检测出概念偏移,运维工程师需要根据其领域知识判断其是否符合预期,我们提供了差分分析(DiD)的方法给运维工程师参考。当有准确的活动时刻输入(如上线、配置变更、节假日),DiD 能得到当前的概念偏移是否由该活动导致的而排除其他季节等条件的影响,然后由运维工程师决定该概念偏移是否符合预期。如上线失败与否都可能导致概念偏移,只有运维工程师才能根据其领域知识作出决策。

7

迅速适应符合预期的概念偏移:RLM

对符合预期的概念偏移需要快速使其数据分布适配原来精心设计的异常检测算法和参数,这里我们通过大量的历史概念偏移情况得到一个观察,即新的数据分布和久的数据分布是可以线性拟合的,也就是说新的数据分布是旧的数据分布一个缩放版本。这是有物理意义的,因为扩缩容等产生的概念偏移都是把服务器的流量平均分配到了更多或更少的服务器上。

根据这个观察我们设计了使用鲁棒的线性模型(RLM)进行适应的算法,如下图所示,取概念偏移后新的数据分布全部样本 A,和它的时间段在周期历史上对应的若干段按采样时间逐点取中位数得到 B ,使用 RLM 得到 BA 的线性关系 f = RLM(B ~ A),接下来新收到的时间点数值就由此线性关系进行变化计算 A' = f(A)A' 即作为异常检测器的输入。而后新的点也再加入 A 集合重覆上述得到 f 的过程。这一线性拟合的时间初始可用 6 分钟的数据(正好是第一步概念偏移的检测时间窗),停止计算 f 时间经实验得到最好是 24 小时即一天的时间,之后的新来数据都用 f 进行线性变化。也就是说使用我们的方法,在 6 分钟后就可以适应符合预期的概念偏移,在实际场景中是比较适合的。

RLM 算法过程示例

8

结论

我们的 StepWise 系统给出快速鲁棒的概念偏移检测与适应方法,通过 iSST-EVT、DiD 和 RLM 适应算法,运维工程师不再需要人工的设置检测算法的参数和阈值,也使得异常检测系统能够持续有效的发挥作用。我们的评估实验是基于搜狗搜索部门提供的真实运维数据,使用几百条、六个月范围有标注的 KPI 数据,发现对比传统不做概念偏移适应的异常检测方法,使用 StepWise 能使得多种常用异常检测算法的平均准确率(F1-score)提升 206%,适应时间约为 6 分钟。

扫描上方二维码,参加数据技术嘉年华

更多精彩,请实时关注2018数据技术嘉年华,张老师将更多的技术干货面对面分享给屏幕前的你!限时注册报名享受到场退费0元享活动(限99元票种)

时间2018年11月16日-17日(周五、周六)

地址北京市东三环中路61号富力万丽酒店

超值赠送(限时优惠)

本次大会由 云和恩墨 鼎力支持,恰逢云平台【墨天轮】上线开放,注册云服务平台,您将可以得到大会『免费』参会的限时礼遇 + 云服务大礼包

注册获赠服务礼包:价值 ¥20000 云服务优惠券; 限时购票参会返还:现场参会即原路退还全部购票费用(仅限单价99元票种)

注:退款在会后5个工作日内完成。

请扫描以下二维码,在网站完成注册即可购买限时优惠门票,并获赠云服务大礼包:

票种

温馨提示:本次大会不支持退票,敬请谅解。

部分嘉宾

历届精彩

主会场

嘉宾风采

高人气分会场

交流咨询展区

-- 数据精彩即将上演,欢迎更多的伙伴加入!--

媒体合作&商务合作:佟女士 010-59007017-7033

11月16-17日,让我们携伙伴一起相约北京!

如果其他问题,欢迎大家留言咨询哦。

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2018-11-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技评论

开发 | 分布式机器学习时代即将来临?谷歌推出“Federated Learning”

传统机器学习方法,需要把训练数据集中于某一台机器或是单个数据中心里。谷歌等云服务巨头还建设了规模庞大的云计算基础设施,来对数据进行处理。现在,为利用移动设备上的...

429100
来自专栏人工智能头条

聊天机器人中的深度学习技术(引言)

28370
来自专栏企鹅号快讯

机器视觉技术原理解析及应用领域

01 简介 机器视觉是一项综合技术,包括图像处理、机械工程技术、控制、电光源照明、光学成像、传感器、模拟与数字视频技术、计算机软硬件技术(图像增强和分析算法、图...

94960
来自专栏AI研习社

分布式机器学习时代即将来临?谷歌推出“Federated Learning”

传统机器学习方法,需要把训练数据集中于某一台机器或是单个数据中心里。谷歌等云服务巨头还建设了规模庞大的云计算基础设施,来对数据进行处理。现在,为利用移动设备上的...

375110
来自专栏专知

亚马逊NAACL新论文:如何教Alexa语音助手快速理解新语言

15320
来自专栏TEG云端专业号的专栏

全国知识图谱与语义计算大会 - 实体发现与链接比赛总结

一 背景 互联网大数据时代中,随着机器语义理解需求的日益增长,知识图谱,即各类实体、概念及其之间的语义关系,日益成为大数据时代知识表示的主要形态之一,并在学术界...

1K70
来自专栏目标检测和深度学习

Kaggle :第二届 YouTube-8M 视频理解挑战赛

25720
来自专栏CSDN技术头条

Github上的十大机器学习项目

Github上的十大机器学习项目涵盖了一系列函数库、框架和教学资源。我们来看看别人使用的工具和学习的资源。 开源软件是数据科学很重要的一部分。 根据最近的KDn...

313100
来自专栏养码场

吆喝科技CTO的纯干货分享:直击A/BTesting和美团推荐技术关键点!

养码场的线上课程,以技术人员为核心的学习、交流、分享社群,全方位服务技术人和技术创业者。这里聚集了众多BAT/美团/京东/滴滴/360/小米/网易等知名互联网公...

13840
来自专栏人工智能快报

谷歌开源机器学习框架TensorFlow 1.0

据外媒报道,在美国加利福尼亚州山景市举行的首届TensorFlow开发峰会上,谷歌发布了代表人工智能发展趋势的TensorFlow深度学习开源框架1.0版。谷歌...

31450

扫码关注云+社区

领取腾讯云代金券