近年来,随着城商行业务快速扩展、互联网金融业务快速发展和迭代、数据化转型加速、基础设施和数据库等的数量出现井喷式增长,系统运维面临着巨大的挑战。如何有效预判趋势、及时响应、精准定位及快速处置风险是长期存在于城商行运维领域的行业难题。持续探索突破传统运维管理模式,当前的环境条件允许进行相关的研究探索,使其在运维工作中真正落地。在这样的背景下,依靠大数据的智能运维,可以运用城商行各系统运行过程中产生的海量异构数据,以自动化、精确化、智能化的趋势判断及故障定位为措施,以科学、合理、稳妥的数据决策化处置为目标,着力推进城商行运维向标准化、智能化转型升级,切实降低操作风险,提升运维质量和效率,减少人工干预成本。
智能运维平台的设计
本文讨论遵循行业内安全可控供应链战略,基于安全可测评容器云平台的城商行智能运维平台的探索,以要求稳定性强、高并发、“洪峰”处理合理的手机银行业务应用系统为切入点,通过调研同业、行业服务商等建设路径、经验教训,灵活组合多种方式,通过融合采集、处置、应用包含业务系统、主机、中间件、网络、安全、存储等软硬件设施数据,借助大数据、人工智能金融科技方法、工具等,形成先进智能化运维平台的建设方案。
1.手机银行系统的运维现状
手机银行系统整体采用分布式微服务架构,由业务前台、接入网关、业务能力中心、内联渠道网关、分布式基础配套、运营管理、综合管理7大部分组成。手机银行服务端框架是基于J2EE的架构,采用Spring作为MVC的框架,集成了日志模块Log4j2、数据库交互MyBatis、缓存应用Redis等。
在分布式架构下,手机银行系统由多个组件和服务组成,这些组件之间存在复杂的依赖关系和交互,运维对象呈指数级增加,管理这些组件的配置、部署和升级变得复杂,需要深入了解系统的架构和运行原理。同时业务调用链路也更加复杂,生产运营的管理环节很多还是依赖于流程之后的人工排查,故障定位效率也需要做相应的提升。
由于分布式系统的复杂性,故障是不可避免的。当某个组件或服务出现故障时,需要快速定位问题的根源,并采取相应的措施进行修复。这可能涉及日志分析、性能监控、故障排查等复杂操作。运维领域缺少规范化的运维指标体系,缺少规范化的数据支撑,做运营决策会很难。生产运营的管理环节依赖于流程之后的人工排查及事后审计。管理力度比较粗放,规范落实的效果难以评估。当前运行的监控手段更多还是针对事中发生的故障,对于事前风险的隐患识别缺少相应手段。
2.系统架构的总体设计
梳理手机银行系统软件、硬件、网络、存储、安全设备架构,以及各分布式微服务与外部关联系统的逻辑关系前提下,建立了覆盖全业务链路的逻辑关系图谱,借助人工智能算法对系统日志、性能指标进行分析与预测,并给出智能化的故障排查和性能优化建议。系统架构的总体设计原则如下:需要适应城商行各系统的现状和未来的发展,包括越来越复杂的整体系统技术架构和运行环境。设计时需要以智能化、安全可测评为基础,系统运维对原系统尽量不做适应性改造,不产生运维负担,不降低其性能;具有高可用性,满足业务连续性的要求,保证运维敏感数据安全,保证运维全过程安全可靠。系统的总体架构如图所示。
从图中可以看出,系统由共同协作的几个松耦合模块组成,模块之间由数据通道链接,相互依赖度很低。按功能划分,本系统可划分为以下三个模块。一是分布式采集子系统,收集多系统、多平台、多应用的日志,建设集数据采集、解析、状态管理、日志管理为一体的工具,可以有效地对自编制脚本进行管理和监控;二是数据计算探索子系统,负责完成各路采集数据流的转换、变形、汇集等流数据处理;三是数据展示告警子系统,负责综合运维数据告警面板,使运维人员随时把握系统整体状态,并在告警发生后定位故障点。以下各节分别对系统的各模块和关键技术点进行说明。
(1)分布式数据采集。在充分考虑当前运维系统之间大量指标相关程度较低情况下,该系统在建设过程中,通过收集多应用、多设备、多维度的海量异构运维数据搭建分布式采集子系统。该模块集数据采集、解析、状态管理、日志管理为一体,可有效地对进程状态、自编制脚本进行管理和监控,满足运维人员多视角、多维度运维,满足精细化运营战略要求;能根据系统、故障类型,实时、精确地提供关键的系统运行状况,为管理人员快速决策提供支持。同时,采用了丰富的数据采集及抓取方式,包括插件、接口等,对全域各类型应用信息数据进行感知和收集,实现数据源通过采集工具到数据终端的时间达到秒级。该模块通过标准协议、Agent代理、网络流量镜像、数据接口等方式,实现对海量异构运维数据的实时监控,根据用户自定义分类进行数据归档和保存,并可实现某时间段数据的独立调阅和对比能力,既支持实时的数据采集,也支持历史的数据采集。系统能够提供全链路数据的安全传输能力,保护重要数据在传输过程中不被抓取,系统提供全面的权限管理功能,保证有且只有某数据的相关人员能够查看数据和数据分析的结果,系统能够对数据中的敏感信息作出屏蔽处理,避免对客户造成可能存在的危害。
(2)数据计算探索。原始数据往往包含噪声、缺失值、不一致性和冗余信息,这些问题若不加以处理,将直接影响数据的使用价值。因此,对数据进行适当的预处理是提高模型性能的关键。将原始数据转换成适合分析的格式,提高数据质量,从而提升后续分析或模型的性能。比如数据清洗,识别并纠正数据中的错误、不一致性和缺失值的过程;数据变换,为了使数据更适合模型需求,需要进行一系列的数据变换,包括规范化、标准化和离散化,这些变换有助于提高算法的收敛速度,并减少因特征值范围差异而产生的偏差。数据经过预处理,通过特征选择和特征抽取技术,减少了数据集的维度,同时保留了最关键的信息。多种操作类型能够被构建为多样化的处理器算子,能够从采集的非结构化、半结构化和结构化文档,为系统加工生成有价值的数据。整个预处理过程被优化至秒级响应,确保了对数据的即时访问。经预处理后的数据实时地进入大数据存储平台,从而更有效实现价值的深度挖掘,可更好地满足最大化的价值挖掘。
对于海量异构数据,数据存储是至关重要的一个环节。一直以来,数据的存储面临几个关键挑战:数据规模大、数据多样性、数据实时性、数据安全性和合规性。本系统数据计算探索模块对海量异构数据可进行有效治理,并支持多种数据类型的存储。通过数据湖架构,可以将结构化和非结构化数据统一存储在一个存储系统中,便于后续的数据分析和挖掘。流程引擎,完成各路采集数据流的转换、变形、汇集等流数据处理,充分保障采集流数据处理的实时性。构筑于Opensearch数据平台之上的数据分析和可视化平台,可以对数据进行搜索、查看、交互操作。
面对规模巨大、种类繁多的已存储的海量异构数据,通过高效的数据处理和分析技术,从中提取有价值的信息。数据计算分析关键在于如何设计有效的数据模型,以适应数据的异构性,同时保证分析的准确性和时效性。实时计算分析和离线计算分析是两种关键的数据处理方式。本系统主要考虑对实时流数据的计算,但也支持离线数据的分析。
数据计算探索子系统中,实时流处理分析相关功能主要分两部分:实时流计算引擎和动态报表展示引擎。实时流计算引擎采用流计算方式,能够在数据产生和接收的同时进行处理,快速响应业务变化,适用于需要即时决策的场景。典型的计算流程是,实时流计算引擎从数据存储模块中读取已离线训练好的模型文件,运用相关算法框架将所读取的文件还原为之前训练完成的模型,最终所有模型都将经由流处理引擎的对应组件统一生成,并向下分发到各个执行组件,进行实时处理。数据展示告警子系统会根据计算结果,判断影响程度,确定是否需要启动相应的告警机制。动态报表展示引擎用实时流计算引擎计算的结果,通过实时报表的形式,可实时展示动态数据。
离线计算分析采用离线大数据批处理计算方式,用分布式计算架构处理引擎对存储的大量历史数据进行批量处理和分析。离线计算的优势在于其高吞吐量和对复杂查询的支持,能够处理复杂的数据关联和转换任务,比如用户行为分析、交易趋势预测等,帮助系统运维人员发现趋势、优化策略,并形成长期的数据驱动决策。
(3)数据展示告警子系统。图形化展示和告警功能是本系统核心组成部分,为运维人员提供统一的工作界面,直观、实时的系统监控和管理。在图形化展示方面,采用仪表盘(Dashboard)的形式,集成多种图表类型,如实时监控图表、趋势线图、资源使用率饼图等,展示关键性能指标(如交易处理量、系统响应时间、服务器负载、交易失败率、失败交易占比、交易机构排名等)。这些图表不仅能够实时反映系统当前的运行状况,还能够通过历史数据分析,展示长期趋势和周期性变化,协助运维人员进行预测性维护和资源配置优化。运维人员能够随时了解系统整体状态,且能在图形化界面中逐层下移,达到报文级定位,迅速锁定故障原因,及时精准处理。
告警机制是本系统的另一重要功能。通过设置阈值和规则,系统能够自动检测异常情况,并在关键指标超出正常范围时触发告警。这些告警可以通过电子邮件、短信等多种方式及时通知到相关运维人员。告警信息通常包含问题描述、影响范围、建议的紧急措施等,使得运维团队能够迅速采取行动,减少系统故障对业务的影响。
数据的展示告警对于确保城商行业务的连续性和稳定性至关重要。通过实时监控、直观展示和智能告警,运维团队能够有效地管理和维护复杂的城商行信息系统,保障金融服务的安全和可靠。
3.安全可测评容器云服务体系
选择容器平台支撑智能运维平台,可以提高应用程序的效率和质量,降低IT成本和复杂度,容器技术支撑应用的技术优势和特点,使得它成为现代应用开发和运维中不可或缺的技术手段。同时借助于KubeSphere容器管理平台,可以帮助城商行更好地管理其容器化应用程序,为城商行业务容器发展提供了一整套完整的解决方案,以下根据城商行实际情况对容器平台的优势和特点进行说明。
(1)云服务体系“轻量化”提升。容器技术解除了应用运行环境与操作系统的耦合,使应用程序及其运行环境以轻量级、标准化的形式进行封装。“轻量级”使容器比虚拟机占用更少的计算和内存资源,并可以迅速启动;“标准化”使容器兼容异构操作系统,保证应用程序在开发、测试、运维等生产流程中平稳运行。依托容器架构,更易于实现敏捷开发与自动化运维,进而将更多生产力投放在核心业务逻辑上。
平台可以提高应用程序的部署、运行和管理效率,减少手动配置和管理的复杂度。容器平台还可以提供标准化的环境和工具,使开发和运维可以更加高效,从而提高应用程序的质量和效率。另外,容器技术可以满足应用程序高可用性、高性能和高安全性要求,可以将应用程序和其依赖项打包在一起,形成一个可移植的单元,可以在任何地方运行,而不需要修改代码或配置文件,使容器化应用程序更易于部署、管理和维护。
(2)提供高效的可观测性。平台可提供高效的可观测性,实现多维度多角度的监控。基于跨集群统一的多维监控覆盖、独立的监控管理菜单,为不同角色的用户提供便捷快速的监控服务,全面深度集成云原生监控领域事实上的标准Prometheus,支持集群节点、项目、工作负载、Pod及容器多维度监控全覆盖并支持逐级细化,同时提供丰富的监控指标、简洁美观的UI展现,提供即时值、趋势、排行等多种展现方式。
(3)提供持续集成、交付全流程。平台可视化CI/CD流水线,提供从仓库(SVN/Git)、代码编译、镜像制作、镜像安全、推送到仓库、应用版本到定时构建的端到端流水线设置,支持使用者在开发、测试等环境下的端到端高效流水线能力,整体提升开发测试等工作效率。同时支持代码安全静态扫描,自动基于模板从代码构建容器镜像,并完成推送、部署。支持平台已有的微服务应用的平滑迁移,可以无缝迁移到容器平台,同时提供灰度发布、链路追踪、熔断、限流等微服务功能。
基于容器管理平台兼容异构基础设施特性,应用易于在更多环境中进行测试,进而有效提高应用程序质量,且易于抹平开发、测试、生产环境差异,利于开发与运维团队协同,推动微服务架构与DevOps的落地,进而驱动核心应用向云原生应用转型,赋能数字业务创新。
实际应用场景
本系统上线以来,已接入监控手机银行及其他8个关联系统。手机银行完全实现了全域软硬件及设备监控,其中在“业务层”提供8个外部关联系统和8个手机银行对外服务的模型展示;在“应用层”提供了手机银行微服务、应用网关、HTTP代理服务、Zookeeper集群、Reids集群、Oracle数据库服务等16个模型展示;在“资源层”提供了虚拟机、小型机、SVC管理、SAN交换机、华为存储、负载均衡设备,共计52个模型展示;在“网络层”提供了接入交换机、核心交换机、防火墙、汇聚交换机、全局负载均衡、IPS安全设备、IDS安全设备、WAF安全设备等,共计21个模型展示。
截至目前,该系统部署近千个数据采集点、25个集中数据采集服务平台和8个流数据处理引擎,平均每秒2万左右的JSON文档的吞吐量落盘存储。经初步测算,系统动态风险事件准确率提升至99.48%以上,误报率降低至0.52%以下,业务应用运维效率提升105%。该系统的建立极大降低了城商行的运营成本,提升了运营效率。
结语
本文重点论述了基于安全可测评、容器云的智能运维系统的研究设计,相应设计实现的系统所用到的关键技术均安全可控。自上线以来,系统7×24小时稳定运行,显著提高了信息科技运营效率,降低了运营成本,带来了显著的经济和社会效益。借助大数据分析、人工智能等技术,不断提升运维质量和效率,满足了运维人员提前预判、自动发现、智能快速定位的诉求。系统的未来发展将考虑进一步支持根因分析和3D技术应用,运用根因分析算法智能精确定位异常,应用3D可视化技术建立相应的数字孪生模型,对分析后的数据指标进行多元化的展示,帮助城商行实现全行运维数据全流程、全过程、全域实时数据可视化监控,提升运维效率。
参考文献
[1]魏茂泉.大数据平台用户日志采集与实时监控系统的设计与实现[D].山东大学,2020.DOI:10.27272/d.cnki.gshdu.2020.000968.
[2] 冷迪.自动化运维管理平台设计及实现[J].技术与市场,2018,25(11):62-64+67.
[3]云计算开源产业联盟.企业级AIOps实施建议白皮书[OL].(2018-04-13)[2022-05-09].https://pic.huodongjia.com/ganhuodocs/2018-04-16/1523873064.74.pdf.
[4]何东,马晓辉,刘国印.大数据技术在智能公交系统的应用[J].智能建筑与智慧城市,2022.(07):177-179.DOI:10.13655/j.cnki.ibci.2022.07.056.
(此文刊发于《金融电子化》2024年10月下半月刊)
热门跟贴