苏州农商银行:智能运维平台(农商银行智能化)

2023-11-22

来源:2022年第六届农村中小金融机构科技创新优秀案例评选

获奖单位:苏州农商银行

荣获奖项:运维管理创新优秀案例

一、项目背景

运维数据普遍分散在各类监控工具中,缺少数据的标准化、集中化管理手段和分析手段,无法围绕业务系统形成有效的数据价值,缺乏有效的手段准确来定位问题、提前发现和处置问题,无法帮助运维人员决策。因此需要开展智能运维监控建设,加强智能监控分析能力。

业务系统数量不断增长,软件集成的复杂度和频度不断提升,全行业务系统数量达到180多个。为了提升投产部署效率,降低操作风险,加快业务上线速度,需要开展智能运维自动化建设,提高自动化发布能力。

二、项目方案

苏州农商银行智能运维平台围绕智能监控、自动化运维等多种智能场景开展建设。

1.智能监控

我行提出“一湖一总线三个能力平台”架构方案

一湖——运维数据的规范化、集中化管理、存储及全生命周期的管理

一总线——运维数据的清洗、预计算、分发以及主题治理

智能分析平台——计算及模型管理

能力开放平台——数据共享及编排管理

可视化平台——报表、拓扑、仪表盘等展现管理

智能监控架构

运维指标体系:以单个业务系统为视角,划分为业务层、应用层、系统层、基础层。

业务层:包含单系统的交易量、交易耗时、交易成功率、响应率等指标。

应用层:Web服务器、中间件、数据库等指标。

系统层:CPU、内核上下文切换指标、内存指标、磁盘等指标。

基础层:网络设备、流量、机房环境监控等指标。

2.自动化发布

自动化发布采用分布式架构,作业调度器和发布平台采用负载均衡方式进行多路发布,发布节点支持横向扩展,同时在应用的发布过程中可以进行有效的隔离。

自动化发布实现从代码编译到应用发布的全程可视化持续部署,支持多种编程语言、数据库脚本、应用配置文件、应用服务器自动化部署,并且固化操作流程,控制操作风险,方便快速回退。

自动化发布架构

自动化发布流程

三、创新点

1.打破壁垒建立全行统一的数字化监控指标体系

智能运维平台将全行各个监控、巡检、原系统产生的事件、性能等数据,全部时序数字化并整合成运维指标。平台通过API、数据库、日志、脚本等强大的采集功能采集数据,并根据系统关系图谱形成基于业务视角的健康度指标体系。通过直面业务场景、正向梳理业务下辖的IT对象,逆向接入业务辖内的各种数据源,构建了一套具备总览所有业务场景健康度、俯瞰多维立体化 IT 指标等能力的指标管理体系。这些运维数据既能反映系统的运维情况,也能反映业务的运营状态,同时反映基础设施与生产系统的资源配置信息、运行的质量、有效性等综合情况。

指标体系示意

2.异常检测的算法业界已经相对成熟,但却很难在运维行业产生收益较高运维场景,问题在于算法与数据无法有效结合

我行智能运维平台利用自身对现有数据的梳理和时效指标库的建设,反向梳理运维数据可能存在的特征,并依据数据特征进行波形聚类,形成数据变化具有明显相似性的“周期型”数据、区间内数据相对平稳的“阶梯型”数据及无规律的随机“波动型”数据三大类。之后再对时序数据进行自动划分,形成异常检测流程。

针对“周期型”数据,重点检测当前数据与历史同期相比是否存在异常。数据按分钟分组,以箱形图统计每组数据的正常阈值范围,判别超越阈值的异常。针对“阶梯型”数据,重点检测拐点的变化幅度及拐点之后数据的波动范围。计算全局及临近数据的波动方差,判别突升突降的异常拐点。使用四分位方法计算波动阈值,判别拐点之后数据持续性超越阈值的异常。针对“波动型”数据,重点检测离群点,使用四分位方法,计算历史数据正常的波动阈值,判别超越阈值的异常。

智能算法示意1

智能算法示意2

智能算法示意3

3.个性化的运维分析成果为业务赋能

智能运维门户集成推荐、调度及部分操作功能,围绕重要且紧急优先的原则,推荐用户当前最需要处理的故障点或风险点;遵从运维管理流程,具备一键通报调度功能;赋权故障自愈操作,赋能一线运维使其在故障发现与恢复场景中具有二线专家能力,充分保障业务连续性。

智能运维门户采用向导式维护方式,用户可以自助勾选权限范围内容的指标、功能,实现更贴近运维角色的数据输出效果,同时数据可自定义输出给研发、业务人员,帮助其掌握业务运营情况。

智能运维门户自适应大屏、部门小屏、移动终端等展现形式,实现自助展现的同时达到实时碎片化运维的效果。

智能运维门户

业务系统的健康度,以0-100百分制分数实时刻画不同类型指标的运行状态,将原本需要专家判断的运维经验内嵌固化,形成标准化故障判定规则,对齐各方对故障的定义,减少沟通与理解成本。

业务视角的多维呈现,将故障预警、根因溯源在同一个展现平面完成,融合运维指标库形成的多维度、多视图监控截面,助力业务运维进行态势剖析。实例级监控,简单清晰展示系统健康状态;服务级监控,收敛刻画业务平台服务能力。

健康度及关联分析

4. 多场景自动化发布能力助力金融产品快速迭代

自动化发布支持GET/POST接口、WebSphere、Tomcat、文件、目录、程序包、SQL等多种场景的串行、并行、混合发布。平台与流程管理系统对接,保证变更可跟踪、变更可审计,从需求的发起、变更投产到业务验证形成闭环。

四、技术实现特点及优势

1.架构特点及优势

智能运维平台采用分布式架构,安装在多台服务器,分为服务和数据存储节点,服务组件和数据均实现冗余,避免单台服务器故障影响智能运维服务。

2.技术特点及优势

在监控数据采集方面支持SYSLOG、SNMP、AGENT、KAFKA、SQL等多种数据来源采集工具。在智能分析方面,采用厂商自主研发的计算引擎,具备海量数据并发分析的能力。在智能算法方面支持多种算法以及算法聚合能力,提高数据分析的准确性和自学习能力。

监控采集能力

智能监控支持不同层面各种数据来源,保证数据接入的完整性。

业务层:业务流量、日志

应用层:数据库监控系统、中间件、脚本

系统层:Zabbix、Prometheus

基础层:网络流量、网管平台

自动化发布包含5个模块:资源模块、展示模块、控制模块、执行模块、部署单元。发布方面支持多节点并行发布,提高发布效率。

资源模块——获取发布物料的来源,可以是git、svn版本管理库,也可以是ftp或文件共享目录。

展示模块——自动发布平台的展示页面,如:发布编排、权限管理、看板报表等。

控制模块——通用标准的发布控制动作,如:编译、构建、停止、发布、启动、重启。

执行模块——架构中最核心的模块,该模块中的每一个插件代表发布的一个原子操作,通过对这些插件进行分类配置,可以满足市场上绝大部分的发布需求。这些插件支持扩展,用以提供个性化的要求。

部署单元——支持的发布目标,机器类型有Linux、Unix、Windows、Aix,数据库类型有Oracle、Mysql、SqlServer、DB2、Postgresql。

自动化发布模块

五、项目过程管理

智能运维平台项目于2021年11月正式启动,2022年5月完成平台搭建、运维数据接入、应用系统发布对接和平台投产,并且完成智能运维监控试运行和互联网线上贷款系统的自动化发布,6月完成重要系统的智能运维监控指标体系完善以及电子渠道、数据仓库等业务系统的自动化发布,7月份完成智能算法模型完善、智能告警以及理财系统、管理系统的自动化发布,9月完成项目验收。

六、运营情况

智能监控场景方面,已采集的数据可以满足立数字化运维数据模型,这些模型能够被数字化运维的用例所识别,进而评估出不同模型间的直接交互和预期结果。对于现有数据模型分析中能够自动化并扩展与修正自己的数字化运维方案与模型,进行不断自学习、论证与评估。在角色上,IT 运维人员跳出固守了十多年的对于各类设备分工掌控的观念,将目光投到业务数据整合和分析上,丰富主动运维的能力。

自动化发布场景方面,共纳管15 套重要系统、150个实例、84个应用。实现了发布并行度的提升并保证业务连续性,原来在24台服务器上手工操作的工作缩减到在3台服务器的发布。运维人员可提前对发布日的发布任务提前做好发布计划和任务编排,变更窗口开启后可实现一键发布和多个系统并行发布,发布效率提升90%以上,并且平台记录整个发布过程,操作过程可追溯。

七、项目成效

1.提升运维监控能力

在本项目实施完成后,我行通过对采集数据使用人工智能算法分析,可以发现业务的异常现象;并能够根据故障原因和场景特征智能创建故障告警规则,告警分析包含单业务应用系统的数据关联,也包多业务应用系统的数据关联分析,同时当故障触发大规模告警风暴时可进行智能的告警归并。并且通过智能算法,快速定位根因,提升故障治愈效率。

案例一:某系统后台任务触发shell程序导致CPU使用升高不降

痛点:异常升高但未达到传统监控阈值,无法告警。

效果图:

价值点:CPU使用率从0升到了15,传统监控手段通过设置阈值的方式难以发现。智能运维使用算法结合历史数据训练出上下界,异常告警。

结果:发现后台未正常退出的跑批程序,清理后问题得到处理。

案例二:某系统出现超时交易

痛点:出现超时交易无法快速定位故障根因

实现方式:结合多层面指标通过根因分析面板实现异常指标定位。

效果图:

结果:网络切换导致机器磁盘写数据缓慢,导致超时。

价值:定位异常指标,快速分析故障根因。

案例三:某系统交易量突增

痛点:交易量没有合适阈值去做监控,无法快速确认突增交易类型,交易账户。

排查过程:

智能运维提示交易量指标有异常点,相应机器的CPU、上下文切换均突增。

查看业务层交易量突增情况,筛选时间段,定位突增类型。

筛选时间段查看来往银行交易笔数,定位为来自某银行10分钟内有上千笔交易。

价值:快速定位问题来源,整个过程历时3分钟,大量提高运维效率。

2.缩短应用发布时间

整个发布过程一键化、自动化、脚本化,机器代替人工,发布效率提升90%以上。

3.统一应用发布规范

在不同场景、不同环境下统一每个应用的发布操作流程和体验,制定发布规范并融合到发布流程中,在提高发布效率的同时保证合规。

4.实现应用构建标准化

构建统一的制品仓库、预发布环境,避免各研发小组各自构建造成的版本混乱和产品缺陷。

5.打通审批与投产变更流程

经过领导审批后的变更投产需求方可创建自动化发布作业进行投产实施,投产成功或失败后同步更新需求状态,实现审批流程和变更实施的线上贯通。

6.为业务研发运维一体化打下基础

自动化发布为业务研发运维一体化(BizDevOps)的建设打下了平台工具的基础,可以为进一步实现BizDevOps其他自动化场景(如自动化测试、代码扫描、安全审计、环境交付自动化、配置管理自动化)的对接和闭环的形成打好基础。

八、经验总结

智能运维平台的落地,显著的提升了苏州农商银行在运维监控和自动化的能力,构建了运维指标体系,统一了投产变更流程和规范,实现了运维数智化转型。

本次项目建设的成功,我行总结以下几点经验:

1.整合行内各类运维数据,构建了围绕业务系统的运维指标体系。

2.智能算法在运维监控场景可以辅助运维人员决策。

3.自动化发布需要制定标准并达成统一认识。

4.自动化发布需要解决对不同架构系统使用同一套理念实现发布并将发布动作拆分成原子操作,才能实现强大的发布管控能力和灵活的场景编排能力。

5.自动化发布同样需要与工单系统结合,对接制品库,实现发布工单的统一闭环管理。

更多金融科技案例和金融数据智能优秀解决方案,请登录数字金融创新知识服务平台-金科创新社案例库、选型库查看。