热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

揭秘人工智能下的搜狗智能运维实践

搜狗以搜索和输入法为主,技术实现背后有大量的人工智能技术做支撑。搜狗运维在这样一家以人工智能技术为主的公司中,将面临哪些挑战?本文将与大家分享人工智能在运维中的实际应用,


搜狗以搜索和输入法为主,技术实现背后有大量的人工智能技术做支撑。搜狗运维在这样一家以人工智能技术为主的公司中,将面临哪些挑战?本文将与大家分享人工智能在运维中的实际应用,以及搜狗在智能运维方面的实践。

一、运维工程师遭遇的三大痛点

再讲智能运维之前,我们先来看看,运维工程师常见的三大痛点:操心成本、智商不够、烦人成本

1.1、操心成本

所谓操心成本与相声《扔靴子》所表达的主题相似——你并不知道“第二双靴子什么时候扔下来”,同样你并不知道故障什么时候来临,所以你一直提心吊胆,惶惶不安

7×24运维,半夜经常会有收到警报的情况,运维团队负责多个模块、机器、服务、业务等等,如何保障它们的可靠性?并且每个业务都有自己的指标,响应时间、请求量、磁盘容量、网络IO等等,这些指标都可能发生异常。

目前业界一些通用的监控手段,有时会铺天盖地报警,但这些报警不一定能反应真实的情况,真是让人操碎了心

1.2、智商不够

当运维过程中遇到比较复杂的故障需要处理的时候,不能很快的找到出现故障的根源,很好地进行故障定位,感觉智商不够用。

1.3、烦人成本

在搜狗内部有一条明文规定,如果运维工程师不做运维开发,不予升职。所以搜狗的运维经理除了履行保障线上可靠性职责的同时还要做自动化研发。因为职责在身,线上一旦出现问题,无论大小,运维人员是首先被问询的,所以运维人员最容易被打扰。

可做研发大家都知道,是需要整块时间才能够保证效率且减少出错。这样一来,上班时间基本上不会有大块时间来做研发,这样的状况真的很烦人。

二、面对痛点 用“智能”来化解

针对这三大做运维最基本的痛点,搜狗运维选择用“智能”来化解:

  • 针对操心成本,是智能熔断

  • 针对智商不够用的情况,是智能故障定位

  • 针对烦人成本,是智能问答机器人“维秘”

2.1、智能熔断的思路

作为运维人员所要面临的问题,往往是一张以时间为横轴的时序图,纵轴是响应时间、CPU占有率、网络IO、磁盘IO等一系列指标,这样的指标每个节点或机器都有一二十个。如果有上万台机器,上万个节点,那么就会有一百万张时序图,工程师需要对每张图做智能监控, 当发生异常,随时上报。

在股票、医学领域,基于时间轴的数据监控已被广泛应用。股市利用数据监控预测股票涨跌,医学可以利用数据监控预测疾病的发生时间,这些特点与运维有高度的相似性。

运维领域也是以时间轴为纬度分析,目前有很多监控和分析的工具,最简单如设定一个固定的阈值或者周同比,但这些工具还不够智能。

智能熔断系统。目前,搜狗运维正在研发智能熔断系统,是为应对操心成本而生,针对故障的根本原因进行分析和故障预测。

故障的原因有二

1、代码变更或上线,这类的故障非常多,而且大多都是人为造成的 ,现在基本上可以实现智能上线平台做自动上线,完全自主。

2、就是机房、网络和硬件等。

当面对自主上线的情况,如何保证平台的稳定?

下图是智能熔断的实现原理,搜狗引入熔断机制,当某些指标有发生上线动作、发生异动的时候,系统自动判断并做熔断,比如做停止或者回滚操作。并和一些其他的智能设备相结合,如手机上可操作熔断、停止及回滚等功能。这个系统能解决大部分问题,如环境、代码、人为误操作等等。

还有一个问题,就是一些研发人员水平不高,写出的代码在上线的瞬间,指标出现异常,但重启一段时间就好了。同时研发人员表示,当前没有精力去处理,暂时忽略。面对这种情况,就要引入更深的人工智能话题,要对异常进行判断,是已忽视的正常异常,还是需要处理的异常,这里就涉及到对故障点分类的问题。

2.2、智能故障定位

搜狗搜索引擎的架构非常复杂,如下图只是架构的冰山一角。在如此复杂的前后连接关系的情况下,当故障发生时,如何快速故障定位、如何减少用时、如何判断报警的根本原因呢?

搜狗的做法是把问题抽离成一个规则的模板,即一个规则的集合,然后基于特定业务架构图去分析,最终定位故障具体原因。

大致的算法是每一个探针的请求都带一个ID,这个ID在各个模块都是打通的。运维工程师分析这个请求的ID在每个模块里面的具体表现,根据这些规则模板看它是否命中设定规则模板,然后定位系统,再根据这些规则模板的命中情况做一个决策,将故障定位。甚至可以定位它是属于哪个模块的哪个节点,这样就可以快速的去处理这个故障。

如下图,右上角是各种模板命中的情况,根据命中情况做最终的判断。

如果熔断系统是人工智能的话,故障定位就是人肉智能,可以看到核心功能都是由人肉智能编纂出来的。每当出现一类问题,就编入知识库和故障分析模块,避免下一个同样的故障发生。

但实际情况是,大家在操作某一个模块时, 不一定会去看之前存在的问题和解决方案。搜狗的做法是把这些问题与知识固化到系统里,让机器人发挥作用,如上图的最终结果展示,包括Web端和手机端,都可对接一些故障问题。

2.3、智能问答机器人“维秘”

这是一个问答系统,已在搜狗内部开始内测,也是为了解决运维的第三个痛点——烦人成本。运维工程师每天需要解答各种各样的问题,需要花费大量的琐碎时间,而这个工作完全可以交由智能机器人来解决。

智能问答机器人“维秘”

维密运维机器人,构建在搜狗内部的即时通讯工具中,类似微信公众号,可实现直接提问与回答。

它可以实现三项功能

1、智能查单,在搜狗内部运维系统有很多工单,当咨询人员输入工单号,就能查到工单进行到哪一步了,类似于搜索快递单号,你输入快递单号就能显示快递状态。

2、智能找人,咨询人员提问后,可能并没有命中知识库(上文中提到的知识库已由运维工程师提前编辑和整理),机器人没法回答,但机器人可以判断这个问题是属于哪个领域,然后推荐此领域的专家,如问到硬盘的问题,则会推荐一位硬件领域专家解答问题。而咨询人员与专家的对话又将得以保存,并作为机器进一步学习的资料。

3、是最为常见的智能问答,咨询人员提出问题,机器人直接根据知识库来进行解答。

在研究的过程中,如何低成本用人工智能武装运维,是值得思考的问题。个人建议运维工程师挖掘真正痛点,深入思考产生好想法、并用好实习生和用好 AI 云。

未来,搜狗运维的研究方式将扩展到基于决策树的故障根因定位、基于监控大数据和架构图的故障根因定位、故障处理过程的机器决策以及故障预测等。

张博,现任搜狗运维保障部总监,负责搜狗所有业务线的运维保障及运维自动化开发,搜狗内部云平台的研发和运维,搜狗AI开放平台的建设。2006年加入搜狗,11年来一直在搜狗做运维相关业务;在业务可靠性保障、运维团队管理、自动化运维、云产品研发和运维、人工智能在运维领域的应用等方面都有所专长。

本文转载自公众号「51CTO技术栈」

更多相关文章阅读

基于 Docker 持续交付平台建设的实践

如何实现多维智能监控?--AI运维的实践探索

阿里万亿交易量级下的秒级监控

IT 运维的救赎——顺丰运维的理想践行

运维工程师除了穷,还有另一个共同点

DevOps 标准体系发布及权威解读

阅后即焚,Python 运维开发99速成

京东大规模数据中心网络运维监控之眼

IT 从业者必备的20个效率工具,亲测有效

腾讯赵建春:AI浪潮下的高效运维思考及实践

AI运维、爱标准 | GOPS2017上海站精彩实录【附PPT】

Jenkins创始人带您探访国内首届Jenkins用户大会(附PPT)


怎么证明你是 ansible 高手,并升职加薪?


参与「Ansible 的自动化管理」课程你将收获如下:


 1、全面透彻的掌握 Ansible

2、获得 Ansible 官方认证证书

 3、优先获得大厂推荐就业机会


Ansible 官方认证证书


与众多 Ansible 使用者共同交流请扫描下方二维码



超过一百人请添加小助手微信进群:13261885689;13021086339

本课程基于红帽® 企业 Linux® 7。


参与报名及课程详情、请点击阅读原文链接


推荐阅读
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • TiDB | TiDB在5A级物流企业核心系统的应用与实践
    TiDB在5A级物流企业核心系统的应用与实践前言一、业务背景科捷物流概况神州金库简介二、现状与挑战神州金库现有技术体系业务挑战应对方案三、TiDB解决方案测试迁移收益问题四、说在最 ... [详细]
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • 杭州PHP大厂有哪些(2023年最新分享)
    导读:今天编程笔记来给各位分享关于杭州PHP大厂有哪些的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
  • ICRA2019最佳论文  Making Sense of Vision and Touch: SelfSupervised Learning of Multimodal Representatio
    文章目录摘要模型架构模态编码器自监督预测控制器设计策略学习控制器设计实验结论和展望会议:ICRA2019标题:《MakingSenseofVision ... [详细]
author-avatar
狮子胯下
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有