03.05 “AGI+运维”浅析(修订版)

前段时间,本头条号曾推出“AI+”系列文章,详细讨论了人工智能技术在各个领域的应用前景及优势。但在AI长河三起两落的洪流中,经常性的此AI非彼AI,而其中做通用人工智能的更加少之又少。

经过多年的完善,联动北方自研的通用AI模型已较为成熟,该模型具有多模态、多切面、多通道、稳定性强等特点,基于此通用模型,联动北方已经完成了包括智能运维、智能医疗、智能物联以及知识图谱在内的多个项目的落地。

故此,在原有文章的基础之上,联动北方推出修订版的“AGI+”系列文章,以联动北方通用AI模型为基础,详述通用人工智能AGI如何在各个领域发挥作用。

运维领域的现状

曾在网络上看过一个运维工程师吐槽的帖子,讲的主要是运维工程师是怎样看待运维工作的,下面是一些点赞数较多的答案——「运维是块砖,哪里需要哪里搬。不出问题你打杂,出了问题你负责」、「先研发之忧而忧,后业务之乐而乐;起早与贪黑齐飞,调休共假期待定,这就是运维」、「运维就像一场永不休止的战争,时而硝烟弥漫,时而安静的可怕;一个人倒下了,后面的人补上来,没有人能看到这场战争结束」、「机器是女朋友,随叫随到,虐我千百遍,还爱的死心塌地」。

“AGI+运维”浅析(修订版)

从以上吐槽可以看出,运维并不是一份轻松的工作,大体可以归纳为——事多、事杂、休假少。确实,提起运维工程师,很多人都会把他们和“消防员”联系起来。任何时候,只要系统出现故障无法正常运转,运维人员是第一个被询问的,同时也必须第一时间赶到现场“救火”,由于故障发生的不定期性,下一个问题不知道什么时候会出现,大多数运维人员必须24小时待命,以确保在故障发生后第一时间将其解决修复,其工作的艰苦程度可想而知。

时至今日,运维依旧不算一项轻松的工作,而导致这些“祖传的”痛点大部分原因在于技术的发展未跟上企业规模的扩张,我们可以从运维的发展历程窥知一二。

1、运维的定义

在介绍运维领域的现状之前,我们先回顾一下运维的定义。

通常情况下我们所说的运维,指的就是对产品的运营和维护,普遍在硬件设备和网络运行两个方向中应用较多,其核心目标是将交付的业务软件和硬件基础设施高效合理的整合,转换为可持续提供高质量服务的产品,同时最大限度降低服务运行的成本,保障服务运行的安全。

2、运维的发展历程

运维发展到现在,大致经历了三个阶段,分别是人工运维——自动化运维——智能运维。

“AGI+运维”浅析(修订版)

图:运维的发展历程

人工运维阶段,人均所需要维护的设备量较少,主要靠纯手工来完成日常的运维工作;到了自动化运维阶段,平均每人所需要维护的设备数量以及工作复杂度大大增加,工程师们开始编写一些自动化脚本来简化大量重复的工作,一些监控产品和管理工具也应需被开发出来,最终集成在一个平台上,大大提高了运维工作的效率;而到了数据大爆炸的今天,现有的自动化管理平台处理起来也捉襟见肘,人们的目光开始转向更强大的基于人工智能的运维。

3、传统企业和互联网企业对智能运维的发展需求

运维是各行各业都需要解决的一个问题,但是面对运维的态度,传统行业和互联网企业差别却很大。

在技术运维领域,有两个比较明显的现象:

首先,过去从事专业技术运维工作的人员大多定位为管理(Administrator),他们对各类产品的技术原理、命令操作、问题诊断、性能调优等都有相当深入的理解和掌握,其中不少骨干还通过了业界比较有影响力的专业认证。但是他们在开发技能方面好像比较欠缺,有些甚至对完成脚本编写这样任务都感到困难。

其次,传统企业和互联网企业在IT管理体系建设方面的做法也有明显差异。传统企业大都优先强调管理流程的建设,运维自动化建设工作则在其次,很多时候优先级还比不上测试自动化建设;而互联网企业呢,大都优先推进技术运维自动化建设,而后再逐步考虑管理流程体系的建设。

对于上述两个现象现象的产生,除了有企业文化和管理理念方面的差异之外,还有技术环境的差异以及IT规模和运维人员规模的差异。

“AGI+运维”浅析(修订版)

图:传统企业与互联网企业的区别

由此可看出,虽然智能运维的优点很多,但传统企业与互联网企业来说对于智能运维的需求程度差别很大。


人工智能在运维领域的应用

1、构成智能运维的三要素

人工智能要在运维领域发挥作用,应具备以下三个要素。

“AGI+运维”浅析(修订版)

图:智能运维的三要素

(1)数据采集与处理

数据的采集与处理是智能运维系统的核心,也是智能运维系统的基础设施。

采集对象:主要有三类,基础架构Server端的采集,主要是采集来自数据中心内的动力设备、IT硬件设备、日志、网络信息、容器、虚拟机等的信息;用户端的采集:从CDN、WEB、移动端,还有PC客户端产品的采集;应用端(软件层/服务层)的采集:Web服务器+App服务器的+文件服务器+负载均衡设备的。只有对以上三类对象进行了完整的采集,智能运维系统才是完整的、报警才是没有遗漏的。

采集数据:针对服务端主要是采集性能指标数据:服务器的CPU、内存,磁盘空间、网络消耗、日志等;针对用户端主要采集的是业务数据:流量、错误率、用户访问情况、操作信息、个性化操作记录等;还有一类是容易遗漏的,就是运维本身事件的信息:配置文件和服务器扩(缩)容操作。

数据处理:一般会把原始采集的各类信息转变为时间序列的数据或结构化的数据,便于运维人员进行分析、判断与处理。智能运维系统一般通过三种方式:即物理集群、业务维度和跨单一维度来做聚合计算,如要计算某一网站的点击率,点击率=点击量/展示量,采用跨单一维度计算就很方便。从而为管理人员提供运营分析、使用效果的估算。

运维工程师应多运用智能运维系统,不仅仅把它要当作是采集数据和报警的工具,还应当提高运维部署和运维的效率;让智能运维系统提供分析问题、解决问题的方法。

(2)异常自动检测与处理

传统监控系统对异常的检测手段主要有两种:一是通过设定恒定阈值,比如服务器的CPU使用率=10%就报警;二是同环比,比如PV环比下降>10%就报警,或是产品响应时间同比上涨>20%就报警。

传统监控方式的优点是简单、易懂;缺点是需要大量的工程师人力投入,监控配置工作量大、维护成本高,变更发布频繁。很多情况下传统监控方式对阈值的敏感度不够高,解决不了特定的问题。比如:在面对波峰突降与波谷突增、缓慢偏离阈值的设定;不断漂移的阈值范围,传统监控一般不易捕捉到这类变化的状态信息。

“AGI+运维”浅析(修订版)

图:异常自动检测模块

智能运维系统内置的异常自动检测模块可以提前对报警的数据进行分类,它采用了一种可判断数据是否具有周期性趋势的分类器来解决数据的周期性问题。如果数据具有很强的周期性特征,它就使用动态阈值设定法即采用动态时间窗口的阈值设定法来解决周期性数据的异常判断;如果数据分析后没有周期性特征,那么它就使用恒定阈值了。

全自动的异常检测系统难免会出现误报、漏报等情况,这就要求异常检测模块支持运维工程师的标注与反馈,可同时支持人为调整和系统自动参数学习(机器学习)调整,系统可自动根据工程师的标注或报警量的多少,进行参数训练,把异常检测参数调整到合理的范围。

异常处理的办法一般有三个:

时间序列数据分析。时间序列分析着重研究数据序列的互相依赖关系,实际上它是对离散指标的随机过程的统计分析。例如,记录了某地区第一个月,第二个月,……,第N个月的降雨量,利用时间序列分析方法,可以对未来各月的雨量进行预报;

局部回归方法。该方法主要适用于没有历史数据的情境,采用此方法能很快速地适应变化,找到突升突降的状态变化;

缓慢偏离的情形。将采集数据的频率延长,然后对比之前的数据,从中找出变化较大的值。

(3)数据可视化

运维的本质是数据可视化,数据可视化是辅助问题分析的良方。运维数据的可视化可以让用户快速看到想要的信息、辅助快速分析问题、解决问题,可以说是,运维的本质就是数据的可视化。

要做数据的可视化,首先需要建立数据的关联:产品服务层级的关联关系、服务模块之间的关联关系、运维事件与指标数据关联关系;其次需要建立指标数据与事件之间的关联:同模块数据,部署同机房不同模块的数据,同指标维度的数据;同浏览器的数据;同版本号的数据,一切皆有关联。最后,对“数据立方体”操作切面:先选作一维数据做展示,再对二维以上的数据分析和数据可视化;然后对数据做上卷(向上聚合)和下钻(更细的粒度)处理;最后通过旋转,把维度切换出来。

数据可视化可以由热力图、事件流图、服务视图等多种方式实现,在具体应用中可以按照需求选择最优的显示方式。

2、完整的智能运维平台的功能结构

一个完整的智能化运维平台,要完成对设备的日常维护,至少需要具备以下三方面的功能,分别是事前预警、事中恢复和事后分析。

(1)事前预警

“AGI+运维”浅析(修订版)

智能化运维平台能够对应用及应用依赖的应用服务器、数据库、虚拟化环境、主机及网络等设施进行监控及故障预测,在这些监控资源发生故障之前,运维人员应该能在任意时间、任意地点接收到预警信息,同时智能运维平台也应提前对可能出现的风险做出智能化处理,在无人工干预或最少人工干预下把故障扼杀在摇篮中。

(2)事中恢复

“AGI+运维”浅析(修订版)

事中恢复,一个智能化运维平台很难覆盖全部监控资源,也很难覆盖全部可能出现的风险,所以故障发生后,智能化运维平台应该能够帮助运维人员快速定位问题,确保在最短的时间内帮助运维人员恢复业务,减少故障所带来的负面影响,这就是智能化运维平台所应具有的事中恢复功能。

(3)事后分析

“AGI+运维”浅析(修订版)

事后分析,智能化运维平台能够记录故障发生时,故障资源及其相关联资源状态信息,并利用这些信息进行分析、决策,然后将决策结果录入到决策系统当中,为事前预警提供决策支持,避免故障的二次发生。


AGI+运维

AGI对于运维的意义可以概括为两点,一是成本,二是效率。成本方面,AIOps可以节约成本、提高资源利用率;效率方面,AIOps可以做到及时发现问题,快速定位问题,从而提高解决问题的速度。

AGI的另一大优势是基于理解,不同于传统平台单纯地通过机器学习总结规律再加以应用的模式,联动北方以自有通用AI模型为基础,引入知识图谱等技术,打造了基于理解的智能运维平台。

当前,联动北方已采集数百个软硬件产生的错误信息,为IT运维信息提供基础字典,已构建完成领域性知识基准库。实际应用中,可为用户提供重要的产品信息以及相关的行动建议,协助一线运维工程师分析、解决问题或采取相应的应急措施。

“AGI+运维”浅析(修订版)

下面以联动北方AIOps为例子,简单介绍AGI给运维平台带来的优化。

“AGI+运维”浅析(修订版)

联动AIOps平台可以清晰且多样化地展示监控的数据,包括配置、作业以及告警等。用户登陆后,能在门户首页直观地看到系统的运行情况,方便工程师进行实时监控和异常发现。此外,不同岗位的用户还可以根据自己的需求选择不同的数据展现形式,满足多样化的需求。

此外,为应对日常运维工作,联动AIOps平台集成了包括配置管理、监控管理以及作业管理等多项功能,在此基础上,结合了大数据和知识图谱等新兴技术,开发智能运维等模块,将智能赋予运维,让AI真正融于运维工作当中。

1、配置管理

“AGI+运维”浅析(修订版)

配置管理(CMDB),也称资源管理模块,默认是预置的资源模型和拓扑关联关系,而智能资源模型可根据业务需求动态调整,如新增模型、新增模型属性、关联关系等。

对比固定的运维模型,智能运维系统的配置管理首要一个特点就是能灵活扩展,可自定义的运维模型。在运维操作中,存在多个运维对象,每一个运维对象之间又存在复杂的关联关系,AIOps配置管理系统能很好地处理这些模块间的关系,据用户需求来灵活拓展、建立与配置运维对象之间的关系的能力,以便更方便地去管理这些运维对象。

2、监控管理

“AGI+运维”浅析(修订版)

监控管理模块在整个运维系统当中担任着哨兵的角色,需要针对各个层面的监控覆盖,包括用户体验的监控、应用性能的监控、中间件监控、基础设施的监控,因为只有收集了全面的数据,才有可能从数据中寻找关联,从关联中发现规律,丰富运维知识库。此外,还应能根据异常规则判断异常情况并作出警报,一边及时处理故障。此外,除了一些常用的告警规则以外,联动AIOps平台还应能够自行添加所需的告警规则并通过大数据共享,全方位提升运维的价值。

3、作业平台

“AGI+运维”浅析(修订版)

作业是一系列运维操作的抽象定义,任何一个运维操作都可以分解成一步一步的操作步骤和操作对象,不论是发布变更还是告警处理,都是可以分步骤的。作业平台能够清晰地看到每个作业的执行请款,解放大量劳动力。此外,在作业执行异常的情况下,还可以为异常的原因打上标签,打标签可以根据错误输出关键字匹配自动分类或者人工归类,然后统计各种异常情况的比例,再重点分析并处理异常比例高的情况。从而进一步提高作业的正确率。

4、系统管理

“AGI+运维”浅析(修订版)

一个好的运维平台除了功能完备,还因该具有良好的操作性和可拓展性,可以多人协同操作。但是人多力量大的同时也可能出现权限混乱的请款,为防止此情况的发生,联动AIOps能监控用户的操作,适当开放用户的权限,以确保运维工作有序、正常地进行。

5、智能运维

除了内置基础运维功能,联动北方结合了知识图谱及大数据等技术,打造了基于理解的智能运维功能,包括智能自愈与智能诊断。某种意义上来说,这也是智能运维的精髓与灵魂所在。

智能自愈功能,其原理主要是通过主动预防故障产生从根本上减少故障、提高运维的效率。其主要流程为:对日志和数据中的关键字实时生成告警,反馈业务状态,实现应用层面的智能预警——根据预设阀值和历史数据,进行数据分析,发现异常情况,自动触发自愈动作——发起运维操作,进行任务编排,以消除告警,降低系统故障风险。

“AGI+运维”浅析(修订版)

智能诊断功能的主要作用则是为运维工作提供一个关联性强、灵活度高以及功能全面的系统诊断,从应用的整体、运维对象出发,分析其内在的关联,找到问题的源头并针对性解决,避免南辕北辙的情况发生。通过可视化的建模操作界面,用户可以动态地创建、修改和删除各节点之间的关系,从而搭建不同的关系网。

“AGI+运维”浅析(修订版)

此外,通过多方面的数据采集与分析,在分析过程中也能不断进行自身调整,让结果更加准确全面。


小结

随着企业信息化技术完善,日益增长的运维人力成本、运维标准的管理诉求、运维服务效率低下等现该阶段运维的通病逐渐暴露,人工智能运维未来取代传统运维是必然趋势。

在技术不断革新的背景下,运维人员的工作内容也会不断发生改变。人工智能到来之前,运维人员从事的工作是上线人肉操作,但是智能运维到来之后,运维人员可以更多地投入到有价值和创造性的工作中,比如智能运维引擎的研发,比如架构设计、开发以及新技术的评估和引入以更好地支持企业的业务创新等等,以此来帮助企业取得更好的发展。人工智运维不是取代,而是运维工作的升级,毕竟强大的不是人工智能,而是开发这些人工智能的人。


分享到:


相關文章: