案例名称
中原银行诊断分析平台
案例简介
中原银行诊断分析平台是为应用开发人员提供的,用于对应用系统进行问题分析、排查、定位和性能优化的平台,实现了问题诊断与分析的可视化、引导化、共享化、智能化。
系统适配及安全
在建设诊断分析平台之前,开发人员在排查定位应用问题时主要存在如下痛点:
1. 行内绝大部分系统基于java语言开发,但却无针对java语言的方便快捷使用工具,缺少好的、专业的、方便的排查工具;
2. 常见问题无法快速定位,且存在重复发生,重复查询,没有明确的指导排查方向,也无法共享排查问题方法,耗时耗力,排查效率低;
3. 现有排查问题平台是开源的Arthas,使用门槛较高,需要熟悉各种排查命令,且上手难,使用难,需要目标机器部署Arthas包,并需要访问目标进程的权限。
为此,我们建设了中原银行诊断分析平台,中原银行诊断分析平台不但支持远程一键开启JVM应用诊断,只需登录诊断分析平台管理端即可快速对应用进行诊断;还提供了火焰图、SQL监控、连接池监控、内存分析、源码查看等多达十几种功能,可以快速协助开发人员定位各种JVM应用问题。
1. 系统适配方面,中原银行诊断分析平台兼容虚拟机、K8s容器云等多种应用部署模式,尤其是容器云环境,业务系统及镜像无需任何改造即可使用平台。
2. 系统安全方面,中原银行诊断分析平台提供完善的RBAC用户权限控制功能,通过最小必要的权限分配原则,每个系统开发人员只能访问自身负责的系统应用。同时拥有审计功能,用户在诊断分析平台的所有操作做到可追溯。完善的权限及审计功能对于金融行业来说非常有必要,进一步提升了业务系统的安全性,有效避免了人为生产事故。
集成创新效果
技术创新方面:
1. 详尽直观的应用状态展示:中原银行诊断分析平台以图形化的方式展示JVM应用以及服务器的运行指标,包括JVM堆栈、线程列表、垃圾回收、线程对CPU的消耗等JVM应用指标,以及CPU、内存、网络IO、磁盘IO、磁盘空间使用等详细的服务器指标。丰富的运行指标、清晰直观的图形化展示方式,能够使开发人员快速了解应用的详细运行状态。
2. 丰富易用的诊断分析功能:中原银行诊断分析平台提供了火焰图、内存分析、SQL监测、连接池监控、动态修改日志级别、Trace、Watch、Monitor等多达十几种功能。如基于火焰图功能,只需10秒即可快速定位导致CPU、内存使用异常的具体问题代码。平台丰富的应用诊断分析功能,配合简单易用的操作界面,极大的提升了问题定位效率。
3. 自动化的事前留痕功能:中原银行诊断分析平台提供了事前留痕功能,即当监测到应用出现异常时(如CPU、内存使用异常,接口影响慢等问题),诊断分析平台会自动生成火焰图、内存快照等数据来保留“现场”,方便开发人员后续定位问题。事前留痕功能提升了业务系统的自动化运维能力,且对于解决一些偶发、难以捕捉的疑难问题非常有效。
4. 智能多纬的健康检查功能:中原银行诊断分析平台通过收集应用的各项运行指标(如:垃圾回收、CPU使用、SQL执行、连接池使用等状态指标)可自动对应用的健康状态进行打分。平台采用自动化、智能化的手段,进行多纬度的应用指标分析,可将应用的问题发现提前至开发阶段,极大的提升了系统稳定性,保障了业务的连续性。
建设效果方面:
中原银行诊断分析平台自2021年5月上线至今,已推广业务系统30套+,协助业务系统快速定位生产、测试环境等各种疑难紧急问题800次+,常见应用问题(如:CPU使用率高、频繁垃圾回收等)的定位时间从数小时缩短为5分钟,极大提升了业务系统定位问题的效率,降低了问题排查的时间成本。有效增强了业务系统的安全性、稳定性以及业务连续性,为我行分布式架构转型奠定了坚实基础。
项目牵头人
薛恩峰
项目团队成员
向坤增、陈郓、王东、杨晓兵、马姿、白小迪、张洋、于爽、张栋梁、孙伟、黄晓洋
责任编辑:韩希宇
免责声明:
中国电子银行网发布的专栏、投稿以及征文相关文章,其文字、图片、视频均来源于作者投稿或转载自相关作品方;如涉及未经许可使用作品的问题,请您优先联系我们(联系邮箱:cebnet@cfca.com.cn,电话:400-880-9888),我们会第一时间核实,谢谢配合。