热门标签 | 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。


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


推荐阅读
  • 在创建新的Android项目时,您可能会遇到aapt错误,提示无法打开libstdc++.so.6共享对象文件。本文将探讨该问题的原因及解决方案。 ... [详细]
  • Python第三方库安装的多种途径及注意事项
    本文详细介绍了Python第三方库的几种常见安装方法,包括使用pip命令、集成开发环境(如Anaconda)以及手动文件安装,并提供了每种方法的具体操作步骤和适用场景。 ... [详细]
  • 全面解析运维监控:白盒与黑盒监控及四大黄金指标
    本文深入探讨了白盒和黑盒监控的概念,以及它们在系统监控中的应用。通过详细分析基础监控和业务监控的不同采集方法,结合四个黄金指标的解读,帮助读者更好地理解和实施有效的监控策略。 ... [详细]
  • 离线安装Grafana Cloudera Manager插件并监控CDH集群
    本文详细介绍如何离线安装Cloudera Manager (CM) 插件,并通过Grafana监控CDH集群的健康状况和资源使用情况。该插件利用CM提供的API接口进行数据获取和展示。 ... [详细]
  • vivo Y5s配备了联发科Helio P65八核处理器,这款处理器采用12纳米工艺制造,具备两颗高性能Cortex-A75核心和六颗高效能Cortex-A55核心。此外,它还集成了先进的图像处理单元和语音唤醒功能,为用户提供卓越的性能体验。 ... [详细]
  • 对于许多初学者而言,遇到总线错误(bus error)或段错误(segmentation fault/core dump)是极其令人困扰的。本文详细探讨了这两种错误的成因、表现形式及解决方法,并提供了实用的调试技巧。 ... [详细]
  • 本文详细介绍了Java中实现异步调用的多种方式,包括线程创建、Future接口、CompletableFuture类以及Spring框架的@Async注解。通过代码示例和深入解析,帮助读者理解并掌握这些技术。 ... [详细]
  • 精选多款高效实用软件及工具推荐
    本文介绍并推荐多款高效实用的软件和工具,涵盖系统优化、网络加速、多媒体处理等多个领域,并提供安全可靠的下载途径。 ... [详细]
  • 本文探讨了如何通过一系列技术手段提升Spring Boot项目的并发处理能力,解决生产环境中因慢请求导致的系统性能下降问题。 ... [详细]
  • 本文深入探讨了 Delphi 中类对象成员的核心概念,包括 System 单元的基础知识、TObject 类的定义及其方法、TClass 的作用以及对象的消息处理机制。文章不仅解释了这些概念的基本原理,还提供了丰富的补充和专业解答,帮助读者全面理解 Delphi 的面向对象编程。 ... [详细]
  • 深入解析Hadoop的核心组件与工作原理
    本文详细介绍了Hadoop的三大核心组件:分布式文件系统HDFS、资源管理器YARN和分布式计算框架MapReduce。通过分析这些组件的工作机制,帮助读者更好地理解Hadoop的架构及其在大数据处理中的应用。 ... [详细]
  • C语言入门精选教程与书籍推荐
    本文精选了几本适合不同水平学习者的C语言书籍,从基础入门到进阶提高,帮助读者全面掌握C语言的核心知识和技术。 ... [详细]
  • 本文探讨了亚马逊Go如何通过技术创新推动零售业的发展,以及面临的市场和隐私挑战。同时,介绍了亚马逊最新的‘刷手支付’技术及其潜在影响。 ... [详细]
  • 本文由蕤内撰写,明亮公司出品,探讨了日本零售业在数字化转型中的现状与挑战。文章基于与两位在日本的投资人的深入对话,分析了日本零售业为何仍然依赖传统的POS机系统,以及中日两国在品牌建设和数字化营销上的差异。 ... [详细]
  • 题目编号:1473 时间限制:1秒 内存限制:128MB 提交次数:99 解决次数:60 ... [详细]
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社区 版权所有