一种在线日志解析方法、系统及其电子终端设备技术方案

技术编号:23512661 阅读:22 留言:0更新日期:2020-03-18 00:01
本发明专利技术提供了一种在线日志解析方法、系统及其电子终端设备,该方法包含以下步骤:S1、对每一条未解析日志进行日志预处理,得到多条不同日志长度未解析日志序列,将其归到对应的第一日志组中;S2、获取第一日志组中各日志序列的日志字符串,计算日志字符串相似度,基于日志字符串相似度在线聚类;S3、将未解析日志序列作为查询项与第二日志组的模板生成树中的模板匹配共同的节点,获取模板。其优点是:将日志按照长度进行分类,基于日志字符串相似度对日志进行二次聚类,最后使用模板生成树提取日志模板,该方法能够高效而准确地从非结构化日志中提取日志模板,方便数据分析师对日志进行更高级的分析和处理。

An online log analysis method, system and electronic terminal equipment

【技术实现步骤摘要】
一种在线日志解析方法、系统及其电子终端设备
本专利技术涉及日志解析
,具体涉及一种基于字符串聚类和模板生成树的在线日志解析方法、系统及其电子终端设备。
技术介绍
系统日志记录了系统的运行信息,作为系统在线监控和异常检测的重要数据,可帮助管理者调试系统故障及异常分析,进一步保证系统的安全性。通常日志具有海量和非结构化的特点,日志解析可以将大量非结构化的日志转换为结构化的数据,即从日志中提取模板。日志解析作为系统异常检测的第一步,提高了异常检测的效率。通常日志解析方法可分为离线方法和在线方法。离线方法是脱机解析日志的方法,需收集到系统在一个时间段内的日志,并加载到内存中训练解析模型,再利用模型解析日志。由于离线方法是脱机解析日志,不能实时解析日志,系统管理者无法及时发现系统异常行为,另外,离线方法需将日志加载到内存中训练,如果在训练后添加了新的日志类型就必须再次训练解析模型,将会消耗更多时间和人力资源。与离线方法不同的是,在线方法可以实时解析新生成日志,系统管理者能够及时发现并处理系统异常。但是当前在线日志解析方法存在两个缺点:一是现有在线方法在准确性和效率方面都有改进空间,二是这些在线方法都是为特定的日志系统设计的,各个系统的解析参数并不通用,解析效率较低,准确度较差。
技术实现思路
本专利技术的目的在于提供一种在线日志解析方法、系统及其电子终端设备,该方法基于字符串聚类和模板生成树的进行在线解析,将日志按照长度进行分类,再计算日志字符串相似度,基于日志字符串相似度对日志进行二次聚类,最后使用模板生成树提取日志模板,该方法能够高效而准确地从非结构化日志中提取日志模板,为系统管理者提供简洁直观的摘要和干净规范的结构化数据,方便数据分析师对日志进行更高级的分析和处理。为了达到上述目的,本专利技术通过以下技术方案实现:一种在线日志解析方法,该方法包含以下步骤:S1、对每一条未解析日志进行日志预处理,得到多条不同日志长度的未解析日志序列,将各条未解析日志序列归为对应的第一日志组中,所述第一日志组为具有相同日志长度的日志序列的集合,所述第一日志组包含解析过的日志序列和未解析日志序列;S2、获取第一日志组中各日志序列的日志字符串,对所述第一日志组中的第一条未解析日志序列的日志字符串与所述第一日志组中解析过的日志序列的日志字符串分别计算日志字符串相似度,基于日志字符串相似度在线聚类,得到该条未解析日志序列所在的第二日志组;S3、将该条未解析日志序列作为查询项,与所述第二日志组的模板生成树中的模板匹配共同的节点,获取该条未解析日志序列的日志模板,后续未解析日志序列依次重复步骤S2和步骤S3操作获取日志模板。优选地,步骤S1具体包含:利用正则表达式识别每一条未解析日志的日志头中与之匹配的变量信息并删除;利用预先定义的分隔符对每一条未解析日志的日志内容进行划分,得到不同日志长度的未解析日志序列,将各条未解析日志序列按照不同的日志长度归为不同的第一日志组中。优选地,所述步骤S2具体包含:S21、获取第一日志组内各日志序列的日志字符串,将第一日志组内所有解析过的日志序列的日志字符串组成该第一日志组的日志字符串集;S22、对所述第一日志组中的第一条未解析日志序列的日志字符串与所述日志字符串集中的日志字符串分别计算日志字符串相似度;S23、基于所述日志字符串相似度在线聚类,得到该条未解析日志序列对应所在的第二日志组,所述第二日志组为各条日志序列的日志字符串相似度达到相似度阈值的日志序列的集合,一个第一日志组里包含若干个第二日志组。优选地,所述步骤S21中,所述日志字符串为日志序列中每个单词的首字母组成的字符串。优选地,当单词的首字符为数字或标识符时,用通配符来表示,当单词的首字符为字母时,用字母本身来表示。优选地,所述步骤S22中日志字符串相似度的计算公式为:其中,sim(Sm1,Sm2)表示日志字符串相似度,Sm1和Sm2分别代表一条日志字符串,len(|Sm1|,|Sm2|代表两条日志字符串的长度,Sm1(i)代表日志字符串Sm1的第i个字符,Sm2(j)代表日志字符串Sm2的第j个字符,Ⅱf(Sm1(i),Sm2(j))定义如下:优选地,所述步骤S23具体为:设定相似度阈值,若存在日志字符串相似度大于相似度阈值的日志字符串,将该条未解析日志序列并入该日志字符串对应的第二日志组;若不存在日志字符串相似度大于相似度阈值的日志字符串,则新建一个第二日志组,并更新该第一日志组的日志字符串集。优选地,所述步骤S3具体为:将该条未解析日志序列中的每个单词依次插入树结构,将每条分支最后的节点标记为特殊字符,从该条未解析日志序列的根节点P开始搜索,取得所要查找单词的所在节点,若不存在匹配节点,则将该条未解析日志序列插入树结构作为新分支;若存在匹配节点,根据该匹配节点选择对应的子树并转到该子树继续进行搜索,直至该条未解析日志序列中的每个单词搜索完成,获取该条未解析日志序列的日志模板,后续未解析日志序列依次重复步骤S2和步骤S3的操作以获取日志模板。优选地,该方法还包含:判断步骤S3中日志模板是否获取成功,具体为:引入界定值X,当所述界定值X小于或等于阈值λ,表示模板生成成功,更新模板生成树,将未匹配节点更新为通配符;当所述界定值X大于所述阈值λ,将未解析日志序列作为新的分支插入模板生成树,其中,所述界定值X表示为:其中,∑unmatch(tmi)表示匹配失败的节点数量,L为日志长度,σ为该搜索路径上通配符的数量。优选地,该方法还包含:引入最大树深度参数MaxDepth,当模板生成树的叶子节点达到最大树深度参数MaxDepth时,未解析日志序列中所有未遍历的单词将不再插入模板生成树,未遍历的单词都用通配符替代。优选地,一种采用所述在线日志解析方法解析日志的日志解析系统,该系统包含:预处理模块,用于对未解析日志进行预处理,得到所述未解析日志对应的未解析日志序列;日志序列分配模块,将所述未解析日志序列按照其日志长度分配到对应的第一日志组内;日志字符串获取模块,用于对第一日志组内的日志序列进行提取,获取各日志序列的日志字符串;日志字符串相似度计算模块,用于对第一日志组中的未解析日志序列的日志字符串与解析过的日志序列的日志字符串分别计算日志字符串相似度;在线聚类模块,用于依据所述日志字符串相似度,将所述未解析日志序列划分到对应的第二日志组;模板生成树匹配模块,用于将所述未解析日志序列与第二日志组的模板生成树进行匹配,以获取该条未解析日志序列的日志模板。优选地,还包含:判断模块,用于判断所述未解析日志序列的日志模板是否获取成功。优选地,一种电子终端设备,包含:处理器,存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本文档来自技高网...

【技术保护点】
1.一种在线日志解析方法,其特征在于,该方法包含以下步骤:/nS1、对每一条未解析日志进行日志预处理,得到多条不同日志长度的未解析日志序列,将各条未解析日志序列归为对应的第一日志组中,所述第一日志组为具有相同日志长度的日志序列的集合,所述第一日志组包含解析过的日志序列和未解析日志序列;/nS2、获取第一日志组中各日志序列的日志字符串,对所述第一日志组中的第一条未解析日志序列的日志字符串与所述第一日志组中解析过的日志序列的日志字符串分别计算日志字符串相似度,基于日志字符串相似度在线聚类,得到该条未解析日志序列所在的第二日志组;/nS3、将该条未解析日志序列作为查询项,与所述第二日志组的模板生成树中的模板匹配共同的节点,获取该条未解析日志序列的日志模板,后续未解析日志序列依次重复步骤S2和步骤S3操作获取日志模板。/n

【技术特征摘要】
1.一种在线日志解析方法,其特征在于,该方法包含以下步骤:
S1、对每一条未解析日志进行日志预处理,得到多条不同日志长度的未解析日志序列,将各条未解析日志序列归为对应的第一日志组中,所述第一日志组为具有相同日志长度的日志序列的集合,所述第一日志组包含解析过的日志序列和未解析日志序列;
S2、获取第一日志组中各日志序列的日志字符串,对所述第一日志组中的第一条未解析日志序列的日志字符串与所述第一日志组中解析过的日志序列的日志字符串分别计算日志字符串相似度,基于日志字符串相似度在线聚类,得到该条未解析日志序列所在的第二日志组;
S3、将该条未解析日志序列作为查询项,与所述第二日志组的模板生成树中的模板匹配共同的节点,获取该条未解析日志序列的日志模板,后续未解析日志序列依次重复步骤S2和步骤S3操作获取日志模板。


2.如权利要求1所述的在线日志解析方法,其特征在于,步骤S1具体包含:
利用正则表达式识别每一条未解析日志的日志头中与之匹配的变量信息并删除;
利用预先定义的分隔符对每一条未解析日志的日志内容进行划分,得到不同日志长度的未解析日志序列,将各条未解析日志序列按照不同的日志长度归为不同的第一日志组中。


3.如权利要求1所述的在线日志解析方法,其特征在于,所述步骤S2具体包含:
S21、获取第一日志组内各日志序列的日志字符串,将第一日志组内所有解析过的日志序列的日志字符串组成该第一日志组的日志字符串集;
S22、对所述第一日志组中的第一条未解析日志序列的日志字符串与所述日志字符串集中的日志字符串分别计算日志字符串相似度;
S23、基于所述日志字符串相似度在线聚类,得到该条未解析日志序列对应所在的第二日志组,所述第二日志组为各条日志序列的日志字符串相似度达到相似度阈值的日志序列的集合,一个第一日志组里包含若干个第二日志组。


4.如权利要求3所述的在线日志解析方法,其特征在于,所述步骤S21中,
所述日志字符串为日志序列中每个单词的首字母组成的字符串。


5.如权利要求4所述的在线日志解析方法,其特征在于,
当单词的首字符为数字或标识符时,用通配符来表示,当单词的首字符为字母时,用字母本身来表示。


6.如权利要求3所述的在线日志解析方法,其特征在于,所述步骤S22中日志字符串相似度的计算公式为:



其中,sim(Sm1,Sm2)表示日志字符串相似度,Sm1和Sm2分别代表一条日志字符串,len(|Sm1|,|Sm2|)代表两条日志字符串的长度,Sm1(i)代表日志字符串Sm1的第i个字符,Sm2(j)代表日志字符串Sm2的第j个字符,Ⅱf(Sm1(i),Sm2(j))定义如下:





7.如权利要求3所述的在线日志解析方法,其特征在于,所述步骤S23具体为:
设定相似度阈值,若存在日志字符串相似度大于相似度阈值的日志字符串...

【专利技术属性】
技术研发人员:吴金龙王秀兰何旭东张露维胡钧毅陈晓璐谢丽燕方晓蓉祝蓓李静
申请(专利权)人:国网上海市电力公司南京航空航天大学国家电网有限公司
类型:发明
国别省市:上海;31

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

1