[关闭]
@gaoxiaoyunwei2017 2018-03-21T15:02:49.000000Z 字数 5610 阅读 658

企业级 AIOps 实施建议 白皮书!

刘策


联合作者:萧田国、赵建春、周荣、胡飞雄、张戎、孙培、陈亚殊、刘洋、许斯亮等。

一、整体介绍

注:部分内容节选自裴丹教授相关资料。

AIOps,即 Artificial Intelligence for IT Operations,智能运维,将人工智能应用于运维领域,基于已有的运维数据(日志、监控信息、应用信息等),通过机器学习的方式来进一步解决自动化运维没办法解决的问题。

早期的运维工作大部分是由运维人员手工完成的,这被称为手工运维或人肉运维。这种落后的生产方式,在互联网业务快速扩张、人力成本高企的时代,难以维系。

这时,出现了自动化运维,用可被自动触发的、预定义规则的脚本,来执行常见的、重复性的运维工作,从而减少人力成本,提高运维效率。自动化运维可以认为是一种基于行业领域知识和运维场景领域知识的专家系统。

随着整个互联网业务急剧膨胀,以及服务类型的复杂多样,“基于人为指定规则”的专家系统逐渐变得力不从心。自动化运维的不足,日益凸显,这也为 AIOps 带来发展机遇。

AIOps 不依赖于人为指定规则,主张由机器学习算法自动地从海量运维数据(包括事件本身以及运维人员的人工处理日志)中不断地学习,不断地提炼并总结规则。

AIOps 在自动化运维的基础上,增加了一个基于机器学习的大脑,指挥监测系统采集大脑决策所需的数据,做出分析、决策,并指挥自动化脚本去执行大脑的决策,从而达到运维系统的整体目标。

AIOps 基于自动化运维,将 AI 和运维很好的结合起来,其需要三方面的知识:

1、行业领域知识:应用的行业,如互联网、金融、电信、物流、能源电力等,并熟悉生产实践中的难题;

2、运维场景领域知识:包括异常检测、故障预测、瓶颈分析、容量预测等;

3、机器学习:把实际问题转化为算法问题,常用算法包括如聚类、决策树、卷积神经网络等。

AIOps 和 DevOps 两者并不冲突,企业级 DevOps 涵括包括运维在内的整个软件生命周期,AIOps 是 企业级 DevOps 在运维(技术运营)侧的高阶实现。此部分可具体参考《研发运营一体化能力成熟度模型》。

AIOps 是运维的发展必然,是自动化运维的下一个发展阶段。Gartner 相关报告预测 AIOps 的全球部署率将从2017年的10%增加到2020年的50%。其应用行业,除了互联网以外,还包括高性能计算、电信、金融、电力网络、物联网、 医疗网络和设备、航空航天、军用设备及网络等领域。

本白皮书综合国内领先的互联网公司、金融企业及 AIOps 解决方案提供方的相关经验,给出了一种企业级 AIOps 的AIOps 理论方法和生产实践,希望能帮助贵司快速、成功实施 AIOps。

二、AIOps目标、原则及能力框架

AIOps,通过对规则的AI化,将人工总结规则的过程变为自动学习并形成规则。

具体而已,对我们平时运维工作中长时间积累并形成的以规则为基础的自动化运维、监控等能力的规则配置部分做持续的、由单点应用到流程串联,再到整体运作的AI智能化去规则的自动学习改造,努力达到终极目标即无人值守的,质量、成本、效率三因素可以某种权重的方式,由AI调度中枢平衡,做到所运营系统的综合收益最大。

2.1、AIOps 目标

利用大数据、机器学习和其他分析技术,通过预防预测、个性化和动态分析,直接和间接增强IT业务的相关技术能力,实现所维护产品或服务的更高质量、合理成本及高效支撑。

2.2、AIOps 指导原则

image.png-714.9kB

2.3、AIOps 能力分级

AIOps的建设可以先由无到局部单点探索、再到单点能力完善,形成解决某个局部问题的运维AI“学件”,再有多个具有AI能力的单运维能力点或学件组合成一个智能的运维流程,如智能化的监控预测及告警,免干预的自动化扩缩容,免干预的性能调优、免干预的成本组成调优等。

具体可描述为5级:

1)开始尝试应用AI能力,s还无较成熟单点应用

2)具备单场景的AI运维能力,可以初步形成供内部使用的学件

3)有由多个单场景AI运维模块串联起来的流程化AI运维能力,可以对外提供可靠的运维AI学件

4)主要运维场景均已实现流程化免干预AI运维能力,可以对外提供可靠的AIOps服务。

5) 有核心中枢AI,可以在成本、质量、效率间从容调整,达到业务不同生命周期对三个方面不同的指标要求,可实现多目标下的最优或按需最优。

image.png-992.6kB

2.4、AIOps 能力框架

image.png-2831.7kB

注:“学件”(Learnware)一词是南京大学周志华老师的原创,学件(Learnware)= 模型(model)+规约(specification),具有可重用、可演进、可了解的特性。

很多人可能在自己的应用中已经建立了这样的模型,他们也很愿意找到一个地方把这些模型分享出去。那以后一个新用户想要应用,也许不用自己去建立一个,而是先到“学件”市场上找一找有没有合适的,可以拿来使用修改。因为学件是在专家基础上建立的,所以比较容易得到专家级的结果,又因为共享出来的是模型,所以避免了数据泄露和隐私泄露的问题。

部分关键场景的能力分级方法:

image.png-1181.2kB

故障处理场景 -> 质量保障方向
容量管理场景 -> 成本管理方向
部署变更场景 -> 效率提升方向
服务咨询场景 -> 效率提升方向

部分关键场景的能力支撑框架:

image.png-1354.1kB

三、AIOps平台能力体系

AIOps的工作平台的能力体系主要功能是为AIOps的实际场景建设落地而提供功能的工具或者产品平台,其主要目的是降低AIOps的开发人员成本,提升开发效率,规范工作交付质量。

具体的工具或者产品应具备以下功能或模块:

1、交互式建模功能

该功能支持用户在平台上交互式的进行模型的开发调试,通过简单的方法配置完成模型的构建。

2、算法库

用户可以在算法库中找到常见常用的算法直接使用,算法按照用途分类,以供用户方便的使用。

3、样本库

样本库用于管理用户的样本数据,供用户建模时使用,支持样本的增删改查等基本操作。

4、数据准备

该功能支持用户对数据进行相关的预处理操作,包括关联、合并、分支路由、过滤等。

5、灵活的计算逻辑表达

在基本常用的节点功能之外,用户还需要自由的表达一些计算逻辑,该需求主要是通过让用户写代码或表达式来支持。

6、可扩展的底层框架支持

平台本身要能够灵活的支持和兼容多种算法框架引擎,如Spark、TensorFlow等,以满足不同的场景以及用户的需求。

7、数据分析探索

该功能是让用户能够方便快捷的了解认识自己的数据,用户只有基于对数据充分的认识与理解,才能很好的完成模型的构建。

8、模型评估

对模型的效果进行评估的功能,用户需要依据评估的结论对模型进行调整。

9、参数以及算法搜索

该功能能够自动快速的帮助用户搜索算法的参数,对比不同的算法,帮助用户选择合适的算法以及参数,辅助用户建模。

10、场景模型

平台针对特定场景沉淀的解决方案,这些场景都是通用常见的,用户可以借鉴参考相关的解决方案以快速的解决实际问题

11、实验报告

模型除了部署运行,相关挖掘出来的结论也要能够形成报告,以供用户导出或动态发布使用。

12、模型的版本管理

模型可能有对个不同的版本,线上运行的模型实例可能分属各个不同的版本,版本管理支持模型不同版本构建发布以及模型实例版本切换升级等。

13、模型部署应用

模型构建完成后需要发布应用,模型部署应用功能支持模型的实例化,以及相关计算任务的运行调度管理。

四、AIOps 团队角色

AIOps作为一个团队,由不同角色组成,一般有三种不同角色,他们是运维专家、数据科学家、智能运维研发工程师,以下介绍三种角色分工:

1)运维专家

特征:具有丰富的运维领域知识、熟悉较为复杂的运维问题、具备解决运维难题能力。

职责:运用机器帮助运维人员完成基础性和重复性的基层运维工作;人工处理机器还不能处理好的运维难题;基于经验对于较为复杂的运维问题给出最终决策--不断训练机器。

2)数据科学家

特征:具备编程、数学、统计学、数据可视化、机器学习等能力。

职责: 致力于智能运维平台架构、模型标准、数据分析方法;不断应用最新的机器学习技术设计优化智能运维算法;监督智能运维系统性能并实施优化和改进。

3)智能运维研发工程师

特征:良好的开发语言基础、大数据处理技术能力。

职责:数据采集、自动化处理、实现和运用算法等。

五、常见应用场景

AIOps围绕质量保障、成本管理和效率提升的基本运维场景,逐步构建智能化运维场景。在质量保障方面,细分为异常检测、故障诊断、故障预测、故障自愈等基本场景;在成本管理方面,细分为指标监控,异常检测,资源优化,容量规划,性能优化等基本场景;在效率方面,分为智能变更、聊天机器人等基本场景。

image.png-630.1kB

5.1、质量保障方向

质量保障是运维的基本场景之一,随着业务的发展,运维系统也在不断的演进,其规模复杂度、变更频率非常大,技术更新也非常的快,与此同时,软件的规模、调用关系、变更频率也在逐渐增大。在这样背景下,需要AIOps提供精准的业务质量感知、支撑用户体验优化、全面提升质量保障效率。

image.png-563.4kB

5.2、效率提升方向

效率提升是运维的基本场景之一,随着业务的发展,运维系统的整体效率的提升就成为了运维系非常重要的一环。在这样的背景下,除了增加人力是远远不够的,还需要AIOps提供高质量,可维护的效率提升工具。

image.png-309.4kB

5.3、成本管理方向

成本管理方向是当公司内部的业务日益增多的时候,如何在保障业务发展的同时,节省不必要的开支,有效地控制成本。成本是每个企业都很关注的问题,现在业界的资源利用率普遍偏低,平均资源使用率能做到20%以上是很少的。AIOps通过智能化的资源优化,容量管理,性能优化实现IT成本的态势感知、支撑成本规划与优化、提升成本管理效率。

image.png-361.5kB

六、AIOps 实践路径建议

6.1、未实现自动化运维时

AIOps的开展,受限于自动化数据采集,网络、磁盘、成本方面的工作难以深入发展。建议聚焦质量保障的原子场景。

image.png-146.3kB

6.2、已经实现自动化运维时

详见如下

6.2.1、质量保障方向

image.png-168.6kB

6.2.2、效率提升方向

6.2.3、成本管理方向

image.png-100.1kB

七、实施及关键技术

实施阶段及关键技术如下,更多信息详见 即将于4月13日 GOPS2018深圳站即将发布的 《企业级AIOps实施建议》白皮书。

7.1、数据采集

数据采集负责将智能运维所需要的数据接入至AIOps平台,所接入的运维数据类型一般包括(但不限于)日志数据,性能指标数据,网络抓包数据,用户行为数据,告警数据,配置管理数据,运维流程类数据等。

数据采集方式可分为有代理采集以及无代理采集两种,其中无代理采集为服务端采集,支持SNMP, 数据库JDBC, TCP/UDP监听, SYSLOG, Web Service,消息队列采集等主流采集方式。有代理采集则用于本地文件或目录采集,容器编排环境采集,以及脚本采集。

7.2、数据处理

针对采集数据进行入库前的预处理,数据从非结构化到结构化的解析,数据清洗,格式转换,以及数据(如性能指标)的聚合计算,处理工作主要体现在几个方面:

1、数据字段提取:通过正则解析,KV解析,分隔符解析等解析方式提取字段

2、规范化数据格式:对字段值类型重定义和格式转换

3、数据字段内容替换:基于业务规则替换数据字段内容,比如必要的数据脱敏过程,同时可实现无效数据、缺失数据的替换处理

4、时间规范化:对各类运维数据中的时间字段进行格式统一转换

5、预聚合计算:对数值型字段或指标类数据基于滑动时间窗口进行聚合统计计算,如取1分钟CPU平均值

7.3、数据存储

数据存储是AIOps平台的数据落地的地方,可以根据不同的数据类型以及数据的消费和使用场景,可选择不同的数据存储方式。数据主要可分为如下几类:

1、数据需要进行实时全文检索,分词搜索。可选用主流的ElasticSearch引擎;

2、时间序列数据(性能指标),主要以时间维度进行查询分析的数据, 可选用主流的rrdtool、graphite、influxdb等时序数据库

3、关系类数据,以及会聚集在基于关系进行递归查询的数据可选择图数据库

4、数据的长期存储和离线挖掘以及数据仓库构建,可选用主流的Hadoop、Spark等大数据平台

7.4、离线和在线计算

离线计算:针对存储的历史数据进行挖掘和批量计算的分析场景,用于大数据量的离线模型训练和计算,如挖掘告警关联关系,趋势预测/容量预测模型计算,错误词频分析等场景。

在线计算:对流处理中的实时数据进行在线计算,包括但不限于数据的查询、预处理和统计分析,数据的实时异常检测,以及部分支持实时更新模型的机器学习算法运用等。主流的流处理框架包括:Spark Streaming, Kafka Streaming, Flink, Storm等。

7.5、机器学习

AIOps平台需要提供广而精的机器学习能力。即提供通用的机器学习算法供AIOps团队调试使用,也提供针对具体场景优化的定制算法。常见的AIOps机器学习算法技术详见即将于4月13日 GOPS2018深圳站即将发布的 《企业级AIOps实施建议》白皮书。

八、效果度量

详见 即将于4月13日GOPS2018深圳站即将发布的《企业级AIOps实施建议》白皮书。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注