三大通用核心套件帮你构建智能运维体系

2017年在线技术分会——运维/DevOps在线技术峰会上,来自阿里基础架构事业部大数据SRE团队的池枫分享了构建通用化智能运维体系的实践。他主要介绍了智能运维体系的设计以及通用核心套件,从T-flow操作执行、ICS事件连接、IAS智能分析三个核心套件的实际案例出发详细介绍了阿里的运维经验。

 

以下内容根据直播视频整理而成。

 

发展历程

上图的上方是大数据SRE团队运维的产品,几乎包括了所有阿里巴巴使用的大数据产品。下方是运维模式的发展历程,经过了:人工脚本化、工具整合、自动化平台、智能运维体系。承载这些服务的集群规模、服务器规模已经从一开始的K左右发展到如今的近百K左右,分布在所有阿里巴巴的IDC即生产网络域中,业务的种类和业务的形态各不相同。特斯拉智能运维体系下的主要核心运维场景包括环境管理、操作执行、需求处理、时间连接、事件分析、故障预测。各行各业都希望AI能够在自己领域落地,而在运维领域AI有比较现实的需求和比较具体的应用场景。智能运维必须在一个体系化的产品之上,强调的是从监控到分析、到执行整个过程的无人化甚至超人化,突出的是系统的自治能力和预知能力,这个目标比较长远。

智能运维体系设计

横向上,将产品分为四种类型:执行类,直接操作系统,应用程序,硬件,网络的产品;分析类,实现运维人员思考问题,分析需求,排查故障的产品;连接类,实现分析与执行产品驱动与反馈的连系产品;展现类,将智能平台的状态以多种可视化的方式表达出来。

从业务的纵向分层上,在特斯拉体系的内部又分成两个层次:下层是运维Paas层服务,上层是面向终端客户的Saas层服务。在特斯拉体系外部,依托于整个集团的运维Paas服务。

通用核心套件

T-flow操作执行

T-flow是最基础的Paas服务,设计之初是用来替代运维人员的双手。首先将运维操作抽象成一个对象,发现其三个关键的属性(where、what、how),T-flow就是用来实现抽象、封装、实例化的产品。

上图总结了用户在系统上操作的场景:在一个系统目标中按照顺序执行操作、在不同系统目标中按照顺序执行操作、在不同的系统目标中并发的执行操作。为此,设计了simple flow模型来适应这三种场景。

如何构建T-flow模板?用户首先需要配置这些节点中操作的内容,然后配置模板需要输入的参数(T-flow支持多种文本类型的输入),将操作和参数内容进行配置绑定。希望用户只需要关心局部代码逻辑的实现,从全局上面关注整个运维事件。

一次中等规模的应用运维事件往往会牵涉多个应用,任务种类、任务执行方式都不相同,所以在simple flow的基础上又封装了一层多任务、多应用的操作类multiflow,上图共有4种simple flow,每一个方块代表在一个应用上的一个实例,开始执行之后就可以看到每个步骤执行的状态。

UpgradeRegionServer案例

上图是实例的执行界面,中间的绿色方块代表节点,点击每个节点之后会在下方显示节点具体的内容。这是生产上hbase集群热升级的案例。为了适应应用中的服务是热升级的场景,开发了迭代器功能,实现一批服务器上按照顺序执行相同的指令,用户只需要配置同样的指令、输入目标集群参数,系统就可以自动生成节点。

shrek-drc-alipay案例

该案例的步骤只有三步,每个步骤中使用了并发器组件(在一批机器上并发执行脚本命令),提供了灰度和正式批的区分,提供了并发数可配置的功能,并且异常节点可以很清楚的显示在界面上。

并发器的具体内容如上图所示,三个步骤都是推送文件到目标服务器上的操作。

FlightingUpdate案例

此案例是multiflow的实例,在第一个大步骤中有12个simple flow实例,可以清晰看到每个实例的执行状态和执行方式。

ICS事件连接

事件包括监控事件、故障分析、流程事件,服务包括脚本分析、T-flow实例执行、Noc通知等。通过ICS的使用,可以使简单的运维事务实现闭环。比如在ICS上配置监控事件并且配置其修复方案就实现了故障自愈的场景。ICS能够将我们关注的,而且是确定能够通过自动化方案解决的事务形成一个简单的智能处理闭环,减少了人工处理过程中的消耗。

上图是ICS的架构图,整体分为三个部分:触发器、事件处理、执行器。ICS的触发器和执行器采用了插件化的方式去实现业务连接。事件处理模块充分考虑了事件的抑制、冲突等机制,保证了整个ICS处理的稳定性、可靠性。

分布式文件系统一副本高危自愈案例

首先是高危事件的配置,事件触发的来源可以有很多种,监控、文件分析等,采用了从监控的源头获取事件。当选择了监控事件之后,需要配置监控来源的应用、事件的抑制处理方案、异常处理的逻辑。下一步是配置事件修复的执行器。最后,将触发器和执行器进行连接,生效之后ICS平台就会关注这个事件。如果有事件发生就会启动执行器进行处理。

IAS智能分析

IAS预期目标包括:实现问题分析、发现潜在问题、进行决策分析。

IAS1.0(图分析平台)

该版本实现了问题排查的自动化,通过DAG决策来模拟人排查定位问题的过程。在此基础上,还要根据用户的实际需求情况完善整个流程。图中的每一个节点代表用户的分析逻辑,由用户来实现,边代表各个节点之间的依赖关系,边上的条件可以通过用户需求进行配置。

上图是使用IAS的案例,界面为IAS模板的配置界面。首先需要建立流程模板,最中间是核心的分析流程,包含了两类节点,蓝色为分析节点,黄色为结论节点。左边是整个流程定义的全局变量,每个节点都可以去修改全局变量的内容。当我们点击任何一个分析节点之后,就可以在右边的详情面板上展示出其内容。

展望及发展计划

特斯拉体系中除了运维Paas组件之外,还有面向客户的Saas服务,这些服务对运营效率的提高也是巨大的。运维工作需要沉淀,即对运维过程的格式化,只有格式化之后才能产生数据。只有格式化的数据才能作为数据分析、挖掘的依赖。通过tesla运维体系的建设使得运维更加主动,使运维有时间去做更深层次的、更高价值的工作。运维智能化的大潮刚好是改变运维价值的很好机会,将运维从低价值的工作中解脱出来,起到更重要的作用。

时间: 2025-01-21 00:52:38

三大通用核心套件帮你构建智能运维体系的相关文章

《Splunk智能运维实战》——导读

前 言 在这个以科技为中心的世界里,各式各样的机器产生了大量的数据.Splunk因此推出了业内领先的大数据智能运维平台--Splunk Enterprise.这个强大的平台能让用户将机器数据转化为可操作的.非常重要的运维智能. 本书融合了各种实用方法,旨在提供指导和实用知识,以便使读者掌握Splunk Enterprise 6的各种功能,从数据中提取出强大而重要的运维智能. 本书通过简单易学.循序渐进的操作技巧,教授读者如何有效地收集.分析并创建所在环境的运营数据报表.这些技巧将展示如何加快智能

清华裴丹分享AIOps落地路线图,看智能运维如何落地生根

大家上午好,非常荣幸,能有这个机会,跟这么多的运维人一起交流智能运维.最近这两年运维里面有一个很火的一个词叫做AIOps(智能运维),并且有一小部分人一往无前的投入到AIOps中去了, 但是更多的人都还在持观望态度,因为大家内心中还存在一个无法回避的问题:AIOps到底在自己的场景下怎么落地?所以今天我要跟大家分享我认为的AIOps落地应该遵循的路线图.既有技术路线图,也有战略路线图.这虽然不是唯一的一个路线图,但这是我今后十年会不断努力.专注和迭代的一个方向,希望为那些对AIOps感兴趣的朋友

Garena黄智凯:Docker构建自动化运维

文章讲的是Garena黄智凯:Docker构建自动化运维,本文根据[2016 第七届中国数据库技术大会](微信搜索DTCC2014,关注关注中国数据库技术大会公众号)现场演讲嘉宾黄智凯老师分享内容整理而成.录音整理及文字编辑IT168@ZYY@老鱼 讲师简介 来自新加坡最大的互联网公司Garena,曾就职于新浪和奇虎360,DBA背景成长的他同时一直致力于运维平台自动化的建设和创新 正文 大家好,我是来自Garena公司的黄智凯,大家可能对Garena比较陌生,Garena最开始做游戏运营,现在

中亦科技发布“智能运维”战略 实现IT资源全面有效管控

<三体>这本小说很多人都看过,其中有这样一句话"当高维文明灭绝低维文明时,我毁灭你与你无关".随着时代的变革,IT的发展给各行各业带来了巨大的冲击,不断推动着企业业务的发展.但当企业IT部门推出一款新产品时,产品落地后的稳定性是至关重要的,如何才能避免人工错误的产生,提升后台运营能力是企业IT部门一直在关注的问题. 10月19日,中亦科技发布了云服务管理平台(EVO-Cloud)和自动化运维管理平台(EVO-AIMS)两款"智运维"的产品.其中,云服务管

MySQL智能运维与实践,看关系型数据库如何优雅应对云时代

随着互联网场景的导入,非结构化的海量数据给传统数据库的处理能力带来了极大的挑战,作为最受欢迎的开源关系型数据库,MySQL一步步地占领了原有商业数据库市场.如今Google.Facebook.网易.淘宝等大公司都在使用MySQL数据库.而MySQL的发展也从1.0到如今的8.0版本,其功能的完善和稳定性也得到了很好的保证. 本文包含以下三部分: MySQL8.0 的新特性 云时代MySQL的运维实践 金融行业最佳应用场景 今年8.0版本将会带来哪些惊喜呢? MySQL 8.0 新特性一览 1.I

裴丹教授采访|如何实现智能运维及对运维行业的未来展望

编者按 裴丹教授,清华大学计算机系长聘副教授,主要研究领域是基于机器学习的互联网智能运维,深耕此领域15年,发表了80余篇学术论文和20余项美国专利.裴教授同时还是国家青年千人计划,美国UCLA博士,曾任美国AT&T研究院主任研究员,也是ACM 和 IEEE的Senior Member. 裴教授也是本次中生代&飞马网年度技术大会(北京)的运维专场出品人.小编有幸先行对裴丹教授进行了采访,如果你也非常期待见到裴教授并跟他进行深度交流,一定不能错过即将举行的年度技术大会. 访谈实录 裴教授,很

当DevOps遇见AI,智能运维黄金时代即将开启?

    人工智能应用的分类 很多情况下人工智能无法给出 100% 正确的回答(其实人类也是一样的),如何找到人工智能善于解决的问题就成了首要的任务. 人工智能应用可以分成三类: 核心业务,失败不可接受. 医疗,银行,法律. 核心业务,失败率可接受. 自动驾驶,自然语言理解. 非核心业务,对失败不敏感. 用于改善用户体验. 从人工智能发展和应用的过程来看,通过对感知的模拟,帮助人类做决策,直到完全 代替人类处理大量重复的数据方面的工作. 另一方面,由 巨大商业利益 推动的人工智能将很快成为现实,自

《Splunk智能运维实战》——第1章 游戏时间——导入数据 1.1 简介

第1章 游戏时间--导入数据 1.1 简介 加快运维智能的机器数据有很多不同的形式,来源也各不相同.Splunk可从多种来源收集并索引数据,其中包括Web服务器或商业应用程序创建的日志文件,网络设备生成的系统日志数据,及自定义开发脚本输出的数据.即便数据一开始看上去很复杂,我们也可以借助Splunk轻松地实时收集.索引.转化和呈现数据. 本章将学习一些基本的技巧,掌握如何将所需的数据导入Splunk,介绍如何使用样本数据集来构建自己的Splunk智能运维应用程序.该数据集是由一个虚拟的三层式电子

《Splunk智能运维实战》——1.7 为本书加载样本数据

1.7 为本书加载样本数据 Splunk索引的数据大部分都是实时接收的,但在一些情况下,我们想向Splunk导入一组数据,以便回填缺失丢失或不完整的数据,或者仅仅利用Splunk的搜索和报表工具. 本节将学习如何在Splunk服务器上一次性批量加载本地数据.我们将加载样本数据,并在随后的章节使用它来构建Splunk智能运维应用程序. 样本数据由两个文件组成.第一个文件是access_log,它代表Web层的数据,模拟的是Apache Web服务器.第二个文件是app_log,它代表应用程序层的数