一种基于日志数据的云系统故障诊断方法技术方案

技术编号:36537901 阅读:48 留言:0更新日期:2023-02-01 16:27
本发明专利技术公开了一种基于日志数据的云系统故障诊断方法。所述方法包括以下步骤:对输入的日志数据进行预处理,提取日志模板、时间戳和指纹集;对预处理后的数据进行缓存,并对缓存内的数据按时间戳进行排序和提取额外指纹集;将离散的日志按任务划分形成工作流;生成带有任务标记的参照,通过生成的工作流与参照的相似性确定工作流所属的任务类别;基于自动机模型,为每个任务构建诊断自动机;计算训练数据集中每个日志模板的词频

【技术实现步骤摘要】
一种基于日志数据的云系统故障诊断方法


[0001]本专利技术属于计算机应用
,尤其涉及一种基于日志数据的云系统故障诊断方法。

技术介绍

[0002]随着云计算新技术包括SDN(Software Defined Network)、高可用性部署(High Availability)、监控和审计技术地不断发展,云计算在企业和个人的日常运转过程中正发挥很大的正向优势。由于云系统的广泛使用,工业界和学术界对云系统的稳定性和可靠性提出了一定的要求。因此,如何对云系统进行精确的故障诊断和定位成为了重要的研究课题。这不仅可以帮助维护人员快速定位导致云系统出错的模块,也可以结合自动故障恢复工具,保证云系统在发生故障时快速进行恢复,提高用户体验。
[0003]云系统运行过程中会产生海量的监控数据,包括监控指标数据、日志数据和服务调用轨迹数据等,使得运维人员难以实时发现系统故障,并寻找出导致系统故障的模块或运行节点。为了应对上述问题,许多研究者提出了基于系统监控数据的故障诊断方法,来快速发现系统中存在的故障或寻找故障根因,保障云系统的可靠性和稳定性。<本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于日志数据的云系统故障诊断方法,其特征在于,包括以下步骤:S1、分布式云系统包括多个节点,集合节点中各模块的日志,得到日志集合,对日志集合中的日志数据进行预处理,得到预处理后的日志数据,其中,日志集合中的每一条日志经过预处理转化成对应的由日志模板、时间戳和指纹集构成的元组;S2、将预处理后的日志数据添加至缓存队列中,并按元组中的时间戳进行排序,获取队首日志作为当前日志,并从队列剩余日志中提取当前日志的额外指纹集;S3、根据步骤S2中获取的当前日志及其额外指纹集,判断是否有与该当前日志匹配的待测工作流,若有,则将当前日志添加到匹配的待测工作流的末端,否则新建待测工作流,将该当前日志作为新建待测工作流的首条日志条目;S4、通过多次运行指定的任务类型,得到多个属于相同任务类型的工作流,保留工作流中共有部分,得到具有任务类型标识的参照工作流,根据待测工作流和参照工作流的相似性,确定待测工作流所属的任务类型;S5、为每个待测工作流构建其对应的有限状态自动机,合并拥有相同开始状态的有限状态自动机;S6、根据步骤S1中获取的预处理后的日志数据,提取其中出现过的所有日志模板,对每个日志模板计算其词频

逆文件频率值,得到日志模板词频

逆文件频率字典;S7、根据步骤S6获取的日志模板词频

逆文件频率字典,根据步骤S5的获取有限状态自动机,进行在线故障诊断,将实时输入的日志数据处理成由日志模板、时间戳和指纹集构成的日志元组,通过词频

逆文件频率字典决定丢弃或保留日志元组,保留的日志元组输入到后续的有限状态自动机进行匹配识别,从而完成故障的诊断和定位。2.根据权利要求1所述的一种基于日志数据的云系统故障诊断方法,其特征在于,步骤S1中,所述预处理指通过正则表达式从日志条目中获取符合相应匹配规则的日志组成部分,包括时间戳、日志模板和指纹集;所述时间戳指日志生成时的系统时间;所述日志模板指日志内容中的非变量部分;所述指纹集指日志条目中一个或多个变量的集合。3.根据权利要求1所述的一种基于日志数据的云系统故障诊断方法,其特征在于,步骤S2中,预处理后的日志数据,每个日志条目生成一个由日志模板、指纹集和时间戳构成的元组;每个生成的元组添加至缓存队列中按元组的时间戳进行排序形成有序队列,直至队首和队尾的元组其时间戳间隔大于给定阈值;获取队首日志元组作为当前日志元组,并搜索剩余缓存队列中与当前日志元组中的指纹集有公共元素的日志元组,获取搜索得到的日志元组的指纹集作为当前日志元组的额外指纹集,额外指纹集并入当前日志元组的指纹集中。4.根据权利要求3所述的一种基于日志数据的云系统故障诊断方法,其特征在于,步骤S3中,当前日志与待测工作流的匹配过程具体如下:根据步骤S2中获取的当前日志的日志元组,若当前日志元组的指纹集与待测工作流的指纹集有公共元素,且待测工作流指纹集中的公共元素其更新时间与当前日志元组的时间戳具有最小时间间隔,则当前日志与待测工作流匹配。5.根据权利要求4所述的一种基于日志数据的云系统故障诊断方法,其特征在于,步骤S4包括以下步骤:
S4.1、注入指定类型故障并运行指定的任务类型,收集任务开始时间和结束时间之间的时间窗口内的日志序列作为该类型任务的工作流,并为该工作流赋予故障和任务类型标签;S4.2、已赋予故障和任务类型标签的工作流经过预处理、缓存排序以及工作流挖掘,过滤多余的背景日志,背景日志的指纹集与工作流中其他日志的指纹集不存在公共变量,得到具有任务类型标识的工作流日志模板序列,保留多个属于相同任务类型的工作流日志模板序列中的共有部分,得到参照工作流日志模板序列;S4.3、根据步骤S3中获取的待测工作流日志序列,提取其中每条日志的日志模板,得到待测工作流日志模板序列,根据待测工作流日志模板序列和参照工作流日志模板序列的相似性,确定待测工作流的任务类型。6.根据权利要求5所述的一种基于日志数据的云系统故障诊断方法,其特征在于,步骤S4.3中待测工作流日志模板序列和参照工作流日志模板序列的相似性计算过程具体如下:计算待测工作流日志模板序列和参照工作流日志模板序列中,公共元素的占比CommRate,具体如下:其中,ls_l表示待测工作流日志模板序列所包括的元素个数,rs_l表示参照工作流日志模板序列所包括的元素个数,l表示待测工作流日志模板序列和参照工作流日志模板序列中公共元素的个数;计算待测工作流日志模板序列与各个参照工作流日志模板序列之间的公共元素的占比CommRate,获取公共元素的占比CommRate大...

【专利技术属性】
技术研发人员:刘发贵杨隆源
申请(专利权)人:华南理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1