针对无格式日志的在线解析方法及系统技术方案

技术编号:28295389 阅读:20 留言:0更新日期:2021-04-30 16:19
本发明专利技术提供一种针对无格式日志的在线解析方法及系统,属于计算机技术领域。所述方法包括:日志预处理,将接收到的日志处理为分组模板;模板聚合,将所述日志分组模板进行聚合分类,根据聚合分类结果更新日志对应的预设特征模板。所述在线解析系统应用所述的针对无格式日志的在线解析方法,该系统包括:日志预处理单元,用于将接收到的日志处理为分组模板;模板聚合单元,用于将所述日志分组模板进行聚合分类,根据聚合分类结果更新日志对应的预设特征模板。该方法无需对日志格式提前了解就可以根据日志时间实时对日志模板进行解析,同时对非固定长度的日志模板进行准确解析,提高解析的准确度。

【技术实现步骤摘要】
针对无格式日志的在线解析方法及系统
本专利技术涉及计算机
,具体地涉及一种针对无格式日志的在线解析方法以及一种针对无格式日志的在线解析系统。
技术介绍
大规模系统通常会生成日志来记录系统状态和运行时的信息,每个日志都包含了时间戳和指示发生了什么事件的日志信息。这些有价值的日志信息经过日志解析后,可以使用机器学习的方法来进行异常检测,及时发现系统中的异常事件。每个日志消息由相应系统开发人员编写的一种日志语句打印,并记录一个特定的系统事件。开发人员编写的自由文本消息内容通常很难结构化,因为它是由常量字符串和变量值组成的。常量部分取决于日志消息的事件模板,在不同事件发生时保持固定。变量部分携带感兴趣的动态运行时信息(即参数),这些信息在不同的事件发生之间可能有所不同。日志解析的目标是将每个日志消息转换为参数和与之相关联的特定事件模板。日志解析的传统方法,是基于关键字匹配对日志进行解析和识别。更具体地说,每个日志消息都可以被解析成带有一些日志头如日期、级别以及包含参数(可变部分)的事件模板(固定部分)。如日志消息:2020-04-2820:15:54INFOReceivedblockblk_321ofsize67108864from10.251.126.5:50010,被解析成为时间、级别和事件,事件模板为"Receivedblock*ofsize*from*"。这种传统方法在面临复杂系统和多样性以及变化性的日志时十分低效。2017年《Drain:AnOnlineLogParsingApproachwithFixedDepthTree.pdf》论文中提到的固定深度树自动算法,基于相同日志模板的日志长度相同的假设,先将日志根据长度分类,再根据固定深度的(默认使用第一个)标记(token)继续分类,最后在类内根据相似度阈值的方法进行分组,得到不同分组的日志模板。这种计算方法最大的缺陷是其假设不成立,即:相同日志模板产生的日志长度未必相同。例如两个事件:s1=CommandDropTableFailedon:node-127s2=CommandUpdateIndexFailedon:node-235node-236事件s1和s2的日志模板均为Command*Failedon:*,其参数长度可变,而非属于两个不同的日志模板。Drain(depthtreebasedonlinelogparsing,基于深度树的在线日志解析)在处理这样的参数长度可变事件时并不能够准确的解析,会将本应属于同一日志模板的事件划分为不同的日志模板,增加了系统模板的数量,降低了解析准确度。
技术实现思路
本专利技术实施方式的目的是提供一种针对无格式日志的在线解析方法及系统,该方法无需对日志格式提前了解就可以根据日志时间实时对日志模板进行解析,同时对非固定长度的日志模板进行准确解析,提高解析的准确度。为了实现上述目的,本专利技术第一方面提供一种针对无格式日志的在线解析方法,所述方法包括:日志预处理,对接收到的日志进行预处理,得到日志分组模板;模板聚合,将所述日志分组模板进行聚合分类,根据聚合分类结果更新日志对应的预设特征模板。进一步地,所述对接收到的日志进行预处理,得到日志分组模板,包括:根据参数规则将日志中的参数变量替换为对应的字符串;将参数变量替换完成后的日志切分为多个标记;构建解析树,对切分后的日志进行分类;对于每一分类,根据相似度对该分类的日志进行分组;对于每一日志分组,确定该日志分组是否存在预设分组模板:若存在,比较该日志分组内的日志与该日志分组的预设分组模板位于相同位置的标记,若两个标记不相同,使用通配符代替所述预设分组模板相应位置的标记,得到所述日志分组模板;若不存在,则新建日志分组,将新建的日志分组内的日志作为该日志的日志分组模板和该日志分组的预设分组模板。进一步地,所述构建解析树,对切分后的日志进行分类,包括:通过日志标记数和索引构建解析树,对切分后的日志进行分类。进一步地,所述将所述日志分组模板进行聚合分类,根据聚合分类结果更新日志对应的预设特征模板,包括:日志分组模板处理:将日志分组模板中相邻的通配符合并为一个通配符,得到第一日志分组模板;判断所述第一日志分组模板是否存在对应的预设特征模板;若不存在,将所述第一日志分组模板新建为预设特征模板;若存在,则计算第一日志分组模板与对应的预设特征模板之间的编辑距离;根据所述编辑距离计算第一日志分组模板与对应的预设特征模板之间的相似度;若所述相似度大于或等于设定阈值,则将第一日志分组模板与对应的预设特征模板进行合并,得到公共特征模板,并将预设特征模板更新为所述公共特征模板;若相似度小于设定阈值,则将所述第一日志分组模板新建为预设特征模板;记录新建或更新的预设特征模板的ID。通过对日志分组模板进行处理将使用通配符代替的不同长度的参数处理来具有相同的长度,减小仅存在参数长度不同的日志分组模板分类解析错误的概率,同时通过将第一日志分组模板与预设特征模板进行合并,得到的公共特征模板作为新的预设特征模板,能够持续更新系统预设特征模板,相当于预设特征模板具有自学习功能,有效提升日志解析准确率。可选的,所述根据所述编辑距离计算第一日志分组模板与预设特征模板之间的相似度,包括:采用SimTpl=(n-LevDistance)/n计算相似度,其中,LevDistance为所述编辑距离,SimTpl为所述相似度,n为所述第一日志分组模板字符数和预设特征模板字符数中的较大值。可选的,所述在线解析方法还包括:将原始日志和日志分组模板对应的索引进行存储。这样存储后用户可以通过分组模板查询对应的特征模板和特征模板ID,用户也可以查询当前模板包括的所有原始日志。本专利技术第二方面提供一种针对无格式日志的在线解析系统,所述在线解析系统应用所述的针对无格式日志的在线解析方法,所述在线解析系统包括:日志预处理单元,用于对接收到的日志进行预处理,得到日志分组模板;模板聚合单元,用于将所述日志分组模板进行聚合分类,根据聚合分类结果更新日志对应的预设特征模板。进一步地,所述日志预处理单元包括:变量替换模块,用于根据参数规则将日志中的参数变量替换为对应的字符串;切分模块,用于将参数变量替换完成后的日志切分为多个标记;分类模块,用于构建解析树对切分后的日志进行分类;分组模块,用于根据相似度对每一分类中的日志进行分组;日志分组模板生成模块,用于确定每一日志分组是否存在预设分组模板:若存在,比较该日志分组内的日志与该日志分组的预设分组模板位于相同位置的标记,若两个标记不相同,使用通配符代替预设分组模板相应位置的标记,得到日志分组模板;若不存在,则新建日志分组,将新建的日志分组内的日志作为该日志的日志分组模板和该日志分组的预设分组模板;所述模板聚合单元包括:模本文档来自技高网
...

【技术保护点】
1.一种针对无格式日志的在线解析方法,其特征在于,所述方法包括:/n日志预处理,对接收到的日志进行预处理,得到日志分组模板;/n模板聚合,将所述日志分组模板进行聚合分类,根据聚合分类结果更新日志对应的预设特征模板。/n

【技术特征摘要】
1.一种针对无格式日志的在线解析方法,其特征在于,所述方法包括:
日志预处理,对接收到的日志进行预处理,得到日志分组模板;
模板聚合,将所述日志分组模板进行聚合分类,根据聚合分类结果更新日志对应的预设特征模板。


2.根据权利要求1所述的针对无格式日志的在线解析方法,其特征在于,所述对接收到的日志进行预处理,得到日志分组模板,包括:
根据参数规则将日志中的参数变量替换为对应的字符串;
将参数变量替换完成后的日志切分为多个标记;
构建解析树对切分后的日志进行分类;
对于每一分类,根据相似度对该分类的日志进行分组;
对于每一日志分组,确定该日志分组是否存在预设分组模板:
若存在,比较该日志分组内的日志与该日志分组的预设分组模板位于相同位置的标记,若两个标记不相同,使用通配符代替预设分组模板相应位置的标记,得到日志分组模板;
若不存在,则新建日志分组,将新建的日志分组内的日志作为该日志的日志分组模板和该日志分组的预设分组模板。


3.根据权利要求2所述的针对无格式日志的在线解析方法,其特征在于,所述构建解析树,对切分后的日志进行分类,包括:
通过日志标记数和索引构建解析树,对切分后的日志进行分类。


4.根据权利要求2所述的针对无格式日志的在线解析方法,其特征在于,所述将所述日志分组模板进行聚合分类,根据聚合分类结果更新日志对应的预设特征模板,包括:
日志分组模板处理:将日志分组模板中相邻的通配符合并为一个通配符,得到第一日志分组模板;
判断所述第一日志分组模板是否存在对应的预设特征模板;若不存在,将所述第一日志分组模板新建为预设特征模板;
若存在,则计算第一日志分组模板与对应的预设特征模板之间的编辑距离;根据所述编辑距离计算第一日志分组模板与对应的预设特征模板之间的相似度;若所述相似度大于或等于设定阈值,则将第一日志分组模板与对应的预设特征模板进行合并,得到公共特征模板,并将预设特征模板更新为所述公共特征模板;若相似度小于设定阈值,则将所述第一日志分组模板新建为预设特征模板;
记录新建或更新的预设特征模板的ID。


5.根据权利要求4所述的针对无格式日志的在线解析方法,其特征在于,所述根据所述编辑距离计算第一日志分组模板与预设特征模板之间的相似度,包括:采用SimTpl=(n-LevDistance)/n计算相似度,
其中,LevDistance为所述编辑距离,SimTpl为所述相似度,n为所述第一日志分组模板字符数和预设特征模板字符数中的较大值。


6.根据权利要求3所述的针对无格式...

【专利技术属性】
技术研发人员:王高杰王智民
申请(专利权)人:北京六方云信息技术有限公司
类型:发明
国别省市:北京;11

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

1