CN114610515A - 基于日志全语义的多特征日志异常检测方法及系统 - Google Patents

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

Info

Publication number
CN114610515A
CN114610515A CN202210230854.3A CN202210230854A CN114610515A CN 114610515 A CN114610515 A CN 114610515A CN 202210230854 A CN202210230854 A CN 202210230854A CN 114610515 A CN114610515 A CN 114610515A
Authority
CN
China
Prior art keywords
log
feature
sequence
item
word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210230854.3A
Other languages
English (en)
Other versions
CN114610515B (zh
Inventor
牛伟纳
张小松
李梓慕
薛志行
赵丽睿
邵淇奥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202210230854.3A priority Critical patent/CN114610515B/zh
Publication of CN114610515A publication Critical patent/CN114610515A/zh
Priority to US17/895,076 priority patent/US20220405592A1/en
Application granted granted Critical
Publication of CN114610515B publication Critical patent/CN114610515B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/163Handling of whitespace
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

基于日志全语义的多特征日志异常检测方法及系统
技术领域
一种基于日志全语义的多特征日志异常检测方法及系统,用于日志异常检测,属于计算机技术领域,特别涉及计算机操作系统或软件系统中日志异常检测技术。
背景技术
一般来说,大部分的程序在编写的时候都会在一些位置使用“print”功能打印具备一定格式的非结构化提示或告警信息,用于开发者或者用户了解运行状态和定位错误,我们称其为日志信息,尤其是一些大规模的系统,程序规模越大,日志消息数量以及种类则越多甚至越复杂。
由于日志消息的爆炸增长同时日志的审计又对审查人员的要求很高,因而使得人工手动审查日志消息几乎不可行。最早的通过关键词正则匹配的自动化异常检测方法很多时候只能找到那些明显的单一异常,这种方法非常局限,只有在日志中有明确的标识才有作用,也无法发现那些靠关键词无法定位的异常情况。之后的一些基于聚类分析方案在无监督的日志检测方向上是一个进步,但无法应对诸如日志模板更新、异常种类多样等很多情况。随着人工智能的兴起,逐渐出现了很多基于各类神经网络的自动和半自动的日志异常检测的优化方法,有的在日志解析上进行优化,通过使用自然语言处理的方法提取日志的语意信息进行检测;有些在模型上进行优化,这些都在传统检测模型进行改进以求更好的检测效果;还有些在特征上进行更多的处理,比如通过挖掘其他的特征来检测常规特征未能覆盖的异常。
到目前为止,数据挖掘和机器学习方法,如决策树(DT),支持向量机(SVM)和主成分分析(PCA)已被用于提取更多相关特征。这些方法在提高精度的同时,也降低了算法的复杂度。然而,利用这些方法分析提取的特征中隐藏的关系仍然很棘手。更复杂的方法,如深度学习方法克服了这一限制。
在过去的几年里,使用深度学习方法和自然语言处理技术的日志异常检测通过利用日志中的语义关系获得了更好的准确性。Lstm和双向Lstm被广泛地运用于日志异常检测,在对数异常检测中取得了更高的准确率。基于卷积神经网络(CNN)的深度学习模型,实现了99%的精度。研究人员已经使用自编码器进行特征提取,并进一步使用DL模型进行异常识别,使用注意机制和深度学习模型,对特定的数据序列给予更多考虑。
目前比较流行的对于日志异常检测的流程主要包括日志解析、特征提取和异常检测。
由于日志大部分是一种非结构化的数据文本,文本中包含了大量的与日志的语义信息无关的干扰词,因此研究人员一般采用提取日志模板的方式,去除日志中的干扰词,将软件系统打印日志的日志模板和参数区分开来,通过分析日志模板提取出日志的语义信息,如利用启发式搜索树:Drain和Spell利用树结构解析日志到多个模板。
为了增加日志异常检测的准确性,研究人员结合了Word2Vec的方法,如LogAnomaly使用了Temp late2Vec进一步提取日志模板中的语义信息。使用了概率模型,如PLELog中,对每一个日志项先赋予一个异常和正常的概率值,将无监督学习改进为半监督或者时监督学习,提高了日志检测的准确率。
现有大部分方法是基于日志模板进行日志异常检测,采用现有技术存在如下技术问题:
1.由于软件系统不断更新,日志系统中会不断出现新的词汇(00V词),日志的模板也会随着时间不断地改变;当日志模板提取错误时,日志异常检测的准确率也会受到影响;
2.现有的方法受限于日志模板提取方法效率的影响,对于不同的日志模板,现有方法的训练表现有很大的差异,而现有的提取日志模板无法应用于所有类型的系统日志,一般只能针对于一两种特定的日志类型;
3.日志模板中的单一日志语义特征或者少量地特征无法涵盖日志项地所有信息,从而造成日志异常检测准率低的问题。
发明内容
针对上述研究的问题,本发明的目的在于提供一种基于日志全语义的多特征日志异常检测方法及系统,解决现有技术的日志异常检测准确率低的问题。
为了达到上述目的,本发明采用如下技术方案:
一种基于日志全语义的多特征日志异常检测方法,包括如下步骤:
步骤1:对日志数据集进行初步处理,得到日志数据集中各日志序列全部语义的日志项单词组,并将其作为日志序列的语义特征,其中,日志数据集包括多个日志序列,日志序列是一段时间间隔或是不同进程产生的日志,各日志序列包括多个日志项;
步骤2:分别提取各日志序列的类型特征、时间特征和数量特征,并同语义特征编码成各日志序列的日志特征向量集,其中,日志特征向量集包括类型特征向量、时间特征向量、数量特征向量和语义特征向量;
步骤3:基于所有日志特征向量集训练基于注意力机制的BiGRU神经网络模型,得到训练好的BiGRU神经网络模型。
步骤4:将待检测的日志数据集输入训练好的BiGRU神经网络模型进行预测,并根据预测结果区分出各日志序列是正常或异常的日志序列。
进一步,所述步骤1的具体步骤为:
步骤1.1:使用自然语言的分词对各日志序列中的各日志项进行标记,每一日志项得到一组标记后的单词集,其中,单词被标记为名词或动词;
步骤1.2:使用分隔符分割标记后得到的单词集,其中,分隔符包括空格、冒号和逗号;
步骤1.3:将分割后得到的单词集中的大写字母转换为小写字母,并从单词集中删除所有非字符标记,得到各日志序列全部语义的日志项单词组,即得到各日志序列的语义特征,其中,非字符包括操作符、标点符号和数字。
进一步,所述步骤2的具体步骤为:
步骤2.1:若各日志项中包含所属类型关键词,即获取各日志项的类型关键词作为类型特征,若不包含所属类型关键词,则根据日志项所属的进程组类型为日志项分配所属的类型关键词,并将类型关键词作为类型特征,其中,类型关键词包括INFO、WARN和ERROR;
步骤2.2:提取各日志序列中日志项的时间戳,并计算各日志项距离上一条日志项的输出时间间隔,将其作为当前日志序列的时间特征,其中,第一个日志项是直接获取时间;
步骤2.3:统计每一个不同日志项在日志序列中的数量作为各日志序列的数量特征;
步骤2.4:使用One-Hot编码的方式对类型特征、时间特征、数量特征进行向量编码,得到类型特征向量、时间特征向量和数量特征向量,同时,使用BERT和TF-IDF对语义特征进行向量化处理,其中,BERT将语义特征中的单词转化为词向量,通过TF-IDF给不同的词向量赋予不同的权重,得到语义信息的向量化表示,即得到语义特征向量。
进一步,所述步骤3中注意力机制的BiGRU神经网络模型包括依次设置的文本向量化输入层、隐含层和输出层;
隐含层包括依次设置的BiGRU层、attention层和全连接层。
进一步,所述步骤4的具体步骤为:
将待检测的日志数据集输入训练好的BiGRU神经网络模型进行预测,得出当前日志序列中下一条日志项出现的概率,根据概率和所训练日志数据集的实际情况,正常的日志序列的下一个日志项通常会是确定的有限几个选择,通过确定这个选择的范围确定概率排名阈值K,若日志项出现的概率在前K项内时,判断其为正常的日志项,且日志序列内所有的日志项都为正常的日志项时,该日志序列为正常的日志序列;若日志项在K项之后的,判断为异常的日志项,则该日志序列为异常的日志序列。
一种基于日志全语义的多特征日志异常检测系统,包括:
语义处理模块:对日志数据集进行初步处理,得到日志数据集中各日志序列全部语义的日志项单词组,并将其作为日志序列的语义特征,其中,日志数据集包括多个日志序列,日志序列是一段时间间隔或是不同进程产生的日志,各日志序列包括多个日志项;
特征及向量处理模块:分别提取各日志序列的类型特征、时间特征和数量特征,并同语义特征编码成各日志序列的日志特征向量集,其中,日志特征向量集包括类型特征向量、时间特征向量、数量特征向量和语义特征向量;
训练模块:基于所有日志特征向量集训练基于注意力机制的BiGRU神经网络模型,得到训练好的BiGRU神经网络模型。
预测模块:将待检测的日志数据集输入训练好的BiGRU神经网络模型进行预测,并根据预测结果区分出各日志序列是正常或异常的日志序列。
进一步,所述语义处理模块的具体实现为:
步骤1.1:使用自然语言的分词对各日志序列中的各日志项进行标记,每一日志项得到一组标记后的单词集,其中,单词被标记为名词或动词;
步骤1.2:使用分隔符分割标记后得到的单词集,其中,分隔符包括空格、冒号和逗号;
步骤1.3:将分割后得到的单词集中的大写字母转换为小写字母,并从单词集中删除所有非字符标记,得到各日志序列全部语义的日志项单词组,即得到各日志序列的语义特征,其中,非字符包括操作符、标点符号和数字。
进一步,所述特征及向量处理模块的具体实现为:
步骤2.1:若各日志项中包含所属类型关键词,即获取各日志项的类型关键词作为类型特征,若不包含所属类型关键词,则根据日志项所属的进程组类型为日志项分配所属的类型关键词,并将类型关键词作为类型特征,其中,类型关键词包括INFO、WARN和ERROR;
步骤2.2:提取各日志序列中日志项的时间戳,并计算各日志项距离上一条日志项的输出时间间隔,将其作为当前日志序列的时间特征,其中,第一个日志项是直接获取时间;
步骤2.3:统计每一个不同日志项在日志序列中的数量作为各日志序列的数量特征;
步骤2.4:使用One-Hot编码的方式对类型特征、时间特征、数量特征进行向量编码,得到类型特征向量、时间特征向量和数量特征向量,同时,使用BERT和TF-IDF对语义特征进行向量化处理,其中,BERT将语义特征中的单词转化为词向量,通过TF-IDF给不同的词向量赋予不同的权重,得到语义信息的向量化表示,即得到语义特征向量。
进一步,所述训练模块中注意力机制的BiGRU神经网络模型包括依次设置的文本向量化输入层、隐含层和输出层;
隐含层包括依次设置的BiGRU层、attention层和全连接层。
进一步,所述预测模块的具体实现为:
将待检测的日志数据集输入训练好的BiGRU神经网络模型进行预测,得出当前日志序列中下一条日志项出现的概率,根据概率和所训练日志数据集的实际情况,正常的日志序列的下一个日志项通常会是确定的有限几个选择,通过确定这个选择的范围确定概率排名阈值K,若日志项出现的概率在前K项内时,判断其为正常的日志项,且日志序列内所有的日志项都为正常的日志项时,该日志序列为正常的日志序列;若日志项在K项之后的,判断为异常的日志项,则该日志序列为异常的日志序列。
本发明同现有技术相比,其有益效果表现在:
一、在日志解析中提取日志的全部原始语义,而不是使用日志解析器:
针对当前的日志检测办法检测结果受到日志模板提取准确性影响,无法有效地处理新型的日志模板和日志中出现的00V词的困难问题,本发明中得到的完整的语义文本不会丢失语义信息,而是使用自然语言处理自动编码完整的日志序列并提取日志序列的语义特征,在提取语义特征对日志语意向量化过程中我们结合BERT和TF-IDF对日志序列进行向量化处理,BERT讲日志序列中的单词转化为词向量,通过TF-IDF使给不同的词向量赋予不同的权重,使得到的日志向量更能描述日志的语义信息。
二、多特征结合的模型学习:
不同类型的日志异常一般体现在不同的特征里面,比如单一的日志序列特征只能检测到影响到日志输出顺序的异常,不能发现类似组件启动和关闭、文件打开和关闭之类的逻辑异常,也不能发现日志的延时输出之类的时间异常,当前的日志异常检测方法通常只使用一个或者两个特征,本发明结合语义特征、时间特征、数量特征以及类型间隔特征对数据集进行模型学习,通过预测式的多分类方案来检测日志的异常情况,以解决单一类型的特征无法覆盖其他诸如组件启动和停止之类日志的逻辑异常和系统日志输出的延时异常等。
附图说明
图1是本发明的总体框架图,其中,T1表示类型特征向量,T2表示时间特征向量,S表示语义特征向量,N表示数量特征向量;V1…Vn分别表示输入BiGRU模型的日志特征向量集,H1…Hn分别表示BiGRU的正向GRU层和反向GRU层;
图2是基于注意力机制的BiGRU模型图,其中,Dense表示全连接层,word_attention_layer或Attentlon-Based Mask表示attention层,即注意力机制,BiGRU表示BiGRU层,Non-lInear Layer或softmax表示输出层;
具体实施方式
下面将结合附图及具体实施方式对本发明作进一步的描述。
单一日志语义特征或者少量地特征无法涵盖日志项地所有信息,需要一种新的多特征方法,完整的提取日志的特征信息。
具体如下:
1.日志解析
预处理日志数据是构建模型的第一步。在这一步中,我们首先将日志项标记为一组单词标记。我们在日志系统中使用常见的分隔符(即空格、冒号、逗号等)来分割日志消息。然后,将每个大写字母转换为小写字母,得到所有单词组成的单词集,并从单词集中删除所有非字符标记。这些非字符包含操作符、标点符号和数字。这种类型的非字符被删除,因为它通常表示日志消息中的变量,且不提供信息。如原始日志序列中的一个日志项的单词集为:08110920593113INFO dfs.DataBlockScanner:V er ificationsucceeded forblk-4980916519894289629,首先根据常见的分隔符分割单词集。然后将非字符标记从分割后的单词集中排除。最后,得到单词集为{info,dfs,datablockscanner,verification,succeeded}。这组单词集包含了比日志模板更为丰富的日志语义信息,因此可以用作日志的语义文本去提取日志的语义向量。
2.特征提取
对于不同的系统日志,其结构大都大同小异。为了尽可能多地提取日志序列所包含地信息,我们将日志序列的日志项的特征分为四类:类型特征、时间特征、语义特征和数量特征,对应于图1的多特征向量集:[T1,T2,S,N]。
我们将日志序列解析中得到的日志项单词组向量化得到我们的日志序列的语义特征向量,具体来说,通过使用BERT对语义特征中的单词文本进行训练,得到日志项中的单词的向量表示。再通过TF-IDF对单词的向量赋予权重,将单词向量进行加权求和得到日志语义信息的固定维表示。(TF-IDF)是一种被广泛使用的特征提取方法。它是反映单词对语料库中的文档有多重要的度量标准。术语频率-逆文档频率(TF-IDF)是一种统计方法,用于评估一个词对一个文件集或语料库中的一个文件的重要性。一个单词的重要性随着它在一个文件中出现的次数成比例地增加,但它也随着它在语料库中出现的频率成比例地减少。
在日志序列中,一般输出了当前日志项所属的类型,包括INFO、WARN、ERROR等,即获取各日志项的类型关键词作为类型特征,若不包含所属类型关键词,则根据日志项所属的进程组类型为日志项分配所属的类型关键词,并将类型关键词作为类型特征,如所属的日志项,例如在分布式系统中属于哪个block或者是由哪一个进程输出此日志项来为这个日志项分配所属的类型。
对于日志序列的时间特征,我们通常都能够在日志项中提取出输出当前日志项的时间戳,计算当前日志距离上一条日志的输出时间间隔,将其作为当前日志项的时间特征,其中,第一个日志项是直接获取时间。
对于数量特征,其代表的是相同的日志项在一个日志序列中的数量大小,统计每一个不同日志项在日志序列中的数量作为日志序列的数量特征。
因此,对于的训练日志数据集,通常可以提出这四类特征:类别特征
type_vec=[Msgld,Componentld],时间特征time_vec=[Timelnterval],数量特征num_vec和语义特征semant ic_vec=[msgWords],其中,Msgld指的日志项的类型I NFO,Componentld是指该日志项的相关组件,Timelnterval指的是距上一条日志的输出时间间隔,msgWords则指的是具备日志项的语义的单词列表。对于语义文本,我们把单词和子单词集传递给BERT模型,并通过TF-IDF对每个单词的词向量赋予权重,讲其编码成具有固定维数的向量表示。对于类型特征、时间特征和数量特征,由于其没有特别上下文语义关系,所以我们使用One-Hot编码的方式进行处理。
3.模型训练
BiGRU-Attention模型BiGRU-Attention模型共分为三部分:文本向量化输入层、隐含层和输出层。其中,隐含层由BiGRU层、attention层和Dense层(全连接层)三层构成。BiGRU-Attention模型结构如图1所示。输入层即对向量化的日志序列进行预处理;隐含层的计算主要分为两个步骤:
a)计算BiGRU层输出的向量。文本向量(即指文本向量化输入层输入的)为BiGRU层的输入向量。BiGRU层的目的主要是对输入的文本向量进行文本深层次特征的提取。根据BiGRU神经网络模型图,可以把BiGRU层看做由向前GRU和反向GRU两部分组成。
b)计算每个词向量应分配的概率权重。这个步骤主要是为不同的词向量分配相应的概率权重,进一步提取文本特征,突出文本的关键信息。具体为:
BiGRU-Attention模型中引入了attention层,Attention层的输入为上一层中经过BiGRU层激活处理的各层的隐层状态,Attention层由attention机制分配的不同概率权重与BiGRU层各个隐层状态的乘积的累加和。
输出层的输入为上一层attention层的输出。输出层使用softmax函数对输入做归一化操作得到的结果。
基于所有日志特征向量集训练基于注意力机制的BiGRU神经网络模型,得到训练好的BiGRU神经网络模型;
对于每一条日志序列提取其上面的四类特征向量作为其特征集Featurei=[Type_Veci、Time_Veci、Semantic_Veci、Num_Veci],分别对应日志项的类别特征向量T1、时间特征向量T2、语义特征向量S和数量特征向量N,接着以滑动窗口的形式进行训练。为了说明这个过程,以滑动窗口大小window=5为例,得到某个滑动窗口的输入序列为[Feature1,Feature2,Feature3,Feature4,Feature5],其中,Featurei指的是第i条日志序列的特征向量集。最后,在正常日志数据集中进行模型训练,并在有正常和异常的日志数据集中测试效果。
4.异常检测
将待检测的日志数据集输入训练好的BiGRU神经网络模型进行预测,得出当前日志序列中下一条日志项出现的概率,根据概率和所训练日志数据集的实际情况,正常的日志序列的下一个日志项通常会是确定的有限几个选择,通过确定这个选择的范围确定概率排名阈值K,若日志项出现的概率在前K项内时,判断其为正常的日志项,且日志序列内所有的日志项都为正常的日志项时,该日志序列为正常的日志序列;若日志项在K项之后的,判断为异常的日志项,则该日志序列为异常的日志序列。
以上仅是本发明众多具体应用范围中的代表性实施例,对本发明的保护范围不构成任何限制。凡采用变换或是等效替换而形成的技术方案,均落在本发明权利保护范围之内。

Claims (10)

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.一种基于日志全语义的多特征日志异常检测系统,其特征在于,包括:
语义处理模块:对日志数据集进行初步处理,得到日志数据集中各日志序列全部语义的日志项单词组,并将其作为日志序列的语义特征,其中,日志数据集包括多个日志序列,日志序列是一段时间间隔或是不同进程产生的日志,各日志序列包括多个日志项;
特征及向量处理模块:分别提取各日志序列的类型特征、时间特征和数量特征,并同语义特征编码成各日志序列的日志特征向量集,其中,日志特征向量集包括类型特征向量、时间特征向量、数量特征向量和语义特征向量;
训练模块:基于所有日志特征向量集训练基于注意力机制的BiGRU神经网络模型,得到训练好的BiGRU神经网络模型。
预测模块:将待检测的日志数据集输入训练好的BiGRU神经网络模型进行预测,并根据预测结果区分出各日志序列是正常或异常的日志序列。
7.根据权利要求6所述的一种基于日志全语义的多特征日志异常检测系统,其特征在于,所述语义处理模块的具体实现为:
步骤1.1:使用自然语言的分词对各日志序列中的各日志项进行标记,每一日志项得到一组标记后的单词集,其中,单词被标记为名词或动词;
步骤1.2:使用分隔符分割标记后得到的单词集,其中,分隔符包括空格、冒号和逗号;
步骤1.3:将分割后得到的单词集中的大写字母转换为小写字母,并从单词集中删除所有非字符标记,得到各日志序列全部语义的日志项单词组,即得到各日志序列的语义特征,其中,非字符包括操作符、标点符号和数字。
8.根据权利要求7所述的一种基于日志全语义的多特征日志异常检测系统,其特征在于,所述特征及向量处理模块的具体实现为:
步骤2.1:若各日志项中包含所属类型关键词,即获取各日志项的类型关键词作为类型特征,若不包含所属类型关键词,则根据日志项所属的进程组类型为日志项分配所属的类型关键词,并将类型关键词作为类型特征,其中,类型关键词包括INFO、WARN和ERROR;
步骤2.2:提取各日志序列中日志项的时间戳,并计算各日志项距离上一条日志项的输出时间间隔,将其作为当前日志序列的时间特征,其中,第一个日志项是直接获取时间;
步骤2.3:统计每一个不同日志项在日志序列中的数量作为各日志序列的数量特征;
步骤2.4:使用One-Hot编码的方式对类型特征、时间特征、数量特征进行向量编码,得到类型特征向量、时间特征向量和数量特征向量,同时,使用BERT和TF-IDF对语义特征进行向量化处理,其中,BERT将语义特征中的单词转化为词向量,通过TF-IDF给不同的词向量赋予不同的权重,得到语义信息的向量化表示,即得到语义特征向量。
9.根据权利要求8所述的一种基于日志全语义的多特征日志异常检测系统,其特征在于,所述训练模块中注意力机制的BiGRU神经网络模型包括依次设置的文本向量化输入层、隐含层和输出层;
隐含层包括依次设置的BiGRU层、attention层和全连接层。
10.根据权利要求9所述的一种基于日志全语义的多特征日志异常检测系统,其特征在于,所述预测模块的具体实现为:
将待检测的日志数据集输入训练好的BiGRU神经网络模型进行预测,得出当前日志序列中下一条日志项出现的概率,根据概率和所训练日志数据集的实际情况,正常的日志序列的下一个日志项通常会是确定的有限几个选择,通过确定这个选择的范围确定概率排名阈值K,若日志项出现的概率在前K项内时,判断其为正常的日志项,且日志序列内所有的日志项都为正常的日志项时,该日志序列为正常的日志序列;若日志项在K项之后的,判断为异常的日志项,则该日志序列为异常的日志序列。
CN202210230854.3A 2022-03-10 2022-03-10 基于日志全语义的多特征日志异常检测方法及系统 Active CN114610515B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210230854.3A CN114610515B (zh) 2022-03-10 2022-03-10 基于日志全语义的多特征日志异常检测方法及系统
US17/895,076 US20220405592A1 (en) 2022-03-10 2022-08-25 Multi-feature log anomaly detection method and system based on log full semantics

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210230854.3A CN114610515B (zh) 2022-03-10 2022-03-10 基于日志全语义的多特征日志异常检测方法及系统

Publications (2)

Publication Number Publication Date
CN114610515A true CN114610515A (zh) 2022-06-10
CN114610515B CN114610515B (zh) 2022-09-13

Family

ID=81861275

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210230854.3A Active CN114610515B (zh) 2022-03-10 2022-03-10 基于日志全语义的多特征日志异常检测方法及系统

Country Status (2)

Country Link
US (1) US20220405592A1 (zh)
CN (1) CN114610515B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277180A (zh) * 2022-07-26 2022-11-01 电子科技大学 一种区块链日志异常检测与溯源系统
CN115794465A (zh) * 2022-11-10 2023-03-14 上海鼎茂信息技术有限公司 一种日志异常检测方法及系统
CN115828888A (zh) * 2022-11-18 2023-03-21 贵州电网有限责任公司遵义供电局 一种针对多种网络日志进行语义解析及结构化的方法
CN116361256A (zh) * 2023-06-01 2023-06-30 济南阿拉易网络科技有限公司 基于日志解析的数据同步方法及系统
CN116484260A (zh) * 2023-04-28 2023-07-25 南京信息工程大学 一种基于双向时间卷积网络的半监督日志异常检测方法
CN117648215A (zh) * 2024-01-26 2024-03-05 国网山东省电力公司营销服务中心(计量中心) 一种用电信息采集系统异常溯源方法及系统

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220214948A1 (en) * 2021-01-06 2022-07-07 Kyndryl, Inc. Unsupervised log data anomaly detection
CN115794480A (zh) * 2023-02-10 2023-03-14 成都工业学院 一种基于日志语义编码器的系统异常日志检测方法及系统
CN115860008B (zh) * 2023-02-24 2023-05-12 山东云天安全技术有限公司 用于异常日志信息确定的数据处理方法、电子设备及介质
CN116048866B (zh) * 2023-03-07 2023-06-09 浙江鹏信信息科技股份有限公司 基于实时流计算引擎的数据故障检测方法、系统及介质
CN116055293B (zh) * 2023-04-03 2023-06-20 深圳市纵联网络科技有限公司 路由器的远程故障监控方法及路由器
CN116166967B (zh) * 2023-04-21 2023-07-14 深圳开鸿数字产业发展有限公司 基于元学习与残差网络的数据处理方法、设备和存储介质
CN117041019B (zh) * 2023-10-10 2024-01-02 中国移动紫金(江苏)创新研究院有限公司 内容分发网络cdn的日志分析方法、装置及存储介质
CN117112780B (zh) * 2023-10-23 2023-12-26 北京安信天行科技有限公司 一种基于文本摘要模型的非结构化日志解析方法及装置
CN117687890B (zh) * 2024-02-02 2024-05-03 山东大学 基于操作日志的异常操作识别方法、系统、介质及设备
CN117827620B (zh) * 2024-03-05 2024-05-10 云账户技术(天津)有限公司 异常诊断方法、模型的训练方法、装置、设备及存储介质
CN117828515A (zh) * 2024-03-05 2024-04-05 山东浪潮科学研究院有限公司 一种基于低代码平台的智能日志异常诊断系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019060327A1 (en) * 2017-09-20 2019-03-28 University Of Utah Research Foundation ONLINE DETECTION OF ANOMALIES IN A NEWSPAPER USING AUTOMATIC APPRENTICESHIP
CN110288004A (zh) * 2019-05-30 2019-09-27 武汉大学 一种基于日志语义挖掘的系统故障诊断方法及装置
CN112905421A (zh) * 2021-03-18 2021-06-04 中科九度(北京)空间信息技术有限责任公司 基于注意力机制的lstm网络的容器异常行为检测方法
CN113326244A (zh) * 2021-05-28 2021-08-31 中国科学技术大学 一种基于日志事件图和关联关系挖掘的异常检测方法
CN113407721A (zh) * 2021-06-29 2021-09-17 哈尔滨工业大学(深圳) 检测日志序列异常的方法、装置及计算机存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019060327A1 (en) * 2017-09-20 2019-03-28 University Of Utah Research Foundation ONLINE DETECTION OF ANOMALIES IN A NEWSPAPER USING AUTOMATIC APPRENTICESHIP
CN110288004A (zh) * 2019-05-30 2019-09-27 武汉大学 一种基于日志语义挖掘的系统故障诊断方法及装置
CN112905421A (zh) * 2021-03-18 2021-06-04 中科九度(北京)空间信息技术有限责任公司 基于注意力机制的lstm网络的容器异常行为检测方法
CN113326244A (zh) * 2021-05-28 2021-08-31 中国科学技术大学 一种基于日志事件图和关联关系挖掘的异常检测方法
CN113407721A (zh) * 2021-06-29 2021-09-17 哈尔滨工业大学(深圳) 检测日志序列异常的方法、装置及计算机存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XINQIANG LI 等: ""Improving Performance of Log Anomaly Detection With Semantic and Time Features Based on BiLSTM-Attention"", 《2021 2ND INTERNATIONAL CONFERENCE ON ELECTRONICS,COMMUNICATIONS AND INFORMATION TECHNOLOGY(CECIT)》 *
李浩铭: ""基于日志分析的异常检测系统的设计与实现"", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277180A (zh) * 2022-07-26 2022-11-01 电子科技大学 一种区块链日志异常检测与溯源系统
CN115277180B (zh) * 2022-07-26 2023-04-28 电子科技大学 一种区块链日志异常检测与溯源系统
CN115794465A (zh) * 2022-11-10 2023-03-14 上海鼎茂信息技术有限公司 一种日志异常检测方法及系统
CN115794465B (zh) * 2022-11-10 2023-12-19 上海鼎茂信息技术有限公司 一种日志异常检测方法及系统
CN115828888A (zh) * 2022-11-18 2023-03-21 贵州电网有限责任公司遵义供电局 一种针对多种网络日志进行语义解析及结构化的方法
CN116484260A (zh) * 2023-04-28 2023-07-25 南京信息工程大学 一种基于双向时间卷积网络的半监督日志异常检测方法
CN116484260B (zh) * 2023-04-28 2024-03-19 南京信息工程大学 一种基于双向时间卷积网络的半监督日志异常检测方法
CN116361256A (zh) * 2023-06-01 2023-06-30 济南阿拉易网络科技有限公司 基于日志解析的数据同步方法及系统
CN116361256B (zh) * 2023-06-01 2023-08-11 济南阿拉易网络科技有限公司 基于日志解析的数据同步方法及系统
CN117648215A (zh) * 2024-01-26 2024-03-05 国网山东省电力公司营销服务中心(计量中心) 一种用电信息采集系统异常溯源方法及系统
CN117648215B (zh) * 2024-01-26 2024-05-24 国网山东省电力公司营销服务中心(计量中心) 一种用电信息采集系统异常溯源方法及系统

Also Published As

Publication number Publication date
US20220405592A1 (en) 2022-12-22
CN114610515B (zh) 2022-09-13

Similar Documents

Publication Publication Date Title
CN114610515B (zh) 基于日志全语义的多特征日志异常检测方法及系统
CN113011533B (zh) 文本分类方法、装置、计算机设备和存储介质
CN113434357B (zh) 基于序列预测的日志异常检测方法及装置
CN108376151B (zh) 问题分类方法、装置、计算机设备和存储介质
CN108717408B (zh) 一种敏感词实时监控方法、电子设备、存储介质及系统
CN112036167B (zh) 数据处理方法、装置、服务器及存储介质
CN111291195B (zh) 一种数据处理方法、装置、终端及可读存储介质
CN109145260B (zh) 一种文本信息自动提取方法
CN110298032A (zh) 文本分类语料标注训练系统
CN101520802A (zh) 一种问答对的质量评价方法和系统
WO2009035863A2 (en) Mining bilingual dictionaries from monolingual web pages
CN113392209B (zh) 一种基于人工智能的文本聚类方法、相关设备及存储介质
CN111782807B (zh) 一种基于多方法集成学习的自承认技术债务检测分类方法
CN111125360B (zh) 游戏领域的情感分析方法、装置及其模型训练方法、装置
CN114282527A (zh) 多语言文本检测与纠错方法、系统、电子设备及存储介质
CN114997288A (zh) 一种设计资源关联方法
CN111310467B (zh) 一种在长文本中结合语义推断的主题提取方法及系统
CN111859032A (zh) 一种短信拆字敏感词的检测方法、装置及计算机存储介质
Hu et al. Emotion prediction oriented method with multiple supervisions for emotion-cause pair extraction
CN113761875B (zh) 事件抽取方法、装置、电子设备及存储介质
CN110807096A (zh) 一种小样本集上的信息对匹配方法及系统
CN114969334A (zh) 异常日志检测方法、装置、电子设备及可读存储介质
CN114662486A (zh) 一种基于机器学习的突发事件敏感词检测方法
CN113420127A (zh) 威胁情报处理方法、装置、计算设备及存储介质
CN113157857A (zh) 面向新闻的热点话题检测方法、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant