CN114969335A - 异常日志检测方法、装置、电子设备及可读存储介质 - Google Patents

异常日志检测方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN114969335A
CN114969335A CN202210554220.3A CN202210554220A CN114969335A CN 114969335 A CN114969335 A CN 114969335A CN 202210554220 A CN202210554220 A CN 202210554220A CN 114969335 A CN114969335 A CN 114969335A
Authority
CN
China
Prior art keywords
log
speech
logs
row
sub
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
CN202210554220.3A
Other languages
English (en)
Other versions
CN114969335B (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.)
Beijing Zetyun Tech Co ltd
Original Assignee
Beijing Zetyun Tech Co ltd
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 Beijing Zetyun Tech Co ltd filed Critical Beijing Zetyun Tech Co ltd
Priority to CN202210554220.3A priority Critical patent/CN114969335B/zh
Publication of CN114969335A publication Critical patent/CN114969335A/zh
Application granted granted Critical
Publication of CN114969335B publication Critical patent/CN114969335B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • 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/289Phrasal analysis, e.g. finite state techniques or chunking
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种异常日志检测方法、装置、电子设备及可读存储介质,属于人工智能技术领域,该异常日志检测方法包括:获取待检测的日志文件,所述日志文件包括多行日志;对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式;根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量;将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量;对所述处理后的特征向量进行分析,定位出异常日志。本发明可以快速定位异常日志。

Description

异常日志检测方法、装置、电子设备及可读存储介质
技术领域
本发明属于人工智能技术领域,具体涉及一种用于异常日志检测的异常日志检测方法、装置、电子设备及可读存储介质。
背景技术
日志一般指的是计算机系统、设备、软件等在某种情况下记录的信息,而从运维人员所维护对象的所有信息来看,日志则是一个非常重要的组成部分。它可以记录下系统产生的所有行为,并依照某种范式表达出来。运维人员可以使用日志所记录的信息为系统进行排错,实时洞察系统的变化,或者根据这些信息调整系统的行为等。
但是随着软件系统的发展,面对繁多,复杂,非结构化的日志,如何从大量的日志中快速检测并定位出异常日志,是亟待解决的问题。
发明内容
本发明实施例的目的是提供一种异常日志检测方法、装置、电子设备及可读存储介质,能够解决目前异常日志难以快速检测并定位的问题。
第一方面,本发明实施例提供了一种异常日志检测方法,包括:
获取待检测的日志文件,所述日志文件包括多行日志;
对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式;
根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量;
将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量;
对所述处理后的特征向量进行分析,定位出异常日志。
可选的,所述对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式包括:
对所述日志文件中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;
将每一行日志的所有词性标签拼接,得到每一行日志对应的日志词性表达式。
可选的,所述根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量,包括:
将所述日志文件分割成多个子日志文件,每一个所述子日志文件包括多行日志;
根据每一行日志对应的日志词性表达式和日志词性模板语料库,获取每一个所述子日志文件的特征向量。
可选的,所述根据每一行日志对应的日志词性表达式和日志词性模板语料库,获取每一个所述子日志文件的特征向量包括:
根据所述日志词性模板语料库,获取每一个所述子日志文件对应的模板序列向量和模板频率统计向量,所述模板序列向量表示所述子日志文件中每一行日志对应的日志词性模板,所述模板频率统计向量表示每一个日志词性模板在所述子日志文件对应的模板序列向量中出现的次数;
将每一个所述子日志文件对应的模板序列向量和模板频率统计向量合并,得到每一个所述子日志文件的特征向量。
可选的,所述对所述处理后的特征向量进行分析,定位出异常日志,包括:
对所述处理后的特征向量进行聚类分析,定位出异常日志。
可选的,所述特征模型采用如下方式训练得到:
获取日志训练集,所述日志训练集包括多行日志;
对所述日志训练集中的每一行日志的词语进行词性处理,得到每一行日志对应的第一日志词性表达式;
根据每一行日志对应的第一日志词性表达式以及预先建立的词性日志模板语料库,获取日志对应的特征向量;
采用所述日志训练集中的标记为正常的日志的特征向量进行特征模型训练,得到训练后的特征模型。
可选的,所述对所述日志训练集中的每一行日志的词语进行词性处理,得到每一行日志对应的第一日志词性表达式包括:
对所述日志训练集中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;
将每一行日志的所有词性标签拼接,得到每一行日志对应的第一日志词性表达式。
可选的,所述方法还包括:
对所述日志训练集中的所有日志对应的第一日志词性表达式进行处理,得到日志词性模板语料库。
可选的,所述对所述日志训练集中的所有日志对应的第一日志词性表达式进行处理包括:
去除所有所述第一日志词性表达式中重复的第一日志词性表达式,剩余的第一日志词性表达式作为日志词性模板形成所述日志词性模板语料库。
可选的,所述根据每一行日志对应的第一日志词性表达式以及预先建立的词性日志模板语料库,获取日志对应的特征向量,包括:
将所述日志训练集分割成多个第一子日志文件,每一个所述第一子日志文件包括多行日志;
根据每一行日志对应的第一日志词性表达式和所述日志词性模板语料库,获取每一个所述第一子日志文件的特征向量。
可选的,所述根据每一行日志对应的第一日志词性表达式和所述日志词性模板语料库,获取每一个所述第一子日志文件的特征向量包括:
根据所述日志词性模板语料库,获取每一个所述第一子日志文件对应的模板序列向量和模板频率统计向量,所述模板序列向量表示所述第一子日志文件中每一行日志对应的所述日志词性模板,所述模板频率统计向量表示每一个所述日志词性模板在所述第一子日志文件对应的模板序列向量中出现的次数;
将每一个所述第一子日志文件对应的模板序列向量和模板频率统计向量合并,得到每一个所述第一子日志文件的特征向量。
可选的,所述采用所述日志训练集中的标记为正常的日志的特征向量进行特征模型训练,得到训练后的特征模型包括:
将所述日志训练集中的标记为正常的日志的特征向量依次输入至自编码器,得到重建后的第一特征向量;
将每一个所述第一特征向量分别与降维函数运算得到第二特征向量,并判断所有所述第二特征向量是否满足收敛条件;
若满足所述收敛条件,得到训练后的降维函数;若不满足所述收敛条件,对所述降维函数中的系数进行调整,直至满足所述收敛条件,得到训练后的降维函数;
确定训练后的特征模型,所述训练后的特征模型包括所述自编码器和所述训练后的降维函数。
可选的,所述得到训练后的特征模型之后还包括:
将所述日志训练集中的标记为异常的日志的特征向量输入至自编码器,输出重建后的第三特征向量;
将每一个所述第三特征向量分别与所述训练后的降维函数运算,得到第四特征向量;
根据所有所述第四特征向量的分布,验证所述训练后的特征模型是否有效。
可选的,所述根据所有所述第四特征向量的分布,验证所述训练后的特征模型是否有效,包括:
计算所述第四特征向量间的距离;
若距离均值小于第一预设阈值,且异常的日志对应的特征映射向量和正常的日志对应的特征映射向量之间的距离大于第二预设阈值,确定所述训练后的特征模型有效。
可选的,所述得到训练后的特征模型之后还包括:
获取日志测试集,所述日志测试集包括多行正常日志和多行异常日志;
对所述日志测试集中的每一行日志的词语进行词性处理,得到每一行日志对应的第二日志词性表达式;
根据每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,确定日志对应的特征向量;
将所述日志对应的特征向量输入至所述训练后的特征模型中,得到处理后的特征向量;
对所述处理后的特征向量进行分析,定位出异常日志;
根据定位结果,验证所述训练后的特征模型是否有效。
可选的,所述根据每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,确定日志对应的特征向量,包括:
将所述日志测试集分割成多个第二子日志文件,每一个所述第二子日志文件包括多行日志;
根据所述每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,获取每一个所述第二子日志文件的特征向量。
可选的,对所述处理后的特征向量进行分析,定位出异常日志,包括:
对每一个第二子日志文件的处理后的特征向量进行聚类分析,得到聚类分析结果;
所述根据定位结果,验证所述训练后的特征模型是否有效包括:
根据聚类分析结果,验证所述训练后的特征模型是否有效。
第二方面,本发明实施例提供了一种异常日志检测装置,包括:
第一获取模块,用于获取待检测的日志文件,所述日志文件包括多行日志;
第一词性处理模块,用于对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式;
第一特征向量确定模块,用于根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量;
第一特征处理模块,用于将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量;
第一定位模块,用于对所述处理后的特征向量进行分析,定位出异常日志。
可选的,所述第一词性处理模块,用于对所述日志文件中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;将每一行日志的所有词性标签拼接,得到每一行日志对应的日志词性表达式。
可选的,所述第一特征向量确定模块,用于将所述日志文件分割成多个子日志文件,每一个所述子日志文件包括多行日志;根据每一行日志对应的日志词性表达式和日志词性模板语料库,获取每一个所述子日志文件的特征向量。
可选的,所述第一特征向量确定模块,用于根据所述日志词性模板语料库,获取每一个所述子日志文件对应的模板序列向量和模板频率统计向量,所述模板序列向量表示所述子日志文件中每一行日志对应的日志词性模板,所述模板频率统计向量表示每一个日志词性模板在所述子日志文件对应的模板序列向量中出现的次数;将每一个所述子日志文件对应的模板序列向量和模板频率统计向量合并,得到每一个所述子日志文件的特征向量。
可选的,所述第一定位模块,用于对所述处理后的特征向量进行聚类分析,定位出异常日志。
可选的,所述异常日志检测装置还包括:
第二获取模块,用于获取日志训练集,所述日志训练集包括多行日志;
第二词性处理模块,用于对所述日志训练集中的每一行日志的词语进行词性处理,得到每一行日志对应的第一日志词性表达式;
第二特征向量确定模块,用于根据每一行日志对应的第一日志词性表达式以及预先建立的词性日志模板语料库,获取日志对应的特征向量;
训练模块,用于采用所述日志训练集中的标记为正常的日志的特征向量进行特征模型训练,得到训练后的特征模型。
可选的,所述第二词性处理模块,用于对所述日志训练集中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;
将每一行日志的所有词性标签拼接,得到每一行日志对应的第一日志词性表达式。
可选的,所述异常日志检测装置还包括:
语料库确定模块,用于对所述日志训练集中的所有日志对应的第一日志词性表达式进行处理,得到日志词性模板语料库。
可选的,所述语料库确定模块,用于去除所有所述第一日志词性表达式中重复的第一日志词性表达式,剩余的第一日志词性表达式作为日志词性模板形成所述日志词性模板语料库。
可选的,所述第二特征向量确定模块,用于将所述日志训练集分割成多个第一子日志文件,每一个所述第一子日志文件包括多行日志;根据每一行日志对应的第一日志词性表达式和所述日志词性模板语料库,获取每一个所述第一子日志文件的特征向量。
可选的,所述第二特征向量确定模块,用于根据所述日志词性模板语料库,获取每一个所述第一子日志文件对应的模板序列向量和模板频率统计向量,所述模板序列向量表示所述第一子日志文件中每一行日志对应的所述日志词性模板,所述模板频率统计向量表示每一个所述日志词性模板在所述第一子日志文件对应的模板序列向量中出现的次数;将每一个所述第一子日志文件对应的模板序列向量和模板频率统计向量合并,得到每一个所述第一子日志文件的特征向量。
可选的,所述训练模块,用于将所述日志训练集中的标记为正常的日志的特征向量依次输入至自编码器,得到重建后的第一特征向量;将每一个所述第一特征向量分别与降维函数运算得到第二特征向量,并判断所有所述第二特征向量是否满足收敛条件;若满足所述收敛条件,得到训练后的降维函数;若不满足所述收敛条件,对所述降维函数中的系数进行调整,直至满足所述收敛条件,得到训练后的降维函数;确定训练后的特征模型,所述训练后的特征模型包括所述自编码器和所述训练后的降维函数。
可选的,所述异常日志检测装置还包括:
第一验证模块,用于将所述日志训练集中的标记为异常的日志的特征向量输入至自编码器,输出重建后的第三特征向量;将每一个所述第三特征向量分别与所述训练后的降维函数运算,得到第四特征向量;根据所有所述第四特征向量的分布,验证所述训练后的特征模型是否有效。
可选的,所述第一验证模块,用于计算所述第四特征向量间的距离;若距离均值小于第一预设阈值,且异常的日志对应的特征映射向量和正常的日志对应的特征映射向量之间的距离大于第二预设阈值,确定所述训练后的特征模型有效。
可选的,所述异常日志检测装置还包括:
第三获取模块,用于获取日志测试集,所述日志测试集包括多行正常日志和多行异常日志;
第三词性处理模块,用于对所述日志测试集中的每一行日志的词语进行词性处理,得到每一行日志对应的第二日志词性表达式;
第三特征向量确定模块,用于根据每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,确定日志对应的特征向量;
第二特征处理模块,用于将所述日志对应的特征向量输入至所述训练后的特征模型中,得到处理后的特征向量;
第二定位模块,用于对所述处理后的特征向量进行分析,定位出异常日志;
第二验证模块,用于根据定位结果,验证所述训练后的特征模型是否有效。
可选的,所述第三特征向量确定模块,用于将所述日志测试集分割成多个第二子日志文件,每一个所述第二子日志文件包括多行日志;根据所述每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,获取每一个所述第二子日志文件的特征向量。
可选的,所述第二定位模块,用于对每一个第二子日志文件的处理后的特征向量进行聚类分析,得到聚类分析结果;
所述第二验证模块,用于根据聚类分析结果,验证所述训练后的特征模型是否有效。
第三方面,本发明实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本发明实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本发明实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
第六方面,本发明实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所述的方法。
在本发明实施例中,首先,将日志中的词语进行词性处理,得到日志的日志词性表达式,利用日志词性表达式代替日志语句本身进行异常日志定位,使得对日志语句中的简写、省略、拼写错误等问题,均有很高的容错性,有利于提高异常日志检测的准确性,再者,日志文件通常数量级较大,采用日志词性表达式代替日志语句本身进行定位,也会极大的减少运算量。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例的异常日志检测方法的流程示意图;
图2为本发明实施例的用于异常日志检测的特征模型的训练方法的流程示意图之一;
图3为本发明实施例的用于异常日志检测的特征模型的训练方法的流程示意图之二;
图4为本发明实施例的异常日志检测装置的结构示意图;
图5为本发明实施例的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员获取的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本发明实施例提供的异常日志检测方法、装置、电子设备及可读存储介质进行详细地说明。
请参考图1,本发明实施例还提供一种异常日志检测方法,包括:
步骤11:获取待检测的日志文件,所述日志文件包括多行日志;
本发明实施例中,可选的,所述日志文件中每一行日志为一条完整的日志,当然,在本发明的其他一些实施例中,也不限于此,一条完整的日志也可以位于相邻的不同行,或者,同一行包括多条日志。
本发明实施例中的日志,可以是多种类型的日志,例如计算机系统、设备或软件的日志,所述设备可以是网络云化设备等多种类型的设备,本发明并不对日志的类型进行限定。
步骤12:对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式;
本发明实施例可选的是,对每一行日志的词语进行词性处理包括:对每一行日志进行分词处理,得到多个词语;获取分词处理后的各个词语对应的词性标签,根据每一行日志对应的各词语的词性标签以及各词语在该行日志位置信息,得到每一行日志对应的日志词性表达。
本发明实施例中,日志由英文书写,因而,上述词语可以是单词。
举例来说,一条日志为“Cleaning up deleted instances_run_pending_deletes/usr/lib/python2.7/site-packages/nova/compute/manager.py:6748”。其中,单词[Cleaning]是一个现在分词,对应的词性标签为[VBG];单词[up]是一个虚词,对应的词性标签为[RP];以此类推,将日志中的每一个单词都转换为对应的词性标签。另外,此日志的最后一部分[/usr/lib/python2.7/site-packages/nova/compute/manager.py:6748]代表一个路径,可以用词性标签[path]来替换。最终得到的转化结果为“[VBG][RP][JJ][NNS][VBZ][path]”。
经过词性处理,日志语句并抽象成了一个日志词性表达式,这种方法对日志语句中的简写、省略、拼写错误等问题,均有很高的容错性,有利于提高异常日志检测的准确性。
步骤13:根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量;
步骤14:将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量。
其中,该特征模型为预先训练好的用于异常检测的特征模型,该特征模型将待检测日志文件中日志相似类型特征向量的在空间域中进行聚集处理。也即,将所述日志对应的特征向量输入至特征模型中进行处理,得到处理后的特征向量,其中,处理后的特征向量在空间域具有一定的聚集分发特征,相似类似日志对应的处理后特征向量聚集在指定范围内;不同类型日志对应的处理后特征向量之间距离在指定阈值之外。
步骤15:对所述处理后的特征向量进行分析,定位出异常日志。
在本发明实施例中,首先,将日志中的词语进行词性处理,得到日志的日志词性表达式,利用日志词性表达式代替日志语句本身进行异常日志定位,使得对日志语句中的简写、省略、拼写错误等问题,均有很高的容错性,有利于提高异常日志检测的准确性,再者,日志文件通常数量级较大,采用日志词性表达式代替日志语句本身进行定位,也会极大的减少运算量。本发明实施例中的特性模型能够将待检测日志文件中日志相似类型特征向量的在空间域中进行聚集处理,通过将日志文件对应的特征向量输入到该特征模型进行处理,得到处理后的特征向量,其中相似类型的日志对应的处理后的特征向量聚集在指定范围内;不同类型日志对应的处理后特征向量之间距离在指定阈值之外,系统基于该特征模型可以使得将正常日志对应的特征向量和异常日志对应的特性向量在空间上进行有效区分,进而使得系统快速准确地定位出异常日志的位置。本发明实施例中,可选的,获取所述待检测的日志文件包括:对所述日志文件进行预处理,所述预处理包括以下至少一项:非法符号去除、大小写转化、无效例删除,从而可以使得日志文件中的日志更符合规范。
本发明实施例中,可选的,所述对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式包括:
步骤121:对所述日志文件中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;
本发明实施例中,可以根据自然语言工具包(NLTK)和预设的特有词性标签库,对所述日志训练集中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签,所述自然语言工具包中包括多个词语以及每一个词语对应的词性标签,所述特有词性标签库包括多个专用于日志的词语和/或词语组合以及每一个词语和/或词语组合对应的词性标签。
所谓专用于日志的特有词性标签,例如上述例子中的[/usr/lib/python2.7/site-packages/nova/compute/manager.py:6748]代表一个路径,用词性标签[path]来替换,该[path]就是专用于日志的特有词性标签。专用于日志的特有词性标签可以根据需要设置,并添加到特有词性标签库中,特有词性标签例如还可以包括[num],表示日志中的数字。
步骤322:将每一行日志的所有词性标签拼接,得到每一行日志对应的日志词性表达式。
所述拼接是按照每一行日志中所有词语的顺序,对对应的词性标签进行拼接。
本发明实施例中,可选的,所述根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量,包括:
步骤131:将所述日志文件分割成多个子日志文件,每一个所述子日志文件包括多行日志;
步骤132:根据每一行日志对应的日志词性表达式和日志词性模板语料库,获取每一个所述子日志文件的特征向量;
举例来说,日志文件有20000行日志,可以将日志文件分割成100个子日志文件,每一个子日志文件包括200行日志,且每一个子日志文件中的日志为相邻的200行日志。
日志文件通常数量级较大,将日志文件分割成多个子日志文件,以子日志文件为单位提取特征向量,即有助于提高处理效率,同时由于将子日志文件中的多行日志同时处理,提取出的特征向量会包含更多的信息。具体来说,以子日志文件为单位提取特征向量,提取的特征向量包含该子日志文件中每行日志的特征,同时还包含该子日志文件中多行日志之间的相关信息。
本发明实施例中,可选的,所述日志词性模板语料库可以采用如下步骤得到:
对日志训练集中的每一行日志的词语进行词性处理,得到每一行日志对应的第一日志词性表达式,并对所述日志训练集中的所有日志对应的第一日志词性表达式进行处理,得到日志词性模板语料库。
可选的,所述对所述日志训练集中的所有日志对应的第一日志词性表达式进行处理包括:去除所有所述第一日志词性表达式中重复的第一日志词性表达式,剩余的第一日志词性表达式作为日志词性模板形成所述日志词性模板语料库。
本发明实施例中,假设日志词性模板语料库中包括N个第一日志词性表达式,可以对该N个第一日志词性表达式进行编码,例如,从1到N的编号,以进行区分。
本发明实施例中,可选的,上述步骤15中对所述处理后的特征向量进行分析,定位出异常日志可以包括:
步骤151:采用聚类分析算法对所述每一个子日志文件的处理后的特征向量进行聚类分析,使得所述日志文件的所有子日志文件划分为第一类子日志文件和第二类子日志文件,其中,第一类子日志文件为正常子日志文件,第二类子日志文件为异常子日志文件。
本发明实施例中,可以采用DBSCAN密度聚类算法对每一个子日志文件的处理后的特征向量进行聚类分析,当然,也不排除采用其他聚类算法。
在本发明实施例中,首先,将日志中的词语进行词性处理,得到日志的日志词性表达式,利用日志词性表达式代替日志语句本身进行异常日志的检测,该种方法对日志语句中的简写、省略、拼写错误等问题,均有很高的容错性,有利于提高异常日志检测的准确性,再者,日志文件通常数量级较大,将日志文件分割成多个子日志文件,以子日志文件为单位提取特征向量,即有助于提高处理效率,同时由于将子日志文件中的多行日志同时处理,提取出的特征向量会包含更多的信息,进一步提高了异常日志检测的准确性。
本发明实施例中,可选的,所述根据每一行日志对应的第一日志词性表达式和所述日志词性模板语料库,获取每一个所述第一子日志文件的特征向量包括:
步骤1321:根据所述日志词性模板语料库,获取每一个所述子日志文件对应的模板序列向量和模板频率统计向量,所述模板序列向量表示所述子日志文件中每一行日志对应的日志词性模板,所述模板频率统计向量表示每一个所述日志词性模板在所述子日志文件对应的模板序列向量中出现的次数,;
步骤1332:将每一个所述子日志文件对应的模板序列向量和模板频率统计向量合并,得到每一个所述子日志文件的特征向量。
可选的,所述模板序列向量的维度为1×M,M为每一个所述子日志文件中的日志的行数;本发明实施例中,可选的,可以将待检测的日志文件中的日志分割成M个等行的子日志文件。
所述模板频率统计向量的维度为1×N,N为所述日志词性模板语料库中的日志词性模板的个数;
所述特征向量的维度为1×(M+N);
其中,M和N为正整数。
举例来说,日志文件有20000行日志,可以按照日志的时间先后顺序将日志文件分割成100个子日志文件,每一个子日志文件包括200行日志,即M等于200。
本发明实施例中,每一个子日志文件中包括M行日志,将子日志文件中的M行日志对应的日志词性表达式分别与日志词性模板语料库中的日志词性模板进行比对,得到每一行日志在日志词性模板语料库对应的日志词性模板(例如可以用日志词性模板的编码或者基于编码得到的其他计算量表示),M行日志对应的日志词性模板组成该子日志文件对应的模板序列向量,该模板序列向量的维度为1×M,即,即每一个子日志文件中的一行日志对应模板序列向量中的一列。
本发明实施例中,得到每一个子日志文件对应的模板序列向量的同时,还需要得到每一个子日志文件对应的模板频率统计向量,该模板频率统计向量表示日志词性模板语料库中的每一个日志词性模板在所述子日志文件对应的模板序列向量中出现的次数,举例来说,子日志文件1的模板序列向量为1×M,日志词性模板1在子日志文件1的模板序列向量中出现2次,日志词性模板2在子日志文件1的模板序列向量中出现0次,日志词性模板3在子日志文件1的模板序列向量中出现1次,……日志词性模板N在子日志文件1的模板序列向量中出现0次,则将上述各次数组成一个1×N的序列,即子日志文件1对应的模板频率统计向量。
本发明实施例中,对于M值的选择,若数值太大,则不利于准确地定位。若M值太小,则单个特征向量信息少,计算效率差。M值的选择与N值有相关关系,例如,M值与N值可以按照预设比例取值,以确保两者值相差在一定范围内。
请参考图2,图2为本发明实施例的用于异常日志检测的特征模型的训练方法的流程示意图,该方法包括:
步骤21:获取日志训练集,所述日志训练集包括多行日志;
本发明实施例中,日志训练集中至少包括正常日志,即标记为正常的日志,当然,根据需要也可以包括少量的异常日志,即标记为异常的日志。
本发明实施例中,可选的,所述日志训练集中每一行日志为一条完整的日志,当然,在本发明的其他一些实施例中,也不限于此,一条完整的日志也可以位于相邻的不同行,或者,同一行包括多条日志。
本发明实施例中的日志,可以是多种类型的日志,例如计算机系统、设备或软件的日志,所述设备可以是网络云化设备等多种类型的设备,本发明并不对日志的类型进行限定。
步骤22:对所述日志训练集中的每一行日志的词语进行词性处理,得到每一行日志对应的第一日志词性表达式;
对所述日志训练集中的每一行日志的词语进行词性处理,得到每一行日志对应的第一日志词性表达式的具体实现过程,与同上述步骤12实现过程相似,具体可参考上述步骤12,本发明在此不在赘述。
本发明实施例中,日志由英文书写,因而,上述词语可以单词。
举例来说,一条日志为“Cleaning up deleted instances_run_pending_deletes/usr/lib/python2.7/site-packages/nova/compute/manager.py:6748”。其中,单词[Cleaning]是一个现在分词,对应的词性标签为[VBG];单词[up]是一个虚词,对应的词性标签为[RP];以此类推,将日志中的每一个单词都转换为对应的词性标签。另外,此日志的最后一部分[/usr/lib/python2.7/site-packages/nova/compute/manager.py:6748]代表一个路径,可以用词性标签[path]来替换。最终得到的转化结果为“[VBG][RP][JJ][NNS][VBZ][path]”。
经过词性处理,日志语句被抽象成了一个日志词性表达式,利用日志词性表达式代替日志语句本身进行特征模型的训练,使得训练出的模型对日志语句中的简写、省略、拼写错误等问题,均有很高的容错性,有利于提高异常日志检测的准确性。再者,日志文件通常数量级较大,采用日志词性表达式代替日志语句本身进行特征模型的训练,也会极大的减少运算量,提高模型训练的时效。
步骤23:根据每一行日志对应的第一日志词性表达式以及预先建立的词性日志模板语料库,获取日志对应的特征向量;
步骤24:采用所述日志训练集中的标记为正常的日志的特征向量进行特征模型训练,得到训练后的特征模型。在本发明实施例中,首先,将日志中的词语进行词性处理,得到日志的日志词性表达式,利用日志词性表达式代替日志语句本身进行特征模型的训练,使得训练出的模型对日志语句中的简写、省略、拼写错误等问题,均有很高的容错性,有利于提高异常日志检测的准确性,再者,日志文件通常数量级较大,采用日志词性表达式代替日志语句本身进行特征模型的训练,也会极大的减少运算量,提高模型训练的时效。进一步来说,本发明实施例使用标记为正常的日志的特征向量为训练样本,对特征模型进行训练,使得训练出来的特征模型能够准确地识别出正常日志对应的特征向量,将正常日志对应的特征向量聚集在一定的向量空间范围内,从而在应用该训练完成的特征模型对日志文件进行处理过程中,能够将正常日志对应的特征向量和异常日志对应的特性向量在空间上进行有效区分,进而使得系统快速准确地定位出异常日志的位置。
本发明实施例中,可选的,所述获取日志训练集包括:对所述日志训练集进行预处理,所述预处理包括以下至少一项:非法符号去除、大小写转化和无效例删除,从而可以使得日志训练集中的日志更符合规范,有利于后续的特征模型训练过程。
本发明实施例中,可选的,所述对所述日志训练集中的每一行日志的词语进行词性处理,得到每一行日志对应的第一日志词性表达式包括:
步骤221:对所述日志训练集中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;
本发明实施例中,可以根据自然语言工具包(NLTK)和预设的特有词性标签库,对所述日志训练集中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签,所述自然语言工具包中包括多个词语以及每一个词语对应的词性标签,所述特有词性标签库包括多个专用于日志的词语和/或词语组合以及每一个词语和/或词语组合对应的词性标签。
所谓专用于日志的特有词性标签,例如上述例子中的[/usr/lib/python2.7/site-packages/nova/compute/manager.py:6748]代表一个路径,用词性标签[path]来替换,该[path]就是专用于日志的特有词性标签。专用于日志的特有词性标签可以根据需要设置,并添加到特有词性标签库中,特有词性标签例如还可以包括[num],表示日志中的数字。
步骤222:将每一行日志的所有词性标签拼接,得到每一行日志对应的第一日志词性表达式。
所述拼接是按照每一行日志中所有词语的顺序,对对应的词性标签进行拼接。
本发明实施例中,可选的,所述对所述日志训练集中的所有日志对应的第一日志词性表达式进行处理包括:去除所有所述第一日志词性表达式中重复的第一日志词性表达式,剩余的第一日志词性表达式作为日志词性模板形成所述日志词性模板语料库。当然,也不排除还包括对第一日志词性表达式的其他处理方式,例如排序等。本发明实施例中,假设最终处理得到的日志词性模板语料库中包括N个日志词性模板,可以对该N个日志词性模板进行编码,例如,从1到N的编号,以进行区分。
本发明实施例中,可选的,所述根据每一行日志对应的第一日志词性表达式以及预先建立的词性日志模板语料库,获取日志对应的特征向量,包括:
步骤231:将所述日志训练集分割成多个第一子日志文件,每一个所述第一子日志文件包括多行日志;
步骤232:根据每一行日志对应的第一日志词性表达式和所述日志词性模板语料库,获取每一个所述第一子日志文件的特征向量。
举例来说,日志训练集有20000行日志,可以将日志训练集分割成100个第一子日志文件,每一个第一子日志文件包括200行日志,且每一个第一子日志文件中的日志为相邻的200行日志。
日志训练集通常数量级较大,将日志训练集分割成多个第一子日志文件,以子日志文件为单位提取特征向量,即有助于提高处理效率,同时由于将子日志文件中的多行日志同时处理,提取出的特征向量会包含更多的信息。具体来说,以子日志文件为单位提取特征向量,提取的特征向量包含该子日志文件中每行日志的特征,同时还包含该子日志文件中多行日志之间的相关信息。
本发明实施例中,将日志训练集划分为多个第一子日志文件之后,还需要对多个第一子日志文件进行标记,即标记为正常的第一子日志文件,或者,标记为异常的第一子日志文件,标记为正常的第一子日志文件是指该第一子日志文件中的日志均为正常的日志,标记为异常的第一子日志文件是指该第一子日志文件中包括至少一条异常的日志。
可选的,上述步骤24中采用所述日志训练集中的标记为正常的日志的特征向量进行特征模型训练,得到训练后的特征模型包括:
步骤241:采用所述日志训练集中的标记为正常的第一子日志文件的特征向量进行特征模型训练,得到训练后的特征模型。
在本发明实施例中,首先,将日志中的词语进行词性处理,得到日志的日志词性表达式,利用日志词性表达式代替日志语句本身进行特征模型的训练,使得训练出的模型对日志语句中的简写、省略、拼写错误等问题,均有很高的容错性,有利于提高异常日志检测的准确性,再者,日志文件通常数量级较大,采用日志词性表达式代替日志语句本身进行特征模型的训练,也会极大的减少运算量,提高模型训练的时效,同时,将日志文件分割成多个子日志文件,以子日志文件为单位提取特征向量,即有助于提高处理效率,同时由于将子日志文件中的多行日志同时处理,提取出的特征向量会包含更多的信息,进一步提高了异常日志检测的准确性。
本发明实施例中,可选的,所述根据每一行日志对应的第一日志词性表达式和所述日志词性模板语料库,获取每一个所述第一子日志文件的特征向量包括:
步骤2321:根据所述日志词性模板语料库,获取每一个所述第一子日志文件对应的模板序列向量和模板频率统计向量,所述模板序列向量表示所述第一子日志文件中每一行日志对应的日志词性模板,所述模板频率统计向量表示每一个所述日志词性模板在所述第一子日志文件对应的模板序列向量中出现的次数;
步骤2322:将每一个所述第一子日志文件对应的模板序列向量和模板频率统计向量合并,得到每一个所述第一子日志文件的特征向量。
可选的,所述模板序列向量的维度为1×M,M为每一个所述第一子日志文件中的日志的行数;本发明实施例中,可选的,可以将日志训练集中的日志分割成M个等行的第一子日志文件。
所述模板频率统计向量的维度为1×N,N为所述日志词性模板语料库中的日志词性模板的个数;
所述特征向量的维度为1×(M+N);
其中,M和N为正整数。
举例来说,日志训练集有20000行日志,可以按照日志的时间先后顺序将日志训练集分割成100个第一子日志文件,每一个第一子日志文件包括200行日志,即M等于200。
本发明实施例中,每一个第一子日志文件中包括M行日志,将第一子日志文件中的M行日志对应的第一日志词性表达式分别与日志词性模板语料库中的日志词性模板进行比对,得到每一行日志在日志词性模板语料库中对应的日志词性模板(例如可以用日志词性模板语料库中的日志词性模板的编码或者基于编码得到的其他计算量等表示),M行日志在日志词性模板语料库中对应的日志词性模板组成第一子日志文件对应的模板序列向量,该模板序列向量的维度为1×M,即,即每一个第一子日志文件中的一行日志对应模板序列向量中的一列。
本发明实施例中,得到每一个第一子日志文件对应的模板序列向量的同时,还需要得到每一个第一子日志文件对应的模板频率统计向量,该模板频率统计向量表示日志词性模板语料库中的每一个日志词性模板在所述第一子日志文件对应的模板序列向量中出现的次数,举例来说,第一子日志文件1的模板序列向量为1×M,日志词性模板1在第一子日志文件1的模板序列向量中出现2次,日志词性模板2在第一子日志文件1的模板序列向量中出现0次,日志词性模板3在第一子日志文件1的模板序列向量中出现1次,……日志词性模板N在第一子日志文件1的模板序列向量中出现0次,则将上述各次数组成一个1×N的序列,即第一子日志文件1对应的模板频率统计向量。
本发明实施例中,对于M值的选择,若数值太大,则不利于准确地定位。若M值太小,则单个特征向量信息少,计算效率差。M值的选择与N值有相关关系,例如两者不能相差太大。
本发明实施例中,可选的,所述采用所述日志训练集中的标记为正常的第一子日志文件的特征向量进行特征模型训练,得到训练后的特征模型包括:
步骤2411:高维特征向量获取步骤:将所述日志训练集中的标记为正常的第一子日志文件的特征向量依次输入至自编码器(AutoEncoder),输出重建后的第一特征向量,即每一个标记为正常的第一子日志文件对应的第一特征向量,所述自编码器包括多个编码层,所述第一特征向量为所述自编码器对所有编码层输出的特征向量进行拼接得到;
本发明实施例中,所述第一特征向量为一个具有丰富信息量的高维特征向量。
步骤2412:训练步骤:将每一个所述第一特征向量分别与降维函数运算得到第二特征向量,判断所有所述第二特征向量是否满足收敛条件;
由于所述第一特征向量为一个具有丰富信息量的高维特征向量,为了减小运算负担,本发明实施例中,需要对第一特征向量进行降维处理,本发明实施例中,通过将所述第一特征向量与降维函数运算,对高维特征向量进行降维处理。可选的,所述降维函数可以为多种形式,例如为一函数矩阵。可选的,所述函数矩阵可以是线性函数矩阵,即对高维特征向量进行线性变换。例如,参数矩阵为一个一维向量,可对高维特征向量进行线性映射。举例来说,第一(高维)特征向量10×400,参数矩阵400×1,得到第二(映射)特征向量10×1。
步骤2413:调整步骤:若满足所述收敛条件,得到训练后的降维函数;若不满足所述收敛条件,对所述降维函数中的系数进行调整,并返回所述训练步骤,直至满足所述收敛条件,得到训练后的降维函数。
步骤2414:确定步骤:确定训练后的特征模型,所述训练后的特征模型包括所述自编码器和所述训练后的参数矩阵。
本发明实施例中,对降维函数中的系数进行训练,训练的目的是减少正常的子日志文件的特征向量经过特征模型处理后得到的特征映射向量(第二特征向量)在映射空间内的距离,使正常的子日志文件的特征映射向量相互聚集。
本发明实施例中,所述收敛条件例如可以是计算所有正常的第一子日志文件对应的特征映射向量间的距离,若均值小于一定的阈值,则满足收敛条件。距离可以是欧式距离,也可以为其他距离。
本发明实施例中,训练出上述特征模型之后,还可以采用异常的第一子日志文件对训练出的模型进行验证。
本发明实施例中,可选的,所述得到训练后的特征模型之后还包括:
步骤2415:将所述日志训练集中的标记为异常的第一子日志文件的特征向量分别输入至自编码器,输出重建后的第三特征向量,即输出每一个标记为异常的第一子日志文件对应的第三特征向量;所述标记为异常的第一子日志文件中包括至少一行异常的日志;
步骤2416:将每一个所述第三特征向量分别与所述训练后的降维函数运算,得到第四特征向量;
步骤2417:根据所有所述第四特征向量的分布,验证所述训练后的特征模型是否有效。
可选的,所述根据所有所述第四特征向量的分布,验证所述训练后的特征模型是否有效,包括:
计算所述第四特征向量间的距离;
若距离均值小于第一预设阈值,且异常的日志对应的特征映射向量和正常的日志对应的特征映射向量之间的距离大于第二预设阈值,确定所述训练后的特征模型有效。
本发明实施例中,还可以用日志测试集,测试上述特征模型的准确性。
请参考图3,本发明实施例中,可选的,所述得到训练后的特征模型之后还包括:
步骤25:获取日志测试集,所述日志测试集包括多行正常日志和多行异常日志;
本发明实施例中,可选的,所述获取日志测试集包括:对所述日志测试集进行预处理,所述预处理包括以下至少一项:非法符号去除、大小写转化、无效例删除,从而可以使得日志测试集中的日志更符合规范。
步骤26:对所述日志测试集中的每一行日志的词语进行词性处理,得到每一行日志对应的第二日志词性表达式;
具体的词性处理方法和日志词性表达式处理方法可以参见上述实施例中对日志训练集的处理,不再重复描述。
步骤27:根据每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,确定日志对应的特征向量;
步骤28:将所述日志对应的特征向量输入至所述训练后的特征模型中,得到处理后的特征向量;
步骤29:对所述处理后的特征向量进行分析,定位出异常日志;
步骤210:根据定位结果,验证所述训练后的特征模型是否有效。
本申请实施例中,可选的,所述根据每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,确定日志对应的特征向量,包括:
步骤271:将所述日志测试集分割成多个第二子日志文件,每一个所述第二子日志文件包括多行日志;
步骤272:根据所述日志词性模板语料库和所述第二日志词性表达式,获取每一个所述第二子日志文件的特征向量;
具体的分割方法和特征向量获取方法可以参见上述实施例中对日志训练集的处理,不再重复描述。
可选的,上述步骤28中将所述日志对应的特征向量输入至所述训练后的特征模型中,得到处理后的特征向量包括:将所述日志测试集中的所有第二子日志文件的特征向量,输入至所述训练后的特征模型中,得到每一个第二子日志文件的处理后的特征向量。
可选的,上述步骤29中对所述处理后的特征向量进行分析,定位出异常日志包括:对每一个第二子日志文件的处理后的特征向量进行聚类分析,得到聚类分析结果;
步骤210中所述根据定位结果,验证所述训练后的特征模型是否有效包括:根据聚类分析结果,验证所述训练后的特征模型是否有效。
可选的,可以采用聚类分析算法对每一个第二子日志文件的处理后的特征向量进行聚类分析,使得所述日志测试集中的所有第二子日志文件划分为第一类子日志文件和第二类子日志文件,其中,第一类子日志文件为正常子日志文件,第二类子日志文件为异常子日志文件;
本发明实施例中,可以采用DBSCAN密度聚类算法对每一个第二子日志文件的处理后的特征向量进行聚类分析,当然,也不排除采用其他聚类算法。
本发明实施例中,如果根据聚类分析结果判断出训练后的特征模型无效,则可以返回上述实施例中的特征模型的训练过程,重新对特征模型进行训练。
请参考图4,本发明实施例还提供一种异常日志检测装置40,包括:
第一获取模块41,用于获取待检测的日志文件,所述日志文件包括多行日志;
第一词性处理模块42,用于对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式;
第一特征向量确定模块43,用于根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量;
第一特征处理模块44,用于将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量;
其中,该特征模型为预先训练好的用于异常检测的特征模型,该特征模型将待检测日志文件中日志相似类型特征向量的在空间域中进行聚集处理。也即,将所述日志对应的特征向量输入至特征模型中进行处理,得到处理后的特征向量,其中,处理后的特征向量在空间域具有一定的聚集分发特征,相似类似日志对应的处理后特征向量聚集在指定范围内;不同类型日志对应的处理后特征向量之间距离在指定阈值之外。
第一定位模块45,用于对所述处理后的特征向量进行分析,定位出异常日志。
在本发明实施例中,首先,将日志中的词语进行词性处理,得到日志的日志词性表达式,利用日志词性表达式代替日志语句本身进行异常日志的检测,该种方法对日志语句中的简写、省略、拼写错误等问题,均有很高的容错性,有利于提高异常日志检测的准确性。本发明实施例中的特性模型能够将待检测日志文件中日志相似类型特征向量的在空间域中进行聚集处理,通过将日志文件对应的特征向量输入到该特征模型进行处理,得到处理后的特征向量,其中相似类型的日志对应的处理后的特征向量聚集在指定范围内;不同类型日志对应的处理后特征向量之间距离在指定阈值之外,系统基于该特征模型可以使得将正常日志对应的特征向量和异常日志对应的特性向量在空间上进行有效区分,进而使得系统快速准确地定位出异常日志的位置。
可选的,所述第一词性处理模块42,用于对所述日志文件中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;将每一行日志的所有词性标签拼接,得到每一行日志对应的日志词性表达式。
可选的,所述第一特征向量确定模块43,用于将所述日志文件分割成多个子日志文件,每一个所述子日志文件包括多行日志;根据每一行日志对应的日志词性表达式和日志词性模板语料库,获取每一个所述子日志文件的特征向量。
可选的,所述第一特征向量确定模块43,用于根据所述日志词性模板语料库,获取每一个所述子日志文件对应的模板序列向量和模板频率统计向量,所述模板序列向量表示所述子日志文件中每一行日志对应的日志词性模板,所述模板频率统计向量表示每一个日志词性模板在所述子日志文件对应的模板序列向量中出现的次数;将每一个所述子日志文件对应的模板序列向量和模板频率统计向量合并,得到每一个所述子日志文件的特征向量。
可选的,所述第一定位模块45,用于对所述处理后的特征向量进行聚类分析,定位出异常日志。
可选的,所述异常日志检测装置40还包括:
第二获取模块,用于获取日志训练集,所述日志训练集包括多行日志;
第二词性处理模块,用于对所述日志训练集中的每一行日志的词语进行词性处理,得到每一行日志对应的第一日志词性表达式;
第二特征向量确定模块,用于根据每一行日志对应的第一日志词性表达式以及预先建立的词性日志模板语料库,获取日志对应的特征向量;
训练模块,用于采用所述日志训练集中的标记为正常的日志的特征向量进行特征模型训练,得到训练后的特征模型。
可选的,所述第二词性处理模块,用于对所述日志训练集中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;
将每一行日志的所有词性标签拼接,得到每一行日志对应的第一日志词性表达式。
可选的,所述异常日志检测装置40还包括:
语料库确定模块,用于对所述日志训练集中的所有日志对应的第一日志词性表达式进行处理,得到日志词性模板语料库。
可选的,所述语料库确定模块,用于去除所有所述第一日志词性表达式中重复的第一日志词性表达式,剩余的第一日志词性表达式作为日志词性模板形成所述日志词性模板语料库。
可选的,所述第二特征向量确定模块,用于将所述日志训练集分割成多个第一子日志文件,每一个所述第一子日志文件包括多行日志;根据每一行日志对应的第一日志词性表达式和所述日志词性模板语料库,获取每一个所述第一子日志文件的特征向量。
可选的,所述第二特征向量确定模块,用于根据所述日志词性模板语料库,获取每一个所述第一子日志文件对应的模板序列向量和模板频率统计向量,所述模板序列向量表示所述第一子日志文件中每一行日志对应的所述日志词性模板,所述模板频率统计向量表示每一个所述日志词性模板在所述第一子日志文件对应的模板序列向量中出现的次数;将每一个所述第一子日志文件对应的模板序列向量和模板频率统计向量合并,得到每一个所述第一子日志文件的特征向量。
可选的,所述训练模块,用于将所述日志训练集中的标记为正常的日志的特征向量依次输入至自编码器,得到重建后的第一特征向量;将每一个所述第一特征向量分别与降维函数运算得到第二特征向量,并判断所有所述第二特征向量是否满足收敛条件;若满足所述收敛条件,得到训练后的降维函数;若不满足所述收敛条件,对所述降维函数中的系数进行调整,直至满足所述收敛条件,得到训练后的降维函数;确定训练后的特征模型,所述训练后的特征模型包括所述自编码器和所述训练后的降维函数。
可选的,所述异常日志检测装置40还包括:
第一验证模块,用于将所述日志训练集中的标记为异常的日志的特征向量输入至自编码器,输出重建后的第三特征向量;将每一个所述第三特征向量分别与所述训练后的降维函数运算,得到第四特征向量;根据所有所述第四特征向量的分布,验证所述训练后的特征模型是否有效。
可选的,所述第一验证模块,用于计算所述第四特征向量间的距离;若距离均值小于第一预设阈值,且异常的日志对应的特征映射向量和正常的日志对应的特征映射向量之间的距离大于第二预设阈值,确定所述训练后的特征模型有效。
可选的,所述异常日志检测装置40还包括:
第三获取模块,用于获取日志测试集,所述日志测试集包括多行正常日志和多行异常日志;
第三词性处理模块,用于对所述日志测试集中的每一行日志的词语进行词性处理,得到每一行日志对应的第二日志词性表达式;
第三特征向量确定模块,用于根据每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,确定日志对应的特征向量;
第二特征处理模块,用于将所述日志对应的特征向量输入至所述训练后的特征模型中,得到处理后的特征向量;
第二定位模块,用于对所述处理后的特征向量进行分析,定位出异常日志;
第二验证模块,用于根据定位结果,验证所述训练后的特征模型是否有效。
可选的,所述第三特征向量确定模块,用于将所述日志测试集分割成多个第二子日志文件,每一个所述第二子日志文件包括多行日志;根据所述每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,获取每一个所述第二子日志文件的特征向量。
可选的,所述第二定位模块,用于对每一个第二子日志文件的处理后的特征向量进行聚类分析,得到聚类分析结果;
所述第二验证模块,用于根据聚类分析结果,验证所述训练后的特征模型是否有效。
本发明实施例中的异常日志检测装置可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digitalassistant,PDA)等,还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)等,本发明实施例不作具体限定。
本发明实施例中的异常日志检测装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本发明实施例不作具体限定。
本发明实施例提供的异常日志检测装置能够实现图1的方法实施例实现的各个过程,为避免重复,这里不再赘述。
如图5所示,本发明实施例还提供一种电子设备50,包括处理器51和存储器52,存储器52上存储有可在所述处理器51上运行的程序或指令,该程序或指令被处理器51执行时实现上述用于异常日志检测的特征模型的训练方法或异常日志检测方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述用于异常日志检测的特征模型的训练方法或异常日志检测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。
本发明实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述用于异常日志检测的特征模型的训练方法或异常日志检测方法方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本发明实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本发明实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述用于异常日志检测的特征模型的训练方法或异常日志检测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本发明实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

Claims (10)

1.一种异常日志检测方法,其特征在于,包括:
获取待检测的日志文件,所述日志文件包括多行日志;
对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式;
根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量;
将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量;
对所述处理后的特征向量进行分析,定位出异常日志。
2.根据权利要求1所述的方法,其特征在于,所述对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式包括:
对所述日志文件中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;
将每一行日志的所有词性标签拼接,得到每一行日志对应的日志词性表达式。
3.根据权利要求1所述的方法,其特征在于,所述根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量,包括:
将所述日志文件分割成多个子日志文件,每一个所述子日志文件包括多行日志;
根据每一行日志对应的日志词性表达式和日志词性模板语料库,获取每一个所述子日志文件的特征向量。
4.根据权利要求3所述的方法,其特征在于,所述根据每一行日志对应的日志词性表达式和日志词性模板语料库,获取每一个所述子日志文件的特征向量包括:
根据所述日志词性模板语料库,获取每一个所述子日志文件对应的模板序列向量和模板频率统计向量,所述模板序列向量表示所述子日志文件中每一行日志对应的日志词性模板,所述模板频率统计向量表示每一个日志词性模板在所述子日志文件对应的模板序列向量中出现的次数;
将每一个所述子日志文件对应的模板序列向量和模板频率统计向量合并,得到每一个所述子日志文件的特征向量。
5.根据权利要求1所述的方法,其特征在于,所述特征模型采用如下方式训练得到:
获取日志训练集,所述日志训练集包括多行日志;
对所述日志训练集中的每一行日志的词语进行词性处理,得到每一行日志对应的第一日志词性表达式;
根据每一行日志对应的第一日志词性表达式以及预先建立的词性日志模板语料库,获取日志对应的特征向量;
采用所述日志训练集中的标记为正常的日志的特征向量进行特征模型训练,得到训练后的特征模型。
6.根据权利要求5所述的方法,其特征在于,所述对所述日志训练集中的每一行日志的词语进行词性处理,得到每一行日志对应的第一日志词性表达式包括:
对所述日志训练集中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;
将每一行日志的所有词性标签拼接,得到每一行日志对应的第一日志词性表达式。
7.根据权利要求5所述的方法,其特征在于,还包括:
对所述日志训练集中的所有日志对应的第一日志词性表达式进行处理,得到日志词性模板语料库。
8.一种异常日志检测装置,其特征在于,包括:
第一获取模块,用于获取待检测的日志文件,所述日志文件包括多行日志;
第一词性处理模块,用于对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式;
第一特征向量确定模块,用于根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量;
第一特征处理模块,用于将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量;
第一定位模块,用于对所述处理后的特征向量进行分析,定位出异常日志。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-7任一项所述的异常日志检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-7任一项所述的异常日志检测方法的步骤。
CN202210554220.3A 2022-05-20 2022-05-20 异常日志检测方法、装置、电子设备及可读存储介质 Active CN114969335B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210554220.3A CN114969335B (zh) 2022-05-20 2022-05-20 异常日志检测方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210554220.3A CN114969335B (zh) 2022-05-20 2022-05-20 异常日志检测方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN114969335A true CN114969335A (zh) 2022-08-30
CN114969335B CN114969335B (zh) 2024-02-20

Family

ID=82984405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210554220.3A Active CN114969335B (zh) 2022-05-20 2022-05-20 异常日志检测方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN114969335B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170068709A1 (en) * 2015-09-09 2017-03-09 International Business Machines Corporation Scalable and accurate mining of control flow from execution logs across distributed systems
CN112100137A (zh) * 2020-09-07 2020-12-18 西安电子科技大学 一种基于多日志协同分析的无人机异常检测方法
CN112579414A (zh) * 2020-12-08 2021-03-30 西安邮电大学 日志异常检测方法及装置
CN113111908A (zh) * 2021-03-03 2021-07-13 长沙理工大学 一种基于模板序列或词序列的bert异常检测方法及设备
CN113407721A (zh) * 2021-06-29 2021-09-17 哈尔滨工业大学(深圳) 检测日志序列异常的方法、装置及计算机存储介质
CN114020715A (zh) * 2021-10-29 2022-02-08 平安科技(深圳)有限公司 一种日志数据的处理方法、装置、介质及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170068709A1 (en) * 2015-09-09 2017-03-09 International Business Machines Corporation Scalable and accurate mining of control flow from execution logs across distributed systems
CN112100137A (zh) * 2020-09-07 2020-12-18 西安电子科技大学 一种基于多日志协同分析的无人机异常检测方法
CN112579414A (zh) * 2020-12-08 2021-03-30 西安邮电大学 日志异常检测方法及装置
CN113111908A (zh) * 2021-03-03 2021-07-13 长沙理工大学 一种基于模板序列或词序列的bert异常检测方法及设备
CN113407721A (zh) * 2021-06-29 2021-09-17 哈尔滨工业大学(深圳) 检测日志序列异常的方法、装置及计算机存储介质
CN114020715A (zh) * 2021-10-29 2022-02-08 平安科技(深圳)有限公司 一种日志数据的处理方法、装置、介质及设备

Also Published As

Publication number Publication date
CN114969335B (zh) 2024-02-20

Similar Documents

Publication Publication Date Title
CN111881983B (zh) 基于分类模型的数据处理方法、装置、电子设备及介质
CN108427720B (zh) 系统日志分类方法
CN108737406B (zh) 一种异常流量数据的检测方法及系统
CN112685324B (zh) 一种生成测试方案的方法及系统
CN114969334B (zh) 异常日志检测方法、装置、电子设备及可读存储介质
CN113591480B (zh) 电力计量的命名实体识别方法、装置和计算机设备
CN116795977A (zh) 数据处理方法、装置、设备和计算机可读存储介质
CN116821646A (zh) 数据处理链构建方法、数据缩减方法、装置、设备及介质
CN115456107A (zh) 一种时间序列异常检测系统及方法
CN117707922A (zh) 测试用例的生成方法、装置、终端设备和可读存储介质
CN117807481B (zh) 故障识别方法、模型的训练方法、装置、设备以及介质
CN113238908B (zh) 一种服务器性能测试数据分析方法及相关装置
CN112882899B (zh) 一种日志异常检测方法及装置
Huangfu et al. System failure detection using deep learning models integrating timestamps with nonuniform intervals
CN116932753A (zh) 日志分类方法、装置、计算机设备、存储介质和程序产品
CN114969335B (zh) 异常日志检测方法、装置、电子设备及可读存储介质
CN116795978A (zh) 一种投诉信息处理方法、装置、电子设备及介质
CN117389821A (zh) 日志异常的检测方法、设备及存储介质
CN114911936A (zh) 一种模型训练、评论识别方法、装置、电子设备及介质
Chen et al. Network log analysis based on the topic word mover's distance
CN116863481B (zh) 一种基于深度学习的业务会话风险处理方法
CN116910175B (zh) 自动化移动设备故障层级树构建方法、装置及储存介质
CN117971689A (zh) 脚本质量测试方法、装置、设备和存储介质
CN114969336A (zh) 异常日志检测方法、装置、电子设备及可读存储介质
Fujita et al. Utilization of automatic test case generation methods for various system specifications

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