基于日志全语义的多特征日志异常检测方法及系统技术方案

技术编号:33778878 阅读:21 留言:0更新日期:2022-06-12 14:32
本发明专利技术公开了一种基于日志全语义的多特征日志异常检测方法及系统,属于计算机技术领域,特别涉及计算机操作系统或软件系统中日志异常检测技术。本发明专利技术对日志数据集进行初步处理,得到日志数据集中各日志序列全部语义的日志项单词组,并将其作为日志序列的语义特征;分别提取各日志序列的类型特征、时间特征和数量特征,并同语义特征编码成各日志序列的日志特征向量集;基于所有日志特征向量集训练基于注意力机制的BiGRU神经网络模型,得到训练好的BiGRU神经网络模型。将待检测的日志数据集输入训练好的BiGRU神经网络模型进行预测,并根据预测结果区分出各日志序列是正常或异常的日志序列。本发明专利技术用于日志异常检测。本发明专利技术用于日志异常检测。本发明专利技术用于日志异常检测。

【技术实现步骤摘要】
基于日志全语义的多特征日志异常检测方法及系统


[0001]一种基于日志全语义的多特征日志异常检测方法及系统,用于日志异常检测,属于计算机
,特别涉及计算机操作系统或软件系统中日志异常检测技术。

技术介绍

[0002]一般来说,大部分的程序在编写的时候都会在一些位置使用“print”功能打印具备一定格式的非结构化提示或告警信息,用于开发者或者用户了解运行状态和定位错误,我们称其为日志信息,尤其是一些大规模的系统,程序规模越大,日志消息数量以及种类则越多甚至越复杂。
[0003]由于日志消息的爆炸增长同时日志的审计又对审查人员的要求很高,因而使得人工手动审查日志消息几乎不可行。最早的通过关键词正则匹配的自动化异常检测方法很多时候只能找到那些明显的单一异常,这种方法非常局限,只有在日志中有明确的标识才有作用,也无法发现那些靠关键词无法定位的异常情况。之后的一些基于聚类分析方案在无监督的日志检测方向上是一个进步,但无法应对诸如日志模板更新、异常种类多样等很多情况。随着人工智能的兴起,逐渐出现了很多基于各类神经网络的自动和半自动的日志异常检测的优化方法,有的在日志解析上进行优化,通过使用自然语言处理的方法提取日志的语意信息进行检测;有些在模型上进行优化,这些都在传统检测模型进行改进以求更好的检测效果;还有些在特征上进行更多的处理,比如通过挖掘其他的特征来检测常规特征未能覆盖的异常。
[0004]到目前为止,数据挖掘和机器学习方法,如决策树(DT),支持向量机(SVM)和主成分分析(PCA)已被用于提取更多相关特征。这些方法在提高精度的同时,也降低了算法的复杂度。然而,利用这些方法分析提取的特征中隐藏的关系仍然很棘手。更复杂的方法,如深度学习方法克服了这一限制。
[0005]在过去的几年里,使用深度学习方法和自然语言处理技术的日志异常检测通过利用日志中的语义关系获得了更好的准确性。Lstm和双向Lstm被广泛地运用于日志异常检测,在对数异常检测中取得了更高的准确率。基于卷积神经网络(CNN)的深度学习模型,实现了99%的精度。研究人员已经使用自编码器进行特征提取,并进一步使用DL模型进行异常识别,使用注意机制和深度学习模型,对特定的数据序列给予更多考虑。
[0006]目前比较流行的对于日志异常检测的流程主要包括日志解析、特征提取和异常检测。
[0007]由于日志大部分是一种非结构化的数据文本,文本中包含了大量的与日志的语义信息无关的干扰词,因此研究人员一般采用提取日志模板的方式,去除日志中的干扰词,将软件系统打印日志的日志模板和参数区分开来,通过分析日志模板提取出日志的语义信息,如利用启发式搜索树:Drain和Spell利用树结构解析日志到多个模板。
[0008]为了增加日志异常检测的准确性,研究人员结合了Word2Vec的方法,如LogAnomaly使用了Temp late2Vec进一步提取日志模板中的语义信息。使用了概率模型,如
PLELog中,对每一个日志项先赋予一个异常和正常的概率值,将无监督学习改进为半监督或者时监督学习,提高了日志检测的准确率。
[0009]现有大部分方法是基于日志模板进行日志异常检测,采用现有技术存在如下技术问题:
[0010]1.由于软件系统不断更新,日志系统中会不断出现新的词汇(00V词),日志的模板也会随着时间不断地改变;当日志模板提取错误时,日志异常检测的准确率也会受到影响;
[0011]2.现有的方法受限于日志模板提取方法效率的影响,对于不同的日志模板,现有方法的训练表现有很大的差异,而现有的提取日志模板无法应用于所有类型的系统日志,一般只能针对于一两种特定的日志类型;
[0012]3.日志模板中的单一日志语义特征或者少量地特征无法涵盖日志项地所有信息,从而造成日志异常检测准率低的问题。

技术实现思路

[0013]针对上述研究的问题,本专利技术的目的在于提供一种基于日志全语义的多特征日志异常检测方法及系统,解决现有技术的日志异常检测准确率低的问题。
[0014]为了达到上述目的,本专利技术采用如下技术方案:
[0015]一种基于日志全语义的多特征日志异常检测方法,包括如下步骤:
[0016]步骤1:对日志数据集进行初步处理,得到日志数据集中各日志序列全部语义的日志项单词组,并将其作为日志序列的语义特征,其中,日志数据集包括多个日志序列,日志序列是一段时间间隔或是不同进程产生的日志,各日志序列包括多个日志项;
[0017]步骤2:分别提取各日志序列的类型特征、时间特征和数量特征,并同语义特征编码成各日志序列的日志特征向量集,其中,日志特征向量集包括类型特征向量、时间特征向量、数量特征向量和语义特征向量;
[0018]步骤3:基于所有日志特征向量集训练基于注意力机制的BiGRU神经网络模型,得到训练好的BiGRU神经网络模型。
[0019]步骤4:将待检测的日志数据集输入训练好的BiGRU神经网络模型进行预测,并根据预测结果区分出各日志序列是正常或异常的日志序列。
[0020]进一步,所述步骤1的具体步骤为:
[0021]步骤1.1:使用自然语言的分词对各日志序列中的各日志项进行标记,每一日志项得到一组标记后的单词集,其中,单词被标记为名词或动词;
[0022]步骤1.2:使用分隔符分割标记后得到的单词集,其中,分隔符包括空格、冒号和逗号;
[0023]步骤1.3:将分割后得到的单词集中的大写字母转换为小写字母,并从单词集中删除所有非字符标记,得到各日志序列全部语义的日志项单词组,即得到各日志序列的语义特征,其中,非字符包括操作符、标点符号和数字。
[0024]进一步,所述步骤2的具体步骤为:
[0025]步骤2.1:若各日志项中包含所属类型关键词,即获取各日志项的类型关键词作为类型特征,若不包含所属类型关键词,则根据日志项所属的进程组类型为日志项分配所属的类型关键词,并将类型关键词作为类型特征,其中,类型关键词包括INFO、WARN和ERROR;
[0026]步骤2.2:提取各日志序列中日志项的时间戳,并计算各日志项距离上一条日志项的输出时间间隔,将其作为当前日志序列的时间特征,其中,第一个日志项是直接获取时间;
[0027]步骤2.3:统计每一个不同日志项在日志序列中的数量作为各日志序列的数量特征;
[0028]步骤2.4:使用One

Hot编码的方式对类型特征、时间特征、数量特征进行向量编码,得到类型特征向量、时间特征向量和数量特征向量,同时,使用BERT和TF

IDF对语义特征进行向量化处理,其中,BERT将语义特征中的单词转化为词向量,通过TF

IDF给不同的词向量赋予不同的权重,得到语义信息的向量化表示,即得到语义特征向量。
[0029]进一步,所述步骤3中注意力机制的BiGRU神经网络模型包括依次设置的文本向量化输入层、隐含层本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于日志全语义的多特征日志异常检测方法,其特征在于,包括如下步骤:步骤1:对日志数据集进行初步处理,得到日志数据集中各日志序列全部语义的日志项单词组,并将其作为日志序列的语义特征,其中,日志数据集包括多个日志序列,日志序列是一段时间间隔或是不同进程产生的日志,各日志序列包括多个日志项;步骤2:分别提取各日志序列的类型特征、时间特征和数量特征,并同语义特征编码成各日志序列的日志特征向量集,其中,日志特征向量集包括类型特征向量、时间特征向量、数量特征向量和语义特征向量;步骤3:基于所有日志特征向量集训练基于注意力机制的BiGRU神经网络模型,得到训练好的BiGRU神经网络模型。步骤4:将待检测的日志数据集输入训练好的BiGRU神经网络模型进行预测,并根据预测结果区分出各日志序列是正常或异常的日志序列。2.根据权利要求1所述的一种基于日志全语义的多特征日志异常检测方法,其特征在于,所述步骤1的具体步骤为:步骤1.1:使用自然语言的分词对各日志序列中的各日志项进行标记,每一日志项得到一组标记后的单词集,其中,单词被标记为名词或动词;步骤1.2:使用分隔符分割标记后得到的单词集,其中,分隔符包括空格、冒号和逗号;步骤1.3:将分割后得到的单词集中的大写字母转换为小写字母,并从单词集中删除所有非字符标记,得到各日志序列全部语义的日志项单词组,即得到各日志序列的语义特征,其中,非字符包括操作符、标点符号和数字。3.根据权利要求2所述的一种基于日志全语义的多特征日志异常检测方法,其特征在于,所述步骤2的具体步骤为:步骤2.1:若各日志项中包含所属类型关键词,即获取各日志项的类型关键词作为类型特征,若不包含所属类型关键词,则根据日志项所属的进程组类型为日志项分配所属的类型关键词,并将类型关键词作为类型特征,其中,类型关键词包括INFO、WARN和ERROR;步骤2.2:提取各日志序列中日志项的时间戳,并计算各日志项距离上一条日志项的输出时间间隔,将其作为当前日志序列的时间特征,其中,第一个日志项是直接获取时间;步骤2.3:统计每一个不同日志项在日志序列中的数量作为各日志序列的数量特征;步骤2.4:使用One

Hot编码的方式对类型特征、时间特征、数量特征进行向量编码,得到类型特征向量、时间特征向量和数量特征向量,同时,使用BERT和TF

IDF对语义特征进行向量化处理,其中,BERT将语义特征中的单词转化为词向量,通过TF

IDF给不同的词向量赋予不同的权重,得到语义信息的向量化表示,即得到语义特征向量。4.根据权利要求3所述的一种基于日志全语义的多特征日志异常检测方法,其特征在于,所述步骤3中注意力机制的BiGRU神经网络模型包括依次设置的文本向量化输入层、隐含层和输出层;隐含层包括依次设置的BiGRU层、attention层和全连接层。5.根据权利要求4所述的一种基于日志全语义的多特征日志异常检测方法,其特征在于,所述步骤4的具体步骤为:将待检测的日志数据集输入训练好的BiGRU神经网络模型进行预测,得出当前日志序列中下一条日志项出现的概率,根据概率和所训练日志数据集的实际情况,正常的日志序
列的下一个日志项通常会是确定的有限几个选择,通过确定这个选择的范围确定概率排名阈值K,若日志项出现的概率在前K项内时,判断其为正常的日志项,且日志序列内所有的日志项都为正常的日志项时,该日志序列为正常的日志序列;若日志项在K项之后的,判断为异常的日志项,则该日志序列为异常的日志序列。6.一种基于日志全语义的多...

【专利技术属性】
技术研发人员:牛伟纳张小松李梓慕薛志行赵丽睿邵淇奥
申请(专利权)人:电子科技大学
类型:发明
国别省市:

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

1