IT架构转型:商业银行智能化生产运维探索与实践
前我国主要商业银行均在推进 IT 架构转型,在大规模的分布式转型过程中,相较于原集中式运行环境内存内的构件调用,分布式架构下跨节点的 RPC 调用涉及节点数据多,运维人员更为分散,如何在错综复杂的分布式环境中快速的发现、定位、解决金融服务运行问题,成为分布式运维中的痛点与难点。
为此,一个功能完备、分析迅速的智能运维平台,成为商业银行支撑银行业务在开放平台的快速迭代和升级创新的现实需求。
以下为分布式架构下智能化生产运维的信息采集、智能分析、可视触达等方面的探索与实践,希望能为商业银行提供部分思路。
一、一体化采集分析,高时效发现潜在问题 建立完善的生产智能维护平台首先是要能安全高效地采集到生产运行信息,而银行金融产品均主要采取自研为主,技术栈及风格难以统一,若均由各产品自行采集生产运行信息,则过于复杂且低效,因此独立的采集公用构件成为智能运维平台建设的必选项。 同时,在实践中可通过消息队列等中间件能力,保证在采集的同时准实时的进行聚合分析,避免问题发现滞后而导致错过最佳处理时效的情况。 1)轻量化异常采集 采用轻量级的SDK,记录调用链路、异常、环境等信息,并准实时推送转发,于智能运维平台统一持久化并进行分类聚合。 采集端经由动态代理技术实现了对原业务代码的零侵入,可配置化的接入方式则让接入人员简单配置即可直接接入,无需额外的学习成本。 2)智能化分类聚合 智能运维平台针对不同的异常采用不同的处理策略:部分异常来自设计漏洞或编码问题,借由展示堆栈信息可快速的定位问题根因;部分异常来自网络抖动,存储介质老化等环境相关问题,需要在统计层面上关注。 借由对异常信息进行分类,准实时的聚合具体错误每天、小时、分钟的出现频次,可快速地获得各类错误在各个时间节点的分布情况。 3)准实时数据分析 采用孤立森林及时序分析等算法,将当前时间段与上几日、上几分钟,或前几天同一时间段等分布情况进行对比。 当某类错误的发生频次在数据分布上出现骤增、突刺等情况时,与已配置的节假日、营销活动等进行匹配,若不存在特定场景,快速进入预警流程,通知运维开发人员介入分析。 借由一体化采集、聚合、分析能力,从程序异常发生,到被定义为须预警场景,智能运维平台实现了秒级响应,减少了问题发现滞后的可能。 二、聚焦问题根因推测,助力定位复杂场景 分布式环境下的交易系统在带来高可扩展性及高可用性的同时,也兼具问题涉及节点多、环境影响复杂的特点。智能运维平台聚焦问题根因推测,并以此提供在线解决方案。 1)全链路问题跟踪 分布式框架中,归属不同开发团队的节点常存在自定义异常无法序列化,异常堆栈相互覆盖,或是以统一错误代码直接替换原错误信息等导致丢失错误发生现场的情况。 智能运维平台聚合各个节点采集的异常信息,采用TraceId 及 SpanId 拼接调用链路,无论采用哪个节点的上下文信息进行查询,都可快速定位到问题发生根源。 2)分布式环境关联 分布式场景中的环境问题难以定位,在定位到单笔交易发生超时、连接池满等场景时,往往难以进一步定位是具体服务节点问题还是数据库节点问题。 智能运维平台基于问题采集数据,针对相同错误问题分布呈骤增、突刺等波动的情况,分析同类问题关联容器、宿主机、数据库中 CPU、内存、资源池等情况,并提出问题根因推测,协助分析人员快速定位问题。 无论从哪个节点的信息接入,智能运维平台都能串接起这个异常链路,并追索至问题根源节点,暴露问题根本原因,减少了链路间各个节点维护人员的沟通成本。 平台更进一步的关联当前环境信息,统计并总结可能导致该问题的环境因素,减少环境导致的疑难问题的分析时效。 三、可视化运维查询,一站式触达解决方案 银行系统生产运维及开发人员在发现问题时,第一时间快速定位及获取到问题的解决方案尤为重要。银行生产交易日志的获取因其涉敏性常涉及到运维及开发人员的多次沟通及审批流程。 智能运维平台单独推送异常信息,隔离了业务交易敏感信息及交易报错内容,并借由可视化页面,为分析人员还原异常发生现场,并初步提供解决方案。 1)可视化异常溯源 可视化页面除异常的基本信息外,也包含了此次问题的时间地点等基础业务信息及容器信息,流量标签,调用链路等技术内容。通过可视化页面,可基于任意节点的部分业务信息或异常信息快速定位到问题根因,并快速了解此类错误在近几日,近几周的分布情况,实时查看预测的频次走向,观察是否出现重大偏移,协助运维开发人员快速判断。 2)解决方案推荐 问题的解决时效通常依赖于运维开发人员的个人水平及处理经验。智能运维平台搭建运维经验知识库,经由专家系统逻辑推理能力,基于当前异常现场信息及问题根因推断能力,提供问题可能性分析及相应问题处理方案,减少运维开发人员能力依赖,提高问题处理时效。 可视化页面及专家知识库,帮助分析人员仅依靠部分交易信息即可观察到整个链路情况、异常根因、分布规律并进一步获取到推荐的解决方案,减少了人员间反复沟通成本,一站式触达问题核心。 分布式架构下智能运维平台对生产运维开发人员提供一体化采集分析、全链路根因推测、可视化的查询及解决方案推荐能力,贯穿了问题处理中的发现、定位、解决流程,对推动运维时效缩减,保持金融服务稳定运行具有重要作用,将成为商业银行架构转型过程中的一个重要的基础设施建设选项。