一种基于倒序表的实时日志聚类分析方法技术

技术编号:23099272 阅读:24 留言:0更新日期:2020-01-14 20:37
本发明专利技术提供一种基于倒序表的实时日志聚类分析方法,具体步骤如下:步骤1:初始化:定义日志中每个词的封装结构;步骤2:原始日志预处理,包括正则化替换、敏感词库提出、分词器分词、词性标注、公有变量提取;步骤3:获取模板,包括日志分组、倒排表打分、获取模板、更新模板展示层内容以及倒排表。本方法具有实时日志聚类功能,提高模板的通用性,能够对日志进行并行处理,提高了分析处理的速度。

【技术实现步骤摘要】
一种基于倒序表的实时日志聚类分析方法
本专利技术涉及一种计算机领域的技术,具体涉及一种基于基于倒序表的实时日志聚类分析方法。
技术介绍
日志分析对于一个企业来说是尤为重要的,作为企业的运维人员如不能实时的了解服务器的安全状况,会给企业造成难以估计的损失。对日志进行分析不仅可以了解到软硬件设备的运行状况,还可以了解到报错日志的源头,判断出错误是由应用引发的还是系统本身引起的等,从而及时的进行补救,更好的提高企业软硬件设备的高可用性。简而言之日志分析最直接明显的两个目的,一为网站安全自检查,了解服务器上正在发生的安全事件,二为应急事件中的分析取证。但是,面对与日俱增的日志信息,利用传统的方式对日志进行分析已经不能满足企业的要求。此时,基于AI技术的日志分析算法就显得尤为重要,本专利技术提出基于倒序表的实时日志聚类算法,能够有效的帮助运维人员进行诊断以及定位问题,提高效率和解决问题的能力,起到事半功倍的效果。
技术实现思路
本专利技术的目的是提供一种基于倒序表的实时日志聚类分析方法,旨在提取日志的共有模板,检测日志中包含的失败和操作异常信息,防止出现严重的数据丢失和宕机,还可以用来检测和改善系统中的安全漏洞和故障,以及诊断各种类型的操作问题、软硬件设计缺陷等。本专利技术根据日志结构的特性,提出一种高效的实时日志聚类分析方法,具体步骤如下:步骤1:初始化:定义日志中每个词的封装结构;步骤2:原始日志预处理:第一步,正则化替换;利用正则表达式,将原始日志中的IP地址、端口号以及时间等利用$IP、$IPPort以及DateTime等字符串替换,并进行简单的封装;第二步,敏感词库提出;根据语义分析以及设置的敏感词模式,对原始日志中的敏感词进行处理,并将其类型设置为important;第三步,分词器分词;为对原始日志进行精准分词,定义中文分词器、英文分词器以及中英文混合分词器3种类型的分词器,分别用来处理这中文分词、英文分词以及中英文混合分词3种不同类型的分词需求;第四步,公有变量提取;将原始日志中的数字、需要忽略的词进行处理;第五步,词性标注;建立的verb字典树、normal字典树;利用事先建立的verb字典树、normal字典树以及nltk插件进行词性标注;步骤3:获取模板:第一步,日志分组;对处理后的原始日志进行分组处理;共定义7个大组,每个大组中并含有个数不等的小组,并且对它们都设置了匹配优先级,原始日志优先匹配级别较高的组,当同一条日志匹配到多个组时,将最先匹配到的组设置为该条日志所属的组;第二步,倒排表打分;对日志进行分组之后,对日志匹配或者生成模板;通过对原始日志的分析,采用打分的方式判断原始日志属于哪个模板,为获得最精确的模板,在打分时综合考虑关键字得分、位置得分以及邻近词得分三个方面因素;关键词得分是指对原始日志预处理后,该词的类型是否为关键词,当该词为关键词并且该词在原始日志中的位置和在模板中的位置相差在合理的范围内,则在该词在该模板上得分较高,否则得分为1;具体打分方式如下:其中,keyscore为关键词得分,q为原始日志中的词,key为关键字集合,idxq为词q在原始日志中位置,idxtq为词q在该条模板中的位置,scope为用户设置的阈值,θ为根据用户经验设置奖励项;位置得分共有两种方式,一种是各个位置的词具有同样的重要性Evenscore如下式(2),第二种是位置越靠前的词权重越高,如下式(3);用户可以根据不同的需求选择不同的打分方式;Evenscore-=1.(2)其中,Evenscore为第一种方式位置得分,WDScore为第二种方式位置得分,qid=idxq为词q在原始日志中位置,tq为词q在模板中的位置,α,β为用户设置的惩罚项;邻近词得分是指在原始日志中的上一邻近词与模板中的是否相同,相同时该词的得分为1,否则为1与惩罚α以及位置差的比值,形式如下:其中,biasscore为邻近词得分,α为用户设置的惩罚项,idxq为词q在原始日志中位置,idxtq为词q在模板中的位置,abs()为绝对值函数,last_tokenq为原始日志中的上一邻近词,last_tokent为模板中的上一邻近词;为了提高打分效率,根据倒排表的思想,对每个词建立倒排表;第三步,获取模板;倒排表打分后,得到该条日志在每个模板上的得分情况,首先设置得分阈值,对于达到得分阈值的模板,进而判断模板中是否有关键词被泛化,如果没有则说明该条日志与该条模板匹配成功;如果该条日志在每个模板上的得分都小于阈值,则利用该条日志创建一个新模板,添加到模板库中;第四步,更新模板展示层内容以及倒排表。优选的,所述步骤1中词的封装结构,共包含normal、regex、important以及verb四种类型封装结构。与现有技术相比,本专利技术的优势在于:1)该方法具有实时日志聚类功能,可以不断的增加日志模板并且可以对模板内容进一步泛化处理,提高模板的通用性;2)该方法能够对日志进行并行处理,提高了分析处理的速度。附图说明图1基于倒序表的实时日志聚类分析方法流程图;具体实施方式下面结合附图对本专利技术的实施方式作详细说明,如图1所示,实施步骤如下:步骤1:初始化:定义日志中每个词的封装结构,共包含normal、regex、important以及verb四种类型封装结构;步骤2:原始日志预处理:第一步,正则化替换;利用正则表达式,将原始日志中的IP地址、端口号以及时间等利用$IP、$IPPort以及DateTime等字符串替换,并进行简单的封装;第二步,敏感词库提出;根据语义分析以及设置的敏感词模式,对原始日志中的敏感词进行处理,并将其类型设置为important;第三步,分词器分词;为对原始日志进行精准分词,定义中文分词器、英文分词器以及中英文混合分词器3种类型的分词器,分别用来处理这中文分词、英文分词以及中英文混合分词3种不同类型的分词需求;第四步,公有变量提取;将原始日志中的数字、需要忽略的词进行处理;第五步,词性标注;建立的verb字典树、normal字典树,字典树是一种实现字符串快速检索的多叉树结构,能够降低搜索字符串的时间;利用事先建立的verb字典树、normal字典树以及nltk插件进行词性标注,防止在提取公共模板时有意义的词被泛化;步骤3:获取模板:第一步,日志分组;对处理后的原始日志进行分组处理,以便能够快速定位问题;共定义7个大组,每个大组中并含有个数不等的小组,并且对它们都设置了匹配优先级,原始日志优先匹配级别较高的组,当同一条日志匹配到多个组时,将最先匹配到的组设置为该条日志所属的组;第二步,倒排表打分;对日志进行分组之后,对日志匹配或者生成模板;通过对原始日志的分析,采用打分的方式判断原始日志属于哪个模板,为获得最精本文档来自技高网...

【技术保护点】
1.一种基于倒序表的实时日志聚类分析方法,其特征在于所述方法的具体步骤如下:/n步骤1:初始化:定义日志中每个词的封装结构;/n步骤2:原始日志预处理:/n第一步,正则化替换;利用正则表达式,将原始日志中的IP地址、端口号以及时间等利用$IP、$IPPort以及DateTime等字符串替换,并进行简单的封装;/n第二步,敏感词库提出;根据语义分析以及设置的敏感词模式,对原始日志中的敏感词进行处理,并将其类型设置为important;/n第三步,分词器分词;为对原始日志进行精准分词,定义中文分词器、英文分词器以及中英文混合分词器3种类型的分词器,分别用来处理这中文分词、英文分词以及中英文混合分词3种不同类型的分词需求;/n第四步,公有变量提取;将原始日志中的数字、需要忽略的词进行处理;/n第五步,词性标注;建立的verb字典树、normal字典树;利用事先建立的verb字典树、normal字典树以及nltk插件进行词性标注;/n步骤3:获取模板:/n第一步,日志分组;对处理后的原始日志进行分组处理;共定义7个大组,每个大组中并含有个数不等的小组,并且对它们都设置了匹配优先级,原始日志优先匹配级别较高的组,当同一条日志匹配到多个组时,将最先匹配到的组设置为该条日志所属的组;/n第二步,倒排表打分;对日志进行分组之后,对日志匹配或者生成模板;通过对原始日志的分析,采用打分的方式判断原始日志属于哪个模板,为获得最精确的模板,在打分时综合考虑关键字得分、位置得分以及邻近词得分三个方面因素;/n关键词得分是指对原始日志预处理后,该词的类型是否为关键词,当该词为关键词并且该词在原始日志中的位置和在模板中的位置相差在合理的范围内,则在该词在该模板上得分较高,否则得分为1;具体打分方式如下:/n...

【技术特征摘要】
1.一种基于倒序表的实时日志聚类分析方法,其特征在于所述方法的具体步骤如下:
步骤1:初始化:定义日志中每个词的封装结构;
步骤2:原始日志预处理:
第一步,正则化替换;利用正则表达式,将原始日志中的IP地址、端口号以及时间等利用$IP、$IPPort以及DateTime等字符串替换,并进行简单的封装;
第二步,敏感词库提出;根据语义分析以及设置的敏感词模式,对原始日志中的敏感词进行处理,并将其类型设置为important;
第三步,分词器分词;为对原始日志进行精准分词,定义中文分词器、英文分词器以及中英文混合分词器3种类型的分词器,分别用来处理这中文分词、英文分词以及中英文混合分词3种不同类型的分词需求;
第四步,公有变量提取;将原始日志中的数字、需要忽略的词进行处理;
第五步,词性标注;建立的verb字典树、normal字典树;利用事先建立的verb字典树、normal字典树以及nltk插件进行词性标注;
步骤3:获取模板:
第一步,日志分组;对处理后的原始日志进行分组处理;共定义7个大组,每个大组中并含有个数不等的小组,并且对它们都设置了匹配优先级,原始日志优先匹配级别较高的组,当同一条日志匹配到多个组时,将最先匹配到的组设置为该条日志所属的组;
第二步,倒排表打分;对日志进行分组之后,对日志匹配或者生成模板;通过对原始日志的分析,采用打分的方式判断原始日志属于哪个模板,为获得最精确的模板,在打分时综合考虑关键字得分、位置得分以及邻近词得分三个方面因素;
关键词得分是指对原始日志预处理后,该词的类型是否为关键词,当该词为关键词并且该词在原始日志中的位置和在模板中的位置相差在合理的范围内,则在该词在该模板上得分较高,否则得分为1;具体打分方式如下:



其中,keyscore为关...

【专利技术属性】
技术研发人员:杨辰葛晓波殷传旺
申请(专利权)人:上海擎创信息技术有限公司
类型:发明
国别省市:上海;31

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

1