【.com原稿】搜狗专注于搜索和输入法,技术实现背后有大量的人工智能技术。在这样一家主打人工智能技术的公司,搜狗的运维会面临怎样的挑战?本文将与大家分享人工智能在运维中的实际应用,以及搜狗在智能运维方面的实践。运维工程师遇到的三大痛点在谈智能运维之前,我们先来看看运维工程师普遍存在的三大痛点:愁成本、智商不够、烦成本。担心成本所谓担心成本,类似于相声的主题《扔靴子》——你不知道第二双靴子什么时候扔下来,你也不知道什么时候失败总会来的,所以你总是提心吊胆。7×24运维,经常有半夜接告警的情况。运维团队负责多个模块、机器、服务、业务等,如何保证它们的可靠性?并且每个业务都有自己的指标,比如响应时间、请求量、磁盘容量、网络IO等,这些指标可能会出现异常。目前业界一些常见的监控手段,有时会报出铺天盖地的告警,但这些告警未必能反映真实情况,着实令人沮丧。智商不足在运维过程中遇到需要处理的复杂故障,不能快速找到故障根源,不能很好的进行故障定位,所以觉得智商不够。恼人的成本搜狗里面有个明确的规定,运维工程师如果不做运维开发,是不会被提拔的。所以搜狗的运维经理不仅要履行保证在线可靠性的责任,还要进行自动化研发。因为责任,一旦线上出现问题,无论大小,第一时间咨询的都是运维人员,所以运维人员最容易受到打扰。大家都知道研发是可以做的,需要整块时间才能保证效率,减少失误。这样一来,基本上上班时间就不会有很多时间来研发了,实在是太烦人了。面对痛点,用“智能”解决这三大运维最基本的痛点。搜狗运维选择用“智能”来解决:对于成本的担忧,对于智商不够的情况,它是智能熔断器,对于烦人的成本,它是智能的故障定位,对于恼人的成本,它是智能的问答机器人”维多利亚”。智能熔断的思路,作??为运维人员面临的问题,往往是一个时序图,横轴是时间,纵轴是响应时间,CPU占用,网络IO。、磁盘IO等一系列指标,每个节点或机器有10个或20个指标。如果有几万台机器,几万个节点,就会有一百万张时序图。工程师需要对每一张图进行智能监控,发现异常随时上报。在股票、医药等领域,基于时间线的数据监控得到了广泛应用。股市用数据监测来预测股票的涨跌,医学可以用数据监测来预测疾病的发生时间。这些特点与运维高度相似。运维领域也以时间轴为纬度进行分析。目前有很多监控分析工具,最简单的比如设置一个固定的阈值或者周周比,但是这些工具还不够智能。智能熔断系统。目前,搜狗运维正在研发智能熔断系统,为应对忧虑成本而生,分析预测故障根源。失败的原因有两种:代码改动或者上线。这样的故障有很多,而且大部分都是人为造成的。现在基本上,智能在线平台可以自动启动,完全自主。就是机房、网络和硬件。面对独立上线的情况,如何保证平台的稳定性?下图为智能断路器的实现原理。搜狗引入了熔断机制。当某些指标上线或变化时,系统自动判断并进行熔断,如停止或回滚等操作。并结合其他一些智能设备,如熔断、停止、回滚等功能都可以在手机上操作。该系统可以解决大部分问题,如环境、代码、人为错误等。还有一个问题,就是有的研发人员水平不高,写好的代码一上线,指标出现异常,重启一段时间就好了。同时,研发人员表示目前没有精力去处理,所以暂时忽略。面对这种情况,有必要引入更深层次的人工智能话题。需要判断异常是被忽略的正常异常还是需要处理的异常。这就涉及到故障点的分类。智能故障定位搜狗搜索引擎架构非常复杂,下图只是该架构的冰山一角。在如此复杂的前后端连接情况下,当出现故障时,如何快速定位故障,如何减少花费的时间,如何判断告警的根源?搜狗的做法是将问题抽取成一个规则模板,即一套规则,然后根据具体的业务架构图进行分析,最终定位到具体的故障原因。一般的算法是每个探测请求携带一个ID,这个ID连接到各个模块。运维工程师分析request的ID在各个模块中的具体表现,根据这些规则模板检查是否是正确的规则模板集合,然后定位到系统,再根据规则模板进行决策这些规则模板的最佳情况。定位故障。甚至可以定位到它属于哪个模块的哪个节点,以便快速处理这个故障。如下图,右上角显示了各种模板的攻击状态,最后根据攻击状态进行判断。如果说保险丝系统是人工智能,那么故障定位就是人类智能。可以看出,核心功能是由人类智能编写的。每当出现一类问题时,将其编入知识库和故障分析模块,避免下次出现同样的故障。但是实际情况是,你在操作某个模块的时候,并不一定要看之前存在的问题和解决方法。搜狗的做法是将这些问题和知识固化到系统中,让机器人发挥作用。如上图所示的最终结果,web端和移动端都可以连接到一些故障。智能问答机器人“维多利亚的秘密”是搜狗内测的一款问答系统,旨在解决运维的第三大痛点——恼人的成本。运维工程师每天需要回答各种问题,花费大量琐碎的时间,而这项工作完全可以交给智能机器人。智能问答机器人“维多利亚的秘密”维密运维机器人内置于搜狗内部即时通讯工具,类似微信公众号,可实现直接问答。可以实现三大功能:智能查单,搜狗内部运维系统中有很多工单,当顾问输入工单号时,可以查询工单进度,类似于搜索快递单号,你输入快递单号显示快递状态。智能找人。顾问提出问题后,可能没有活跃的知识库(上面提到的知识库已经被运维工程师提前编辑整理好了)。机器人不能回答,但机器人可以判断问题属于哪个领域,然后推荐该领域的专家。如果你问的是关于硬盘的问题,会推荐硬件领域的专家来回答问题。顾问和专家之间的对话将被保存并作为机器进一步学习的数据。就是最常见的智能问答,顾问提出问题,机器人根据知识库直接回答。在研究过程中,如何低成本地用人工智能武装运维是一个值得思考的问题。我个人建议运维工程师挖掘真正的痛点,深入思考产生好点子,用好实习生和AI云。未来,搜狗的运维研究方法将扩展到基于决策树的故障根因定位、基于监控大数据和架构图的故障根因定位、故障处理过程中的机器决策、故障预测等。以上内容由王雪艳小编根据张波先生在WOTA2017《创新运维探索》中的演讲内容整理而成。张博现任搜狗运维部部长,负责搜狗全业务线的运维及运维自动化开发,搜狗内部云平台的研发运维,以及搜狗内部云平台的建设。搜狗AI开放平台。2006年加入搜狗,在搜狗做运维相关业务11年;在业务可靠性保障、运维团队管理、自动化运维、云产品开发运维、人工智能在运维领域的应用等方面具有专长。【原创稿件,合作网站转载请注明原作者和出处为.com】
