中国工商银行智能运维体系建设

随着信息技术的快速发展,分布式架构已经成为主流的系统架构形式。基于分布式架构的系统具有资源利用率高、可扩展性好等优点,已广泛应用于各类企业信息系统之中。分布式监控系统应运而生,它通过在各个节点部署轻量级代理程序,实现对分布式系统的监控数据采集和分析,有效地解决了分布式场景下复杂的微服务调用链路与指标监控难题。但随着IT架构和业务规模越来越庞杂,一次分布式服务请求往往会涉及几十甚至上百个服务或方法,而分布式系统的指标监控、异常发现、故障定位及故障修复等仍主要依赖人工经验进行配置、维护及操作,运维效率相对较低,无法适应生产故障发现、定位和修复的“1-5-10”要求,影响分布式系统的整体可用性。

中国工商银行已于2015年开启了IT架构转型工程,截至目前分布式体系已基本覆盖行内大部分应用,日均服务调用量近200亿,各类业务场景交易复杂多样,现有的分布式监控运维体系正面临越来越大的压力,如何更快速有效的发现生产性能隐患并及时修复故障,成为摆在中国工商银行面前的一大难题。在此背景下,中国工商银行借鉴行业先进实践经验,立足行内庞大的系统及业务监控需求,将人工智能算法引入监控运维平台,积极探索并打造智能运维体系,提升异常发现、故障定位及故障应急处置效率,解决了海量交易场景下的分布式体系监控运维难题。

建设内容

中国工商银行智能运维体系建设重点围绕异常发现、故障定位和故障应急恢复三个领域,建设智能异常发现能力,解决现有依赖人工经验配置固定阈值进行异常检测方式的准确率低、维护配置繁琐、无法随业务发展自适应调整阈值等问题,建设智能故障根因定位能力,解决现有人工分析排查故障异常指标、故障传播路径并定位故障根因的效率和时效性较差的问题,建设智能故障应急能力,解决故障发生后快速屏蔽或故障恢复的问题,保障生产业务持续稳定运行。

(一)总体架构

智能运维体系建设将人工智能引入现有监控运维体系,以“数据+人工智能”为驱动,基于现有监控运维平台采集的指标、链路、日志等可观测数据,通过将专家经验、故障诊断树、智能算法等相结合的方式,建设指标异常检测、故障溯源、根因分析等基础能力,支撑构建故障自动发现、故障根因定位、故障智能应急处置、指标趋势预测、平台性能优化等能力,赋能运维效率提升(如图1所示)。

图1 总体架构设计

架构设计总体分为三层:依赖支撑、能力建设和能力应用(如图1所示)。其中,依赖支撑层包括分布式服务平台、分布式监控平台、运维平台、PAAS平台、AI平台等基础支撑平台,为智能运维建设提供基础能力及数据支撑;能力建设层基于底层支撑平台构建智能运维核心能力,主要包括故障发现、故障定位、故障应急三个方面,其中故障发现基于交易监控及基础资源监控指标智能异常检测能力,自动发现异常,故障定位基于故障诊断树、专家经验、故障溯源、大模型等算法,自动进行故障根因定位和风险感知,故障应急则针对故障根因执行故障应急处置及自愈恢复;能力应用层基于基础智能运维能力在故障根因定位、指标趋势预测、性能容量管理和平台性能优化等方面开展场景化应用,全面提升开发运维效率。

(二)关键能力建设

平台主要关键能力建设介绍如下:

1.智能异常检测

基于云原生可观测性三大支柱(指标、日志、链路)数据,引入智能检测、智能对比等异常检测方法,根据实际指标时序数据分布情况检测出异常点,降低人工设置固定阈值易出现的误报、漏报频率,同时面向不同客户需求,支持千人千面的算法参数灵活适配,实现更精准的异常检测机制。其中,智能异常检测基础能力包括基于N-sigma、孤立森林、EWMA(指数加权移动平均)、CNN等统计学、无监督学习、深度学习算法打造的离群检测、基带检测、波形检测等,可根据当前时间段与历史同期时间段的统计特征、聚合情况、偏离度情况实现故障前后的智能对比。此外,根据不同业务场景对异常敏感度的需求,可提供个性化的算法库、算法参数供选择,并搭配可视化的模拟结果,以满足个性化的场景需求,减少漏报、误报。

2.智能风险感知

变更是引发生产稳定性问题的主要因素,为此,中国工商银行针对应用性能容量、系统性能容量、日志、容器运行情况、参数等多个投产变动重点关注维度,研发建设了智能风险感知能力,提供风险预警、可视化风险分析、风险反馈的投产风险全流程闭环功能,帮助应用主动发现风险、规避风险。

3.智能故障根因定位

智能故障根因定位能力基于AIOps(智能运维)和专家规则两种方式结合进行实现。其中,专家规则基于故障树分析法(Fault Tree Analysis,FTA)开展,将可能造成系统故障的各种因素(包括软硬件、环境、人为因素等)按照实际串、并行关系,编排为逻辑框图,从而快速分析定位故障根因,用于对总体故障定位流程处理,而AIOps则是基于智能算法对各类相关运维数据进行自动分析并提供根因推荐,用于异常检测场景,两种方式结合,实现故障自动化、智能根因定位。

其中,AIOps能力建设基于智能异常检测能力,结合链路拓扑、交易指标、基础设施资源指标等数据,从横向和纵向两个维度对故障根因进行自动分析与定位(如图2所示)。

图2 故障根因定位流程

横向维度,以链路数据为基础,以业务流量染色标签为桥梁,构建分布式服务调用全链路端到端监控拓扑视图,打通并串联业务交易拓扑和指标数据,构建面向交易的业务运维画像体系,并基于业务交易SLO生死指标报警,结合服务调用拓扑和业务交易生死指标波形,从报警节点出发,利用上下游服务调用指标相关性分析、事件相关性分析、时间相关性分析等算法,逐层下钻分析候选故障根因节点,最后结合上下游指标相似度、异常严重程度、异常相关程度等,分析溯源出故障发生根因服务节点,从横向服务调用维度缩小故障诊断范围。

纵向维度,基于服务节点纵向依赖基础资源CMDB拓扑数据及相关监控指标,利用指标异常检测算法,对节点(容器、虚拟机、宿主机等维度)关联的各关键性能指标(CPU、内存、磁盘IO等)进行异常检测,根据拓扑节点深度、指标异常严重程度及异常相关性,确定候选根因节点,再逐层递归下钻分析,对根因节点集进行综合分析,最终定位出故障发生的基础资源指标和节点。

4.故障应急恢复

智能故障根因定位能力与行内集中监控报警中心、应急执行平台、云平台、运维平台等联动,支持从报警到故障诊断、故障定位、故障应急等全流程的能力(比如容器滚动重启、容器弹性伸缩、容器启停、Docker进程启停等)联动,针对特定类型的故障提供自愈措施。

5.运维大模型

以ChatGPT为代表的大模型的出现,带来了人工智能场景落地效果的重大突破。我行面向运维领域也在积极探索通过大模型技术大幅提升智能化水平,在私有化部署开源大语言模型基础上,收集行内私域运维知识,通过知识库结合以及lora微调等技术,在运维知识问答、日志及故障报文分析、运维脚本助手、工单处理四大场景寻找突破口,赋能研发运维体系降本增效。

创新应用

中国工商银行智能运维体系建设贯穿监控运维全流程,在智能变更风险防控、智能故障根因定位、智能异常诊断和故障应急、运维大模型等应用场景产出了巨大的应用价值,大幅提升监控运维效率。

(一)智能变更风险防控

智能风险感知平台基于应用实时画像、系统监控、容器监控、交易监控、日志中心、PaaS云平台等采集的时序数据,实现面向变更变动情况的异常检测与分析,实现潜在风险的及时规避,主要应用场景包括:(1)性能容量风险闭环,即通过对投产前后的交易量、响应时间、节点内存和CPU使用率等指标进行波形检测,捕捉突增异常波形,识别应用性能容量隐患,从而快速进行节点扩容,规避性能容量风险;(2)节点变更风险规避,即通过对投产期间产生的节点配置参数、流水线参数、基础镜像配置、基础设施配置参数等进行智能对比,自动评估并给出风险预警,规避节点变更风险(如图3所示)。

图3 智能风险防控示例

(二)智能故障根因定位

从面向业务运维的视角出发,对业务交易链路进行染色打标,生成业务运维交易拓扑,利用智能故障根因定位能力,自动进行业务运维板块--业务场景--服务--节点--基础设施的全流程业务交易指标与系统指标的异常检测与故障定位,辅助开发运维人员快速定位故障源头,提升监控运维效率(如图4、图5所示)。

图4 横向交易拓扑维度故障根因定位

图5 纵向基础设施资源维度故障根因定位

(三)智能异常诊断和故障应急

通过应用画像黄金指标智能异常检测,实现故障的1分钟监控报警,报警后智能运维平台诊断指标和诊断树自动触发相应的智能化故障分析和定位,实现5分钟故障定位,再根据诊断树分析判断流转到对应应急场景,联动故障应急处置平台触发应急流程的执行,实现10分钟恢复,从而实现整个应急故障处理流程的快速、智能、高效运行(如图6所示)。

图6 异常诊断树配置示例

(四)运维大模型

将大模型技术应用到监控运维平台,解决特定场景下基础运维知识问答、日志及故障报文分析、运维脚本智能生成、代码智能提醒、工单问题自动答复等场景需求,赋能研发运维体系降本增效(如图7所示)。

图7 利用大模型进行日志分析示例

取得成效

中国工商银行积极响应数字中国建设的号召,致力于为用户提供更高效、更便捷的服务,立足行内海量业务交易的现状和高效率监控运维体系建设的需求,在智能运维技术上持续探索和实践。智能运维平台上线后,每月平均协助应用发现运行风险超10次,通过平台快速定位和应急处理问题累计超上百次,协助应用发现和规避投产风险近百次,在日志故障智能分析场景,累计为缴费、合作方中台、信用卡产品等多个核心应用协助分析出各类异常报文超1000次。

未来,中国工商银行将继续发挥自身在金融行业的优势,在智能运维领域持续深度耕耘,为建设数字中国贡献力量!

作者:中国工商银行金融科技研究院云计算实验室

打开APP阅读更多精彩内容