【技术实现步骤摘要】
一种基于令牌转换的多序列日志解析方法和系统
[0001]本专利技术属于计算机日志分析
,更具体地,涉及一种基于令牌转换的多序列日志解析方法和系统。
技术介绍
[0002]如今,自动日志分析已经得到了广泛的应用,包括异常检测、故障诊断、程序分析验证、调查取证、性能诊断等。自动日志分析的工作原理是将日志信息解析为结构化数据,生成特征矩阵,最后利用数据挖掘技术(如PCA、LSTM等)进行日志分析。
[0003]日志解析是自动日志分析的第一步,它将半结构化消息(即日志消息内容)转换为结构化数据(即日志模板和参数),这些数据用作后续日志分析任务的输入。在日志解析过程中,首先需要根据分隔符(如空格)将日志内容拆分为令牌(其中令牌有两种类型:1)常量令牌,即日志消息的固定部分,即源代码输出语句的静态部分;2)变量令牌,即代码中的参数),然后使用通配符
‘
<*>
’
替换变量令牌以生成日志模板。
[0004]现有的自动日志解析方法主要有以下四类:基于规则的解析方法、基于聚类的解析方法、基于频繁模式挖掘的解析方法、以及基于启发式规则的解析方法;基于规则的方法是最早的日志解析方法,它依赖于正则表达式,该方法使用正则表达式来分隔每个日志消息,然后使用预定义的规则匹配解析日志,以获得准确的日志模板;基于聚类的解析方法通过计算日志消息之间的相似度,将相似度高的日志消息聚集到同一个日志集群中,对每一个日志集群,识别出集群中所有日志消息的公共令牌作为该集群日志模板 ...
【技术保护点】
【技术特征摘要】
1.一种基于令牌转换的多序列日志解析方法,其特征在于,包括如下步骤:(1)获取多条日志数据,对所有日志数据进行预处理,以得到日志令牌消息;(2)对步骤(1)得到的所有日志令牌消息按长度分为多个日志组;(3)针对步骤(2)得到的每一个日志组中的每条日志令牌消息而言,对该日志令牌消息包含的每个令牌进行令牌转换操作,从而得到更新后的日志组;(4)使用多序列公共子序列算法对步骤(3)每一个更新后的日志组进行模板提取,以得到该日志组对应的日志模板。(5)针对步骤(4)得到的所有日志组而言,对所有日志组对应的所有日志模板中任意两个相邻的日志模板进行相似性计算,将相似性计算结果中小于或等于预设阈值的两个日志模板进行合并,相似性计算结果大于预设阈值的日志模板不进行合并,以得到最终的日志模板。2.根据权利要求1所述的基于令牌转换的多序列日志解析方法,其特征在于,步骤(1)包括以下子步骤:(1
‑
1)将每条日志数据中的头部信息删除,以得到更新后的日志消息,所有更新后的日志消息构成日志消息集合;(1
‑
2)使用空格作为分隔符对步骤(1
‑
1)得到的日志消息集合进行分割,以得到多条日志令牌消息,并为每条日志令牌消息加上序号。3.根据权利要求1或2所述的基于令牌转换的多序列日志解析方法,其特征在于,步骤(3)中对每个令牌进行令牌转换操作这一过程包括以下子步骤:(3
‑
1)设置计数器i=1;(3
‑
2)设置计数器j=0;(3
‑
3)判断i是否大于令牌中的字符总数,如果是则过程结束,否则进入步骤(3
‑
4);(3
‑
4)获取令牌中的第i个字符的ASCII码值cascii
i
;(3
‑
5)判断cascii
i
是否等于47,如果是则进入步骤(3
‑
8),否则进入步骤(3
‑
6);(3
‑
6)判断cascii
i
是否大于等于65并且小于等于90,或者大于等于97并且小于等于122,如果是则进入步骤(3
‑
9),否则进入步骤(3
‑
7);(3
‑
7)判断cascii
i
是否大于等于48并且小于等于57,如果是则进入步骤(3
‑
14),否则进入步骤(3
‑
15);(3
‑
8)把令牌替换成
‘
/<*>
’
,过程结束;(3
‑
9)判断j是否大于0,如果是则进入步骤(3
‑
10),否则进入步骤(3
‑
15);(3
‑
10)判断i是否大于等于1,如果是则进入步骤(3
‑
11),否则进入步骤(3
‑
12);(3
‑
11)判断令牌中的第i
‑
1个字符是否等于
‘
<*>
’
,如果是则进入步骤(3
‑
12),否则进入步骤(3
‑
13);(3
‑
12)把令牌中的第i个字符删除,并返回步骤(3
‑
3);(3
‑
13)把令牌中的第i个字符替换换成通配符
‘
<*>
’
,并进入步骤(3
‑
15);(3
‑
14)设置j=j+1,并进入步骤(3
‑
10);(3
‑
15)设置i=i+1,并返回步骤(3
‑
3)。4.根据权利要求1至3中任意一项所述的基于令牌转换的多序列日志解析方法,其特征在于,步骤(4)包括以下子步骤:
(4
‑
1)对每个更新后的日志组按列进行操作,以生成多个独立点IP;(4
‑
2)针对每个日志组而言,根据步骤(4
‑
1)得到的独立点构建有向关系图。(4
‑
3)针对每个日志组而言,根据步骤(4
‑
2)得到的有向关系图生成该日志组对应的日志模板。5.根据权利要求4所述的基于令牌转换的多序列日志解析方法,其特征在于,步骤(4
‑
1)具体为,首先获取日志组中所有日志令牌消息中的第一列令牌,将该列令牌中相同的令牌形成令牌集合,并记录该令牌集合对应的独立点(m1,m2,
…
,mn),其中m1表示令牌集合中的第一个令牌所在日志令牌消息的序号,m2表示令牌集合中的第二个令牌所在日志令牌消息的序号,
…
,以此类推,n表示该令牌集合中令牌的总数,然后,针对日志组中所有日志令...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。