当运维遇上AI,比你想象的更有魔力

前不久关于小学生就开始学习编程和接触机器学习课程的新闻,让人觉得时代变化已经远远超过预期了,回想我小学时,对于计算机也只是听说过而已,更谈不上人工智能(AI)了。

但其实,AI概念早在1956年就被美国达特默斯大学数学教授约翰·麦卡锡(John McCarthy)提出。近几年从AlphaGo到无人驾驶,从研发运维到智能运维,AI的应用百家争鸣。

AI的发展很大程度上得益于近几年互联网的发展,无论从算力还是数据方面来讲,其都在给AI发展提供必备的底层基础。

如今,基础数据以倍增的方式增长,日志数据以指数倍的方式增长。待5G和下一代互联网时代到来时,信息载体的变化会让数据以何种方式增长不得而知。可以看得到的是业务水平在不断增长,看不到的是数据爆发式增长的过程中迎面而来的各种挑战,但可以肯定的是,一成不变的服务方式终将会被淘汰

其中挑战主要包括运营质量、客户体验、业务稳定、快速解决问题等几方面。但这些挑战并不是数据增长模式带来的,而在于服务型公司永恒存在,对于负责该职能的人来说,数据的增长无一例外都在给现有模式带来冲击。

当客户变多时,为保障客户体验的要求随之增加,获取运营质量所需要的数据类型将被细分,而数据的爆发式增长将会以复杂多变的数据需求场景给数据存储和数据消费带来巨大的挑战。在业务数据不断细分的同时,业务的稳定性也将面临较多的不可控因素,如何降低客户投诉,如何在细分业务需求和不断增长的数据基础上提供稳定的服务,都是将要面临的挑战。

当问题不可避免的出现时,如何快速定位解决问题?

往往会有一些把控全局的顶尖专家能根据多年的经验较快速发现问题,但当问题频率爆发式增长时,新问题也在不断出现,无论是谁都将无能为力,因为依靠人已经无法解决所有问题了。

 

拿快速解决问题这个挑战举例,其下又细分了很多子项,每个子项目还有各自细分子项,且每个子项都是一个个细分问题,出现的频率也是超乎想象。

比如5xx(异常状态码)导致的问题,一个月的告警可以达到上万条,平均每个告警要报给3个人,每个月影响人的次数达到几万次,而且定位的时候还与个人的综合素质和经验相关。

此前,行业传统解决方案之一是特定画一个流程图(如下显示),通过流程的方式进行保障,少则10多项,多则可达40-50个子项,逐一排查问题,极其浪费时间和精力。并且一个5xx日志,一天的量级达到50亿,为了解决一个问题就存所有的数据,极大的浪费了存储空间和处理效率。

在现如今数据爆发阶段,可以从全量数据量大,存储查询困难; 问题定位效率低; 跟个人经验相关等三方面下手解决定位问题。      

 为解决上述三个问题,白山设计了一个问题定位的平台架构,定位问题需要的全量数据不做存储,通过spark流式实时分析,结合监控等其他必要数据,提取出特征集合,最大程度的降低数据量级之后分为两条线路(如下图显示)。

往下走,根据特征集和简单的逻辑测试做整体的问题展示。往右走,根据问题的排查结果,对特征集进行人工标记,积累样本,对新问题到来时,通过机器学习进行数据预测结果,通过问题展示给出证据,人工可以根据问题的展示逻辑和结论判断做正确性判断,并且能反馈到样本标记中,不断的增加样本库。

对于机器学习这条线,当专家不断的积累标记时,需要通过一个合适的算法来适配该模型,对于这种问题定位来说,都需要判断是否由其他因素导致,这属于分类问题。

在这里为大家对比了决策树和随机森林。

对于决策树来说,使用所有的样本生成一树,它总是从根开始到各个叶子节点,每个枝干是有据可询的,不过容易过拟合,训练的效果和实际预测的效果偏差较大。

随机森林是由多树组成,它的随机性体现在每树的训练样本是随机的,树中每个节点的分裂属性集合也是随机选择确定的,不易过拟合,我们使用的是随机森林。

    

综上,通过标记的样本点,其中的数据集对于5xx这个问题就包括了整个数据流里面最关键的数据,比如上层响应给边缘的响应时间,错误字段等等,然后进行数据清洗,把字符型的特征替换成int型,随机森林默认使用的是100颗树,训练的时候按序递增树的数量,和叶子节点,选出最大概率的参数,当前达到84%左右的准确率,在结果预测的时候,可以对每个结果都显示对应的概率,通过概率显示能给人更多的可选择余地,一定程度更加直观。

所以,最终的平台主要包括,特征集的显示,简单的问题排查流程涉及的内容展示用于给出证据,而机器学习给出定位结论,当定位错误时,提交的结果会自动把本次的特征集增加到标记中,进一步扩大样本量,对于5xx问题整体的结果可以用下图表示,还是解决上面提到的三个问题。

同样使用随机森林的还有质量定位分析

主要以监控数据为主,当客户反馈某个地区质量下降时,根据运营商和尽可能多的用户信息排查服务器基础性能是否异常,网络数据是否异常等等,然后根据异常值做可能性的判断,而客户往往不能提供非常详细的比如具体访问到哪台服务器,或者访问到哪个机房的信息,这时候人工查找数据的工作量将不断增加,导致响应客户的速度变得很慢。


 例如有一个客户反馈联通的质量下降了,具体哪个省份未提供,可以通过输入域名,显示联通各个组的请求数,占比这些是自动化显示与机器学习无关,给人比较好的体验,而定位到某个问题时,需要给出对应的结论,使问题有结论并且可解释。

大部分需要通过查看各种数据进行问题的排查,都能适用于该问题定位框架,不过每解决一个问题都需要该问题的专家对整个问题排查逻辑进行梳理,找出特征集合,进行标记,机器学习的作用主要还是一定程度上提高准确性,省去人工判断,查找因个人经验不同导致判断结果出错的问题等。

当然应用场景不仅仅是问题排查,而是在质量,效率,成本上都有实际的使用场景,当前机器数量的增多,各个节点的服务能力不同,如何针对不同的客户推荐不同的服务器或者节点,以及需要对机房进行服务能力评价,可以通过历史的服务数据进行分析来针对性的推荐,故障定位只是查到问题,还需要打通自愈的环节。

但这不仅需要机器学习,而是整个底层平台系统的完善,各个环节交付都需要打通才能做到。根据节点质量和节点的成本对不同客户进行不同的推荐调度,这是一个永恒的话题,这些都是下个阶段解决实际问题时需要尝试的。

最后还是建议不论在解决任何问题时,不用把所有希望都寄托于AI,因为它能解决问题中的一个环节就已经发挥它的价值了。

本文作者:HL,白山研发运维工程师,下一代互联网ipv6技术爱好者,CCIE网络认证专家。                                                                           

转载于:https://my.oschina.net/u/3468210/blog/2992559

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值