AICon议程上新60%,阿里国际、360智脑、科大讯飞、蔚来汽车分享大模型探索与实践 了解详情
写点什么

华为云 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:203820
用户头像

发布了 38 篇内容, 共 96741 次阅读, 收获喜欢 35 次。

关注

评论

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

年营收将破千亿?运营商云的底气在哪里?

ToB行业头条

打造面向未来的开发者服务新范式,龙蜥社区开发者服务平台 devFree MeetUp 硬核启动!欢迎报名

OpenAnolis小助手

Meetup 龙蜥社区 基础设施SIG devFree 开发者服务平台

华为首席架构师推荐的《云原生架构下微服务最佳》

做梦都在改BUG

Java 架构 微服务 云原生

OpenMLDB v0.8.0 发布

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

未来源码|Dart 3正式发布:100%健全的空值安全、迄今为止最大版本

MobTech袤博科技

全球护照NFC核验 | 羽山科技

羽山数据

nfc 护照 全球护照

校园校区共享电单车怎么投?找谁投?

共享电单车厂家

共享电动车厂家 校园共享电动车 共享电动车投放 共享电单车合作

第二届全国博士后创新创业大赛报名开始啦!海内外博士、博士后

科兴未来News

博士后 双创比赛 博士

基于数字孪生的智慧校园解决方案,数字孪生赋能创建安全、绿色、智能的数字校园|UINO优锘数字孪生解决方案

ThingJS数字孪生引擎

智慧校园 数字孪生 智慧校园解决方案 智慧校园管理系统 可视化引擎

重磅!用友荣登全球5强

用友BIP

百度工程师移动开发避坑指南——内存泄漏篇

百度Geek说

ios android 开发 企业号 5 月 PK 榜

TDenigne 签约路特斯科技,助力高性能跑车领域数据架构升级

TDengine

时序数据库 #TDengine

MoE 系列(四)|Go 扩展的异步模式

SOFAStack

Go 程序员 开发 网关 Envoy负载均衡

CST为什么要关闭 GPU 卡的 ECC 模式而开启 TCC 模式?操作使用【详解】

思茂信息

cst cst使用教程 电磁仿真 cst电磁仿真 cst仿真软件

技术驱动,数据赋能,华为云GaussDB给世界一个更优选择

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

提高数据的安全性和可控性,数栈基于 Ranger 实现的 Spark SQL 权限控制实践之路

袋鼠云数栈

数据安全

面面俱到!一份囊括35+核心知识点的Java架构师面试文档

小小怪下士

Java 程序员 java面试 Java八股文

flutter系列之:使用AnimationController来控制动画效果

程序那些事

flutter 大前端 程序那些事

IDD Swap算力LP挖矿部署流程(详细

Congge420

索信达助力,贵阳银行荣获“金融行业数字化转型最佳创新应用奖”

索信达控股

数字化转型 金融 银行

led显示屏安装步骤和注意点

Dylan

调试 安装 LED显示屏

性能测试的时机

陈磊@Criss

TSBS 报告-TimescaleDB vs TDengine

TDengine

时序数据库 tsdb #TDengine

【经验总结】你想知道的BGA焊接问题都在这里

华秋PCB

工具 电路 PCB PCB设计 焊接

京东顶级架构师是如何应对几天后618狂欢节的,带你走进顶级大佬

做梦都在改BUG

Java 架构 系统设计 高并发 亿级流量

ChatGPT人功智能开发方案详情

Congge420

众筹互助软件架构搭建原理

Congge420

操作系统国产化步入深水区,小程序技术助力生态搭建

没有用户名丶

小程序容器

NGINX 与当下爆火的 ChatGPT 聊天,回答质量参差不齐

NGINX开源社区

nginx ChatGPT

数据挖掘实践(金融风控):金融风控之贷款违约预测挑战赛(上篇)[xgboots/lightgbm/Catboost等模型]--模型融合:stacking、blending

汀丶人工智能

数据挖掘 机器学习 深度学习 数据建模

数据挖掘实践(金融风控):金融风控之贷款违约预测挑战赛(下篇)[xgboots/lightgbm/Catboost等模型]--模型融合:stacking、blending

汀丶人工智能

人工智能 数据挖掘 机器学习 深度学习 数学建模

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