加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

【2018可信云大会】腾讯聂鑫: 腾讯AIOps实践演进

发布时间:2018-08-27 08:11:36 所属栏目:云计算 来源:中国IDC圈
导读:聂鑫:来腾讯工作快12年了。在腾讯服务的12年里都在一个部门没有变过。2006年去腾讯的时候正好赶上腾讯在做DO分离,第一代BAT企业应该也都是在那个时候开始推进运维和研发分离这件事。那时候的运维什么基础都没有,一穷二白,真的很艰难,除了不用扛设备,

这一页展现的是达标的QQ群,运维人员在这儿打标,第一个曲线这种形态,我自己也不能判断要不要告告警,还得找研发团队确认为什么这个曲线这样,什么原因,需不需要监控。没有一种方法可以直接用AI解决问题,最终是人打标去做数据的过程。

三个算法的结合之后,我们的过滤比例可以高达万分之一,这三个算法,两种算法一起跑,三种算法一起跑,效果比之前好很多。这个是一个视频,就是学件。前面把统计判别、无监督、有监督算法串起来之后做时间序列异常检测,我们包装成一个学件,起了一个代号,我们希望把这个首先是开放出来,在腾讯云上做成一个接口。有兴趣的话可以把自己公司的时间序列的数据,通过API往里导,帮你预测。第二个是也正在做开源,把这一整套的管理方式和算法以及最后的一个基于腾讯的运维数据训练出来的模型全部开源给大家。为什么要全部开源?我们发现,我们这个算法给到公司的另外一个部门,网评部门,网络交换机的那些数据也有用,但是准确率没有自己的高。说明这些算法还是需要拿不同场景数据去做训练才能得到比较高的准确率,我们把算法开源出来,根据自己公司的数据参与一些训练打标。这是我们的打标的过程,各个公司自己做,我要告警还是不告警,基于某一种场景,也可以好几种场景分开,每一种场景训练一种模型,这样可以做成各种各样的模型开放给大家。应该会在今年9月中旬左右会开源给大家,希望我们在这里的一个尝试,已经一年多了,希望开源给大家一起去用。

这个Metis系统是我们使用的一个方式了。相当于把大家的一个时间序列数据报上去,在这里面做各种标注,应用不同的算法,这里面有阈值的算法可以使用,未来我们希望能够把我们这个平台开放给大家直接用。这个视频会后可以发给大家看一下,就是整个过程是介绍我们怎么做时间序列标注的一个过程。

前面讲到用AI的方式去解决我们时间序列异常预测的一个问题,断断续续做了一年多,其实目前也在我们这边,在我们自己的系统上全量开始上线了,效果还是挺不错的。

第二个想跟大家分享一个AI的问题是根因分析。做AI都听过根因分析,没听过根源分析。在业界里面,应该只有根因分析,但是我们自己实践过程中发现有一些区别。我们先分析一下根因是什么,我们怎么做的。第一个是我们不断找问题,优化问题的过程,比如以前我喜欢用洋葱,一层层剥开就能找到问题。后来发现不行了,随着多维的开始,不像洋葱一层层剥就好了,变成了很多的维度的组合,这是多维系统中相对特殊的服务,是腾讯的一个服务,首先先到这个服务,再分转到后面的服务,它的维度特别多。

比如说这里面我举其中的五个维度,APPID,命令字几百个,运维定位问题的时候,过去的做法,我们基本上是运维在里面不断点、不断找,看看哪几个维度的失败率最低,找这个问题。以前维度没这么多的时候还可以这么做,但是这种情况,基本上靠运维点已经做不到,我们想说AI有没有办法解决?首先是用决策树,建立一个决策树,把维度组合,不断分,那条路最大的就是问题组合的那个失败率就是最大的,在做多维度组合的判断的时候,效果很好,但是同时引出来一些问题。什么问题呢?第一是新产生的异常的识别,训练完之后相对模型固定,但是对多维来说维度不限制,往往我们增加或者是减少维度,新增加的东西往往会出问题异常,但是往往在老的维度里面没有,被基本忽略。出现这种情况的时候就失效了。第二个是成功率不变的情况下数量发生变化,对这个场景我自己都没关注过,我们做运维找问题的时候,一般看成功率失败率,变了就认为有问题,但是很少关注量,比如说失败率可能是0,代表说正常的情况下没有失败,但是量可能会发生变化,某一个量出现问题的时候,会产生变化,被埋没到大盘数据中,基本被忽视掉了。第三个是计算量巨大。后来换了一种方式,用广告学的手段做尝试。我首先还是举了一个例子,这是腾讯直播的一个例子。

腾讯的直播里面已经接入很多的用户,比如说虎牙、YY,全是接入腾讯的直播平台上,但是出了问题,直播平台出问题,运维定位问题很痛苦,不知道哪个业务出了问题,也不知道是哪个域名,也不知道是国内还是国外,我们通过前面的多维的方式,结合新的根因分析的方式,这是一个案例。比如说有三个问题,我们系统自动分析出来的组合,可信维度的组合。比如说虎牙、YY出了问题,这两个推流域名出了问题,我们和人工研发去对,真的就是这个问题。这三个例子都差不多,都是一样的例子。那么原来在我们定位这些问题的时候,不断的去组合,但是现在系统可以自动的从中找到哪几种组合是最可疑的,对我们运维定位问题来说,特别复杂的场景定位问题,效率提升也是非常巨大的。

这个是引入新的算法,比如说这个是正常曲线下应该产生的样式,这个线是电信、联通和移动的数据,正常是这样子的,但是出现异常的时候会发现不一致的地方。比如说移动的失败率这么高了,发生问题的可能性就很大。那么第二个是解释力度值,下面横轴是省份。比如移动的数据,其中四个省份和其他省份的失败率的比例不一样,这四个省份的根因的贡献率就更大,通过这两个算法可以做组合,很快能找到,两种三种或者是四种组合造成了问题。

这样我们通过新的算法之后,当出现问题的时候,系统会自动给到一个组合结果,告诉你这两种组合,这里是APPID,这里是访问码,告诉你这里有问题。系统可以引导用户点进去看,如果这两个失败率和成功率出现了最大的波动,就可以很快找到根因。

我又截了一张图,到底什么东西是成功率和失败率不变,但是量在在发生变化。平时量是不变的,但是出了问题量就变化了,这种以前常常被忽略,但是现在可以纠出来。

分享两个案例。到目前为止我不太知道哪家企业去做阈值,但是2016年我们做了,效果不错。建议大家尝试一下在各自的团队和企业中尝试一下DevOps的概念。通过AI的方式,就是我们前面的开源的学件,可能有86%左右,招回率也可以达到一个能让人让接受的一个水平。第二个就是多维,我们认为多维的分析手段应该是未来运维在排查问题中最主要的一个手段。但是定位问题的效率确实不太高,咱们也分享一下用AI的方式能帮助我们快速在多种维度组合中找到最有可能的可用维度的组合。两个案例结合我们两个AI的落地,跟大家分享一下。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读