文 / 招商银行信息技术部 章子乔 陈志礼 王云龙
近年来,银行业务的数字化与智能化转型速度加快,背后的支撑系统也愈加复杂,促使可观测能力的发展成为了必然趋势。招商银行系统全面上云后,为数字化智能化奠定了坚实基础,云上敏捷化可扩展等特点,为业务发展打开了新的空间。但上云后招商银行也迎来了新的挑战,随着应用数量和调用关系呈几何级增长,网络结构日益复杂,传统应用层系统的日志、状态和链路工具已无法满足云上可观测需求,云网络问题逐渐显现,包括以下痛点。
网络可观测盲区扩大。传统物理网络演变为三层云网络架构,流量交互变成了庞大的Full-Mesh网络模型,导致需观测点大幅增加,开发人员对云网络架构愈发陌生,难以快速定界是应用层还是网络层问题。同时,由于云网络问题不涉及业务逻辑,在开发测试环境中难以发现,根因排查大多经验不足,导致定位和解决问题耗时较长。
现有监控工具支持有限。复杂度增加带来了系统性问题。首先,复杂系统间问题的传导往往是非线性的,通讯网络抖动会引发跨系统的影响关联,问题定位难度明显增加;其次,银行业技术体系因历史沿革,技术存在多样性,云环境由大量软硬件的复杂组合形成,存在较多个性化需求,需要结合网络与应用层进行分析;再者,由于观测点增多,现有可观测工具之间存在信息孤岛效应,各类工具缺乏联系纽带,只能依靠人工将不同的经验整合在一起。当问题出现时,往往多处监控工具同时报警,因时间差和消费速度差异等因素,无法保证严格时序性,运维人员会被迫忙于处理各种局部问题,因果推断困难,优先级不明,信噪比低,导致排障效率低下且容易出错。
解决方案
招商银行基于自身特点,自主研发了云环境复杂网络全栈可观测平台,融合新兴技术与先进理念,面向多类型网元、多云环境、多版本内核、多通讯协议,构建了一体化解决方案,赋能云上生产力提升。
1.技术设计
(1)零插码采集。平台采用“BPF、旁路镜像、泛化拨测”三种策略,覆盖Pod、虚机、BGW、BFE、交换机等基础设施节点,适配招商银行ACS、FTC、TCE信创等多种云环境,兼容不同版本Linux内核,借助WASM提供应用通讯协议动态扩展能力。无侵入式采集应用层请求状态、系统调用层IO耗时、DNS域名解析时延、传输层TCP重传次数和网络层收发字节大小等全技术栈观测信号,为云环境复杂网络全栈可观测建设提供数据支撑。
(2)高性能计算。针对cBPF/eBPF采集模式,平台将通讯五元组识别、链路关联打标、应用协议解析和网络流向推断等处理逻辑下沉至内核态执行,避免无效数据从内核态到用户态的复制开销。结合perf_event和mmap机制,完成高效跨态数据同步,基于掩码处理算法实现采集与服务端的加密传输。
(3)低成本存储。平台为观测数据量身定制了压缩存储、冷热分离的数据存储策略,降低了数据存储的成本,扩展了数据的使用场景。通过元数据编码和稀疏存储,将数据转义重新排列以减少90%的存储空间占用。通过冷温热三层数据存储机制,降低单位数据存储成本,提升数据查询效率。
(4)实时性告警。中继服务通过TomcatAPR模型在高并发情况下接收观测信号,历经多管道并行处理、Flink流式计算和规则引擎检测,进行主动告警,告警实时性高。
(5)安全性保障。基于安全要求设计统一管控措施,平台针对Pod、虚机等多类宿主,平台均采用进程态部署采集Agent,并设置CPU、内存资源使用限制,提供一键启停、一键版本变更和实时监控等功能。采集Agent会根据宿主资源情况弹性伸缩采样率,对同宿主应用时延影响控制在毫秒级。同时通过eBPF验证器的DAG检测、指令模型也可规避不可达/无效等程序漏洞。
2.应用设计
平台从业务、开发、运维、资源管理人员四个视角,对全栈信号关联整合,利用低代码、内核追踪、NAT染色、3D可视化等技术,构建业务关联、应用通讯、单笔链路、逻辑网络、物理网络地图五大功能,提供多维服务,打造了适配多岗位人员、具备全周期服务的一站观测能力。
(1)面向开发视角的应用通讯地图。平台基于二八原则,抽象Pod、虚拟机、物理机、F5、BGW、BFE、SLB等重要节点,构建服务间通讯拓扑。开发人员可以直观洞察服务间网络调用链路,利用RED监控指标进行异常预防,通过应用和内核层流日志挖掘隐藏请求并补全现场,实现自动化服务故障诊断,大幅提升开发人员的运维能力和效率。
(2)面向运维视角的单笔链路地图。对系统调用read/write等方法出入点、Pod网卡和虚机网卡进行零插码埋点,基于traceId、threadId、flowId、TCP序列号等标签纵向打通应用、PaaS和IaaS层,横向串联终端和转发类节点。对于存在IP转换的代理类节点,平台依托四层NAT前后的五元组、七层traceId进行桥接关联,绘制代理前后的TCP行为画像,实现覆盖各类网元的全链路追踪能力,辅助进行精细化故障定界和根因挖掘。
(3)面向资源视角的逻辑网络地图。基于BGW、MUX、交换机等物理节点,融合中心、团队、科室和服务单元等逻辑概念节点,按照资源从属关系,通过Neo4j图技术构建全行级逻辑网络地图。采用常态化拨测不断下钻巡检、自动化诊断实时上卷耦合,快速定界大范围网络故障。借助服务单元等逻辑节点,关联业务地图,智能化获知故障对应的系统影响范围、业务影响范围等,加快故障处置效率。
(4)面向资源视角的物理网络地图。聚焦底层链路可视化,对容器网络、云网络和骨干网络按照物理组网架构进行仿真建模,构建全行级物理网络地图。该地图可以实时监控全局云网健康状况,可视化界定多层级分布式复杂网络架构的异常范围,精细化定位核心交换机、BGW、MUX和物理机等网络设备故障点,持续提升招商银行全局化云网态势感知能力。
(5)面向业务视角的业务关联地图。为了打通业务交易与网络观测的关联,平台还提供轻量化流程引擎ReactFlow等低代码工具,支持业务人员简单拖拽绘制业务流程图,自定义观测指标,实现业务地图的构建。从业务视角出发,提供面向业务交易链的波动监测和影响分析等功能,利用可观测能力为业务持续赋能。
图 系统架构图
完善体系
1.开放能力。除可交互界面外,平台还通过API接口及自定义报表的方式对外输出可观测能力,为其他系统平台赋能,渐进式完善通讯故障诊断的未能覆盖之处。平台还整合了其他可观测工具的数据资源,提升通讯故障诊断场景的覆盖率。如微服务调用链路数据、应用调用日志等。通过融合多平台的数据,打通各层数据链路,强化了平台网络故障诊断的能力。
2.智能分析。平台基于网络运维人员专家经验形成了特有的诊断算法,同时引入机器学习和人工智能技术,进一步提升故障检测和根因分析的准确性和效率。通过对历史故障数据的学习,平台能够在新的故障发生时快速识别并定位问题。同时,结合大数据分析技术,平台能够从大量的观测数据中挖掘出潜在的性能瓶颈和风险点,提供预防性维护建议,降低故障发生的概率。
3.闭环管理。平台为开发和运维人员提供网络故障诊断历史资料库,开发和运维人员将网络故障分析总结导入历史库,为后续网络故障提供借鉴经验,并基于历史库数据提供GPT类智能问答功能,大幅降低网络定位的门槛。
总结
推广使用以来,平台服务了招商银行30多万实例,涉及零售核心、信用卡核心、零售支付中台、手机银行等重要业务系统,业务覆盖率超过92%,复杂网络故障定位时长P50低于10分钟,排障效率得到显著提升。平台未来将在可观测的基础上进一步探索自动化智能化运维。将快速定界能力与Kubernetes等基础设施关联,实现从部署、监控到告警处理的全流程管理。将Agent与脚本驱动结合,探索辅助运维人员实现复杂操作的简便化、自动化与智能化,进一步加速定界定位失效,减少人工干预。
招商银行云环境复杂网络全栈可观测平台,在银行业云环境下,通过BPF采集、旁路镜像、多维拨测等技术,对云架构网络通讯拓扑进行了综合建模,提供了多种视图智能分析,构建了面向未来发展的云上应用通讯可观测性体系。平台基于招商银行技术特点,实现了自动化快速定位应用通讯故障,显著提升了云上系统的稳定性,取得了良好的使用效果。在云上各类先进技术的加持下,招商银行能够更好地适应市场变化,提高竞争力,为客户提供更优质的服务。
(此文刊发于《金融电子化》2024年9月上半月刊)
新媒体中心
主任 / 邝源
编辑 / 姚亮宇 傅甜甜 张珺 邰思琪