AIOPS案例学习-阿里巴巴构建通用智能运维平台

2024-03-02 20:08

本文主要是介绍AIOPS案例学习-阿里巴巴构建通用智能运维平台,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

视频:https://bbs.aliyun.com/read/324739.html?spm=5176.10695662.1996646101.searchclickresult.7da31cd6afrEzn

 

发展历程

上图的上方是大数据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运维体系的建设使得运维更加主动,使运维有时间去做更深层次的、更高价值的工作。运维智能化的大潮刚好是改变运维价值的很好机会,将运维从低价值的工作中解脱出来,起到更重要的作用。

要是你在西安,感兴趣一起学习AIOPS,欢迎加入QQ群 860794445

这篇关于AIOPS案例学习-阿里巴巴构建通用智能运维平台的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/767285

相关文章

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

一文详解如何从零构建Spring Boot Starter并实现整合

《一文详解如何从零构建SpringBootStarter并实现整合》SpringBoot是一个开源的Java基础框架,用于创建独立、生产级的基于Spring框架的应用程序,:本文主要介绍如何从... 目录一、Spring Boot Starter的核心价值二、Starter项目创建全流程2.1 项目初始化(

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

使用Python和python-pptx构建Markdown到PowerPoint转换器

《使用Python和python-pptx构建Markdown到PowerPoint转换器》在这篇博客中,我们将深入分析一个使用Python开发的应用程序,该程序可以将Markdown文件转换为Pow... 目录引言应用概述代码结构与分析1. 类定义与初始化2. 事件处理3. Markdown 处理4. 转

MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固 通俗易懂版)

《MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固通俗易懂版)》本文主要讲解了MySQL中的多表查询,包括子查询、笛卡尔积、自连接、多表查询的实现方法以及多列子查询等,通过实际例子和操... 目录复合查询1. 回顾查询基本操作group by 分组having1. 显示部门号为10的部门名,员

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Java使用Mail构建邮件功能的完整指南

《Java使用Mail构建邮件功能的完整指南》JavaMailAPI是一个功能强大的工具,它可以帮助开发者轻松实现邮件的发送与接收功能,本文将介绍如何使用JavaMail发送和接收邮件,希望对大家有所... 目录1、简述2、主要特点3、发送样例3.1 发送纯文本邮件3.2 发送 html 邮件3.3 发送带

Python结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization

使用Python实现表格字段智能去重

《使用Python实现表格字段智能去重》在数据分析和处理过程中,数据清洗是一个至关重要的步骤,其中字段去重是一个常见且关键的任务,下面我们看看如何使用Python进行表格字段智能去重吧... 目录一、引言二、数据重复问题的常见场景与影响三、python在数据清洗中的优势四、基于Python的表格字段智能去重