分布式转型时期,日志分析难题如何应对?

中国工商银行软件开发中心广州技术部 2024-04-24 10:46:00
以下场景,您曾经历过吗?

 

  • 作为试人员,您负责测试的服务内部抛出异常,想要获取具体应用日志却懊恼于不知应下载哪个服务层、哪个容器的日志;服务链路的下游应用报错了,您却只能等待着协调下游开发人员配合分析给出结论……

  • 作为境经理,您肩挑维护测试环境稳定可用的重担,在面对简短的有头无尾的报错日志时,想要分析根因却无从下手,导致无法快速定位问题;在面对不同应用不同服务差异化的异常信息返回片段,没能形成可复用的经验,常在重复问题上重复投入精力……

  • 作为开发人员,您的代码在本地正常执行,但在测试环境偶尔抛出程序异常却未能及时获知潜藏的程序运行隐患……

 

如果您曾有过上述类似经历感受,表示您也曾因为苦于异常日志的定位难、分析难,让其成为问题解决之路上的“拦路虎”。

 

从根源上分析,正是因为应用系统在分布式转型后续的复杂度提高,规模膨胀,日志分布随之变得复杂,日志数据量也不断攀升,而且分布式体系下涉及的技术栈种类丰富,导致日志数据存在多种格式和来源,致使人工甄别、跟踪成本飙升,所以在进行问题分析时需要更多考虑节点分散部署的特征、日志聚合分析以及问题分析时效的要求,需要仔细思考如何将日志数据可视化,解决应用在分布式转型后问题排查的困扰。 

 

一、驱虎之道

 

随着分布式、云计算和大数据等技术的发展和应用,企业的IT系统变得越来越复杂和庞大,传统运维模式已难以解决日趋复杂的运维挑战。与此同时,人工智能技术发展迅速、技术成熟度不断提高。在此背景下,AIOps应运而生,旨在通过人工智能技术实现自动化监控、诊断和预测,减少人工干预,从而提高IT应用系统运维效率和质量,AIOps逐渐成为未来运维发展的趋势之一。运维发展历程如图1所示。

 

图片

图1 运维发展历程示意

 

2022年6月,中国信通院发布了《云计算智能化运维(AIOps)能力成熟度模型 第1部分:通用能力要求》,从感知、分析、决策、执行、知识更新五个维度将智能运维能力划分为5个级别,如图2所示。

 

图片

图2 智能运维5个级别示意

 

考虑到应用日志分析涉及到收集、处理和分析程序产生的日志文件数据,以了解系统性能、诊断问题并改进系统,是运维领域的一个重要任务,可参考智能化运维程度的梯度能力建设方法理念,建设一套适配于应用日志分析领域的智能化运维流程策略,对标L4全面智能化运维能力探索实现从感知到执行阶段的能力建设,如图3所示。

 

图片

图3 全面智能化运维能力建设示意

 

于是,研发环境运维团队将原有日志异常排查场景下的人工排查经验,结合智能化的建设思路将其固化为数字流程和模型参数形式的数字资产,并基于测试环境中海量的日志报文数据开展了首次实践并取得了较好的实践效果。 

 

二、技术实践

 

基于文本聚类和RNN循环神经网络模型算法等人工智能新技术运用,形成“环境问题智能分类”,快速自动反馈环境可用情况,快速定位环境问题并配套智能诊断和自愈,实现研发质效提升。

 

该实践与业界通用实践相比,主要创新点体现在以下几个方面:

 

 
1. 异常信息聚合提取

 

如何从形式各异的文本信息中捕获异常信息是一个难点,可通过对报文路径进行聚合,实现错误码和错误日志的准确匹配,如图4所示。  

 

图片

图4 异常信息聚合提取示意

 

 
2. 词向量去噪生成

 

针对日志文本词汇量无穷的问题,文本噪声过多,导致异常分类特征在整个文本中过于分散,模型不易收敛且易产生过拟合问题,因此对特征工程进行优化提取,能够有效将日志中无限的词汇量转换为有限维词向量,便于输入智能模型进行训练,如图5所示。

 

图片

图5 词向量去噪生成示意

 

 
3. 运用RNN循环神经网络模型算法

 

训练标准标签库实现异常定位智能分类推荐标签。智能分析后,对于结论为应用节点技术栈状态检测异常的数据,触发技术栈检查及自愈机制,其他对接智能诊断库精准推送各角色处理,如图6所示。

 

图片

图6  RNN循环神经网络模型算法示意

 

三、实践效果

 

 
1. 智能异常定位促进降本增效

 

释放测试环境维护人员原本需要逐条判断异常日志类型相关工作,而现在90%异常问题可通过上述方式自动化处理。同时随着人工标注数据不断增加,后续模型准确性也将逐步提升,实现了将人工运维经验沉淀为数字化资产(如图7所示),进一步促进运维领域数字化转型。

 

图片

图7 将人工运维经验沉淀为数字化资产示意

 

 
2. 明确异常问题分布,辅助系统优化决策

 

在以往的测试环境问题运维过程中,由于异常问题跟进主要由人工执行,执行后难以对问题诊断过程和结果进行记录,使得管理者难以从宏观视角把握目前环境问题中各问题的分类占比。而通过智能分类后,大部分异常问题能够通过智能系统自动分类,使得各时段可用率情况(如图8所示)、不可用情况类型占比等信息更容易采集统计,对后续环境问题治理提供有效支撑。

 

图片

图8 智能系统自动分类得出的各时段可用率情况示意

 

作者丨中国工商银行软件开发中心广州技术部
来源丨公众号:BanTech智库(ID:BanTech_Research)
dbaplus社群欢迎广大技术人员投稿,投稿邮箱:editor@dbaplus.cn
最新评论
访客 2023年08月20日

230721

访客 2023年08月16日

1、导入Mongo Monitor监控工具表结构(mongo_monitor…

访客 2023年08月04日

上面提到: 在问题描述的架构图中我们可以看到,Click…

访客 2023年07月19日

PMM不香吗?

访客 2023年06月20日

如今看都很棒

活动预告