写点什么

智能运维系列(一)| AIOps 的崛起与实践

  • 2020-06-24
  • 本文字数:2938 字

    阅读完需:约 10 分钟

智能运维系列(一)| AIOps的崛起与实践

专题简介:智能运维(AIOps),根据 Gartner 的最新阐释,意指整合大数据和机器学习能力,通过松耦合、可扩展方式去提取和分析数据量(volume)、种类(variety)和速度(velocity)这三个维度不断增长的 IT 数据,进而为 IT 运维管理产品提供支撑。在此,微众银行智能运维团队根据一线工作的实践经验与心得体会,特别撰写了《智能运维系列》文章,敬请持续关注。


IT 运维其实早在科技公司创建之初即存在了,只是一开始与其说是运维,不如说是网管与电脑维修。公司与电脑有关的都在 IT 运维的工作范围内。随着科技的进步,IT 的岗位划分也越来越细致,才逐渐形成了与现在相似的对业务连续性直接负责的 IT 运维职能部门。而近 10 年随着各种技术浪潮的爆发,IT 运维价值才逐渐显现出来。


通过如下一张图就可以看到运维发展的几个阶段,早期的手工运维,到流程化、标准化运维,再到平台化、自动化运维,最后到近十年的 DevOps(研发运营一体化)和 AIOps(智能运维)。运维发展其实和各种技术更新是密不可分的,也是各种技术重要的实验田。



图 1:IT 运维发展示意图


对于企业而言,IT 运维的价值体现在对业务稳定、运行安全和提效降本三个方面的保障与控制。近年来实体业务纷纷发展线上交易,IT 投入逐渐加大,业务的稳定与安全直接影响企业效益,IT 在效率与成本上的平衡也成为各家企业需要面对的问题。


IT 运维行业转向 DevOps 或 AIOps 已经是必然的选择。DevOps 将软件全生命周期的工具全链路打通,结合自动化、跨团队的线上协作能力,实现了快速响应、高质量交付以及持续反馈。AIOps 的落地将为企业运营和运维工作在成本、质量、效率等方面的调整提供重要支撑。


目前 AIOps 的主要应用场景有异常告警、告警收敛、故障分析、趋势预测等。


下面以几个公司的案例为例来分析 AIOps 目前在企业中的实施情况。


(一)美团业务稳定性保障平台 AIOps 实践


2019 年 6 月,在全球技术领导力峰会上,来自美团的资深技术专家宋斌从美团的即时物流业务谈起,介绍了美团面临系统稳定性方面极高的挑战:峰值流量高、瞬间峰值大、业务链路长、线上业务复杂度高、故障敏感,影响履约完成率,造成赔付和客诉。经过一年多的努力,从人工运维状态逐步转化为自动化运维,甚至在尝试使用机器学习的能力,提升运维整理效率。


在此次分享中,我们可以看到美团主要在容量评估、弹性设计、故障诊断、风险防范方面逐步建立了全面可靠的自动化可运维的系统。



图 2: 美团配送实践概览


其中在故障诊断方面既包含了故障检测,也包含了根因定位。即回答了故障长什么样,也回答了故障是什么,根因是什么。从研发人员和管理人员两个角度展示故障信息。


在核心功能上不只完成了故障收敛,还完成了链路监控和故障拓扑展示,告警升级等,同时对故障进行相对完整的标记、运营、管理、跟踪等工作。



图 3: 美团故障识别模块


在根因定位思路上即在传统的纵向分析方面进行了根因挖掘,也在调用链调用关系逐层递归的横向分析方面有所创新。



图 4: 美团故障根因分析维度


从结果上看,定位时间和故障覆盖率都很好,极大的降低了运维成本。在整个运维保障体系中,机器学习主要应用在了端到端链路监控、以及失败率监控的动态阀值上(基于 LOF 算法的异常检测),但同时也辅助以规则。



图 5: 美团故障识别收益


(二)百度 AIOps 在监控报警方面的应用场景


在 2019 年的全球架构师峰会上,百度资深研发工程师周伟/范月林介绍了百度落地 AIOps 过程中在智能异常检测和智能报警合并两个监控场景取得的收获。


如下图是百度的报警系统业务模型,在异常判断阶段,面临的挑战是模型变更频繁,算法不固定。为了解决这个问题,百度实现了算法和模型分离,迭代周期从月缩短到日。验证算法策略的平台分为了离线环境、近线环境、在线环境,使算法在一个可靠的数据环境中验证。


在通告发送阶段,由于可能面临报警风暴的挑战,需要做报警合并。百度从两个方面进行了合并,按部署架构合并和跨部署架构的合并。其中按部署架构合并主要基于配置管理系统的基础关联关系,而跨部署架构合并则依赖上下游关系和离线的策略挖掘。



图 6: 百度报警系统业务模型


从效果上看,核心的监控关键指标都有了明显提升。异常检测效果非常好,报警的短信量也大幅降低。



图 7: 百度报警优化收益


(三)微众银行在异常发现和根因定位方面的 AIOps 实践


2019 年微众银行在落地 AIOps 过程中,也使用了机器学习算法在多个功能场景中实践,取得了一定的成果。


在异常发现方面,从业务产品可用率出发,定义业务黄金指标(交易量、业务成功率、系统成功率、单位时间交易平均耗时),对黄金指标进行算法结合规则的检测。


在根因定位方面,放弃了传统的组件告警收敛专家经验的定位方法,以消息总线的消息日志为基础,基于算法生成交易链路,异常时绘制故障交易链路图,定位中断子系统,然后以中断子系统为圆心,使用知识图谱算法发散式根因挖掘。另外,历史异常事件的数据也导入知识图谱,修正知识图谱中的专家经验。从运维管理的角度进行异常识别和根因定位标记,不断迭代修订基础模型数据。



图 8: 根因分析逻辑示意图


2019 年微众银行全年异常识别准确率 96%,漏告量低于 1 笔/季度。异常通报时常较 2018 年提升 66%。从异常发生开始 5 分钟完成根因定位。异常识别和根因定位的效果都有明显改善。



图 9: 微众银行异常识别与根因定位准确率



图 10: 微众银行异常根因定位收益


从以上比较成功的 3 个案例出发,我们可以尝试总结一下目前 AIOps 在 IT 运维领域实践的几个特点:


(1) 机器学习算法落地场景首推异常指标识别。因为工程化成本低,较容易产生效果。一两个核心开发人员即可。而且一旦成功,运维人员能获得最直接的收益。


(2) 从异常指标出发,衍生到异常追溯原因的各类场景。当识别出了异常,自然希望得到答案。例如以上案例所示美团和微众银行都在根因定位上有所突破,同时都使用到了交易链路,所不同的是,美团是依靠人工管理标注完成,而微众银行使用了算法结合消息总线的日志自动产生。所以,从纯粹数据层面的机器学习逐渐过渡到逻辑层面的机器学习。


(3) 算法结合规则才能达到实际生产运维期望的效果。算法不能解决所有问题。如果要更好的解决实际运维场景的问题,算法结合规则或专家经验才是宝贵的 AIOps 落地经验。


(4) 标准化、数据仓库式的运维数据是基础,大量运维格式化基础数据是机器学习的先决条件。所以,从组织架构到运维工具都应尽量做到集中化管理。


(5) 类似容量预测或事件预测等类似预测类的场景将是 AIOps 的下一个探索方向,主动发现与预测将是 IT 运维未来需要解决的问题。


IT 技术架构从“IOE 架构”逐步走向了“互联网架构”;运维体系从 ITIL 走向 DevOps;运维平台从自动化走向了 AIOps;运维核心从关注平台走向数据资产。智能化以及数据化是未来 IT 运维的总体趋势,互联网业务的连续性保障的方方面面都将在这次 IT 运维变更中发生巨大变化。AIOps 也会在更多运维场景中发挥不可替代的作用。


本文作者


微众银行智能运维首席产品经理:王雅琪


2020-06-24 09:0019973
用户头像
陈思 InfoQ编辑

发布了 576 篇内容, 共 286.5 次阅读, 收获喜欢 1303 次。

关注

评论

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

Java内存区域和内存模型

爱好编程进阶

Java 程序员 后端开发

Java多线程基础(二)

爱好编程进阶

程序员 后端开发

1. helm 目录

ghostwritten

Helm #Kubernetes#

用一个性能提升了666倍的小案例说明在TiDB中正确使用索引的重要性

TiDB 社区干货传送门

Java中抽象

爱好编程进阶

Java 程序员 后端开发

java中调用js代码

爱好编程进阶

Java 程序员 后端开发

Java全栈开发---Java ERP系统开发:商业ERP(五

爱好编程进阶

程序员 后端开发

对代码不感冒, 我应该怎么办?

源字节1号

程序员人生 后端开发

helm 3.8 命令指南

ghostwritten

Kubernetes Helm

异构资源交付效率提升50%,这家头部券商是如何做到的?

BoCloud博云

证券 案例 云管理平台

helm charts 内置函数

ghostwritten

Kubernetes Helm

Java基础概念干货(字符、标识符

爱好编程进阶

Java 程序员 后端开发

web技术支持| 从视频元素流式传输到视频元素

anyRTC开发者

前端 Web 音视频 WebRTC 视频通话

5. helm charts 基础入门

ghostwritten

Kubernetes Helm

Java Swing大神必经之路7:Swing 的任务线程与 EDT 事件分发队列模型

爱好编程进阶

程序员 后端开发

Java~异常Exception和异常习题“用户登录

爱好编程进阶

Java 程序员 后端开发

贡献者任务第三期精彩来袭!

第四范式开发者社区

人工智能 机器学习 数据库 开源 贡献者

巴延兴:从主导多个SIG组到OpenHarmony “代码贡献之星”,我是如何做到的?

OpenHarmony开发者

OpenHarmony sig

2. helm 简介

ghostwritten

Kubernetes Helm

4. helm 3.8.0 入门

ghostwritten

Kubernetes Helm

【Python】题集 of ③

謓泽

5月月更

Caddy VS Nginx,谁领风骚

码农大熊

api 网关 盘古开发框架 Caddy

JavaWeb期末复习

爱好编程进阶

Java 程序员 后端开发

helm v2 公共源大全

ghostwritten

Kubernetes Helm

helm NOTES.txt

ghostwritten

Kubernetes Helm

java三大特性之多态的认识,以及多态的实际应用(一

爱好编程进阶

Java 程序员 后端开发

大数据培训Flink整合ElasticSearch

@零度

大数据 flink elasticsearch

Java多线程知识点总结(思维导图+源码笔记

爱好编程进阶

Java 程序员 后端开发

AIRIOT物联网低代码平台如何配置db-driver驱动?

AIRIOT

低代码开发 驱动配置

汽车行业云,如何管“多云”?

BoCloud博云

案例 汽车 云管理平台

helm values.yaml

ghostwritten

Kubernetes Helm

智能运维系列(一)| AIOps的崛起与实践_AI&大模型_王雅琪_InfoQ精选文章