写点什么

华为云 AIOps 实践全面解析

  • 2018-08-30
  • 本文字数:3178 字

    阅读完需:约 10 分钟

在如今的云计算时代,计算的云化和分布式应用给运维工作带来了很大的挑战,让人海战术在运维面前失灵,所以基于算法和机器学习的智能运维(AIOps) 必将是业务运维场景下的大势所趋。业界有个说法,公有云最后的竞争是基于运维能力的综合竞争。现在各大公有云服务商也都在积极探索 AIOps,此次我们采访了华为云应用运维域专家,为我们揭秘华为云的智能运维实践。

华为云的运维技术演进

华为云很早就在实践智能运维了,包括最早的 IaaS 运维,以及近几年的 PaaS 运维、服务洞察。只是之前的叫法不是现在谈论的“智能运维”,而是智能监控、应用分析、智能分析、自动诊断与调优、自动化运维等,华为云的 AIOps 在 SRE 和云服务中都有应用和实践。

前几年,华为云主要聚焦在企业云、私有云、混合云等建设,运维能力建设围绕数据中心,在统一运维架构、运维研发化的基础上,重点发展运维的标准化、自动化和智能化。

2017 年华为 Cloud BU 成立,正式进入公有云市场。在这个阶段,SRE 在统一运维架构基础上,整合了各种运维工具,形成了公有云管理面的统一运维。与此同时 APM、AOM、CES 等云服务直接面向云租户提供应用运维能力。

华为云专家认为,传统运维和 AIOps 是紧密联系的,在数据分析层面二者也有些重叠区域,并且 AIOps 也依赖传统运维的数据基础、计算处理等。二者之间的区别主要体现在数据规模和实时性上。当云实体的规模扩大、应用栈的多样化、应用架构的容器化、微服务化后,运维对用户体验管理和业务高可用性越来越不可知性。而云服务对监测的实时性、反馈控制的及时性、故障预测、故障自愈等要求也是 AIOps 所擅长的。

如何使用 AI 利器

在华为云专家看来,针对不同的产品或者项目,构建 AIOps 所依赖的关键技术有所不同,比如企业资源故障预测项目与公有云上的应用性能监测服务就有比较大的区别。以广义的 APM 为 IT 运维的范围,一般涉及到以下关键点:

  • 监测对象的完整建模:各层物理实体、虚拟实体与应用服务的映射关系;
  • 监测数据的采集与预处理:比如元数据是否完备,海量数据的高效访问与扩展等;
  • 子领域的算法选择:合理划分出问题域的边界,结合领域知识筛选或设计出合适的算法,并予与验证。

在华为云的实践中,AI 技术主要应用在以下几个方面:

  • 预测的智能化
  • 诊断的智能化
  • 自愈的智能化
  • Agent 的智能化

上面几个方面涵盖了运维闭环模型:监测感知 – 分析洞察 – 优化控制。

以传统运维中最常见的挑战——告警风暴——为例,静态阈值、多段式组合阈值、基线化阈值等基于统计计算的方法都难以满足应用运维的要求了。另一方面,云化后的应用所涉及计算节点,服务 endpoint、指标等更多,不可能完全依靠人工来设置。这时候基于动态阈值或时序数据行为模式分析的 AI 方法就派上用场了。

所以 AI 技术首先适合用于复杂的场景中,尤其是各种可能组合数量远远超越了人力所能企及的范围,还比如复合因素下的趋势预测(磁盘寿命、性能指标、容量)、故障定界定位、根因分析等。

其次 AI 技术在一些时效性要求高的场景中得到应用,比如基于指标、日志、事件的告警。应用或者系统出现异常后,是需要第一时间通知到运维值守人员的。还比如云服务的弹性伸缩 (auto-scaling),是需要根据一些监测指标、服务模型、规则以及算法智能地及时做出适当调整动作。

除了中心化的 AI 技术应用外,数据采集端侧(Agent)的智能化也是一个重要发力领域,也包括 IoT 场景下的边缘节点(edge node)。在万物感知、万物互联、万物智能的趋势下,我们可以把训练好的模型发放到需要的 Agent 端。Agent 智能化可以解决端侧更高的响应实时性要求,减少数据上传的网络带宽消耗、存储成本、计算成本等。

下图是华为云面向租户的立体运维平台,实际上是一个基于应用运维生态的大解决方案。这种统一、开放的云运维平台可以支撑华为云的底座运维、上百种云服务的 SLA 保障和运维,帮助客户监测管理部署在华为公有云上的业务应用。

在运维工具和平台的构建过程中,华为云大量采用了开源项目,比如 ELK、调用链有关的 PinPoint、Zipkin、OpenTracing 等规范、StatsD 和 Prometheus 等数据接口规范、Spark、TensorFlow、MXNet 等。

数据的收集与处理

大数据是 AI 的黑土地,前提是数据量要足够多。华为云针对运维目的,主要收集下面这些性能数据:

  • 指标数据 (metrics):既有 IaaS 层资源指标,也有 PaaS 层应用资源指标,客户所用云服务业务指标、客户业务自定义指标 (由客户根据自身需求主动上报)。
  • 日志数据 (logs):客户指定的业务和各种中间件的运行日志
  • 调用链数据 (traces):客户通过非侵入式方法获得的调用链数据,或者客户开发应用在代码中引入 SDK 或者直接上报的调用链数据。
  • 事件及告警 (events&alerts):客户应用主动上报的各种事件和直接告警信息,还有根据预定义规则产生的事件和告警。
  • 网络包数据 (packets):主要是虚拟网络、容器网络中面向应用的网络性能数据。

这些数据根据自身特点,选择不同的存储方式,比如 Cassandra、HDFS、ElasticSearch、GaussDB 等。具体处理主要包括:

  • 流式计算:主要用于指标、日志的告警,调用链分析;
  • 离线计算:特定时间周期内的聚合计算、关联分析、模型训练等;
  • 内存计算:为部分实时性要求高的算法所用。

区别于以前的运维,当前把很多指标数据中的一些维度属性和 IaaS、PaaS 层的基础信息结合起来形成面向应用的元数据集,和传统的 CMDB 有些类似,但粒度更细。其目的是为面向应用的数据分析提供各种可能的“关系网”。

AIOps 落地之难点

AIOps 面临的技术挑战主要有大量数据的获取、结合专业领域知识的算法验证、多种算法组合应用、新方法的探索以及服务化的工程化难度。

有了数据后,针对特定问题域去验证或者创新算法就需要领域专家和算法专家通力合作,找到合适的方法或者方法组合是很有挑战性的。华为云在弹性伸缩算法、事务黑盒分析、基于异常检测的智能告警和调用链洞察分析等方面采用机器学习进行了探索。

  • 面向应用 SLA 实现容器的弹性伸缩,除了支持指标预定义条件的 scaling 外,还研究实现了基于强化机器学习算法的 Auto-Scaling,为复杂的大规模应用提供了更智能选择。
  • 在利用网络包分析推导应用调用关系及性能的 BlackBox 分析领域,经过理论分析和原型推导验证,华为云尝试过很多创新,最后利用 Hierarchical Clustering 实现了服务间的因果路径推导,准确率基本达到了 90~95% 以上。分析结果以传统应用拓扑数据格式输出,展示效果近似于 Whitebox 方法得到的应用拓扑,可以感知整个应用的性能态势和识别性能瓶颈,对一些拥有 legacy IT 资产的客户监测需求特别适用。
  • 调用链是云上应用性能诊断的重要一环。从调用链中先解析 feature,利用聚类方法发现模式,针对每类事务做分钟级聚合,结合移位环算法实现 10 分钟的统计聚合,最后实现对事务的“好”与“坏”的智能判断。Dashboard 上采用 heat map 和 histogram 形式予以展示和引导,提供与人友好的应用性能直观洞察能力。

AIOps:让 AI 成为得力的助手

尽管在一些子领域或者单点技术上 AIOps 获得了一些进展,运维域 AIOps 还有很大的空间有待发展,离真正做到无人值守、NoOps 还有很大的现实差距。比如复杂大系统中智能 RCA 分析、可信自愈能力、面向机器理解的无监督学习、智能化下沉到端侧等都有待业界共同努力。

华为云专家认为,IT 运维是个很大的范畴,完全不用人工运维,即无人值守只会存在某些特定的小场景下。而从整个系统来看,一定需要人来做更高阶的工作,参与者也不会只限于操作者或者管理员,还会涉及 DevOps、业务主管等。这是一个融合的世界,真正的有机系统,非黑即白的界线会越来越模糊,未来世界也一定是人主导,而不会是机器主宰的。在应用运维领域,人不会被 AI 简单取代,而是利用 AI 辅助人类做那些自己不擅长或者不愿意做的事情。

感谢张婵对本文的策划和审校。

2018-08-30 18:203342
用户头像

发布了 37 篇内容, 共 81669 次阅读, 收获喜欢 34 次。

关注

评论

发布
暂无评论
发现更多内容

高优异步任务解决双重异步集合点阻塞问题

FunTester

Python笔记六之多进程

Hunter熊

Python 多进程

图像处理-Java-OpenCV-水印编码/解码

alexgaoyh

OpenCV java 数字版权保护 图像水印 基于离散余弦变换

二本渣渣生,两次冲锋,十面阿里(Java岗)感谢HR终于让我过了

阿里、莫言

Java 面试 java

探索未来科技:量子计算的前沿与挑战

快乐非自愿限量之名

科技 量子计算 未来

鞋服品牌如何计算门店盈亏平衡?

第七在线

1688API接口推荐:1688商品列表数据接口

tbapi

1688 1688API 1688商品列表数据接口 关键词搜索1688API

Region Migration 技术原理 — 共享存储架构下的高效数据迁移策略

Greptime 格睿科技

数据库 架构 分布式 存储 时序数据库

ai做ppt的软件有哪些?这5款AI工具值得推荐!

彭宏豪95

PPT 办公软件 AIGC 效率软件 AI生成PPT

一定要看!10个产品经理必备的核心技能

Geek_09ea8e

产品经理 产品经理洞察指南

iOS全局自动化代码混淆工具!支持cocoapod组件代码一并混淆

雪奈椰子

探索TikTok云手机在社交媒体营销的作用

Ogcloud

TikTok 云手机 海外云手机 tiktok云手机 tiktok运营

Java 包装类:原始数据类型与迭代器

小万哥

Java 程序人生 编程语言 软件工程 后端开发

职场小白如何书写保姆级简历?附优质模板

Geek_09ea8e

简历优化 简历模板 简历 简历规划

高效自我介绍与面试回答技巧大揭秘!建议收藏!

Geek_09ea8e

立即注册 | 线上讲座:借助 NGINX Plus 优化物联网数据传输和应用安全

NGINX开源社区

TLS 物联网 IoT mqtt NGINX PLUS

观测云产品服务引领监控观测服务新高度

可观测技术

你的隐私堪忧!彻底清空磁盘,只需要1行Python代码

程序员晚枫

Python 磁盘 隐私 Python自动化办公 自动化办公

解读 Amazon Q | 用 AI 聊天机器人连接你与未来的无限可能

亚马逊云科技 (Amazon Web Services)

Dockerfile制作镜像与搭建LAMP环境

百度搜索:蓝易云

MySQL Apache Linux Dockerfile LAMP

docker之Consul环境的部署

百度搜索:蓝易云

Docker 云计算 Linux 运维 Consul

《鸟哥的Linux私房菜 基础学习篇 第四版》PDF

程序员李木子

编程两年半了,还要坚持写博客吗?

程序员何未来

程序员 写作 自媒体 代码人生 阅读

v1.8.1🔥httpsok一分钟搞定SSL证书自动续期

物有本末

运维 SSL证书 免费SSL证书

体育赛事直播平台的市场集中度和差异化程度,有这些特点

软件开发-梦幻运营部

MySQL自动删除binlog日志

百度搜索:蓝易云

MySQL 云计算 Linux 运维 云服务器

观测云赋能云计算服务商,提升监控观测服务价值与竞争力

可观测技术

2024Java大厂高频面试题,揭秘今年Java春招面试必问问题有哪些

阿里、莫言

Java java面试 金三银四

都2024年了,你还不知道这些产品经理的必备工具?

Geek_09ea8e

产品经理 产品经理洞察指南

一“云”在手,监控无忧——为何一个观测云即可满足全方位监控需求

可观测技术

可观测性

Vue3中computed、watch、watchEffect的区别

互联网工科生

华为云AIOps实践全面解析_DevOps & 平台工程_华为云_InfoQ精选文章