CN116450137A - 一种***异常的检测方法、装置、存储介质及电子设备 - Google Patents
一种***异常的检测方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116450137A CN116450137A CN202310177421.0A CN202310177421A CN116450137A CN 116450137 A CN116450137 A CN 116450137A CN 202310177421 A CN202310177421 A CN 202310177421A CN 116450137 A CN116450137 A CN 116450137A
- Authority
- CN
- China
- Prior art keywords
- event
- parameter
- abnormality detection
- log
- result
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 223
- 230000005856 abnormality Effects 0.000 title claims abstract description 146
- 239000013598 vector Substances 0.000 claims abstract description 64
- 238000000034 method Methods 0.000 claims abstract description 62
- 238000012549 training Methods 0.000 claims abstract description 49
- 230000002159 abnormal effect Effects 0.000 claims description 46
- 230000015654 memory Effects 0.000 claims description 26
- 238000012795 verification Methods 0.000 claims description 18
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000007635 classification algorithm Methods 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000012937 correction Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种***异常的检测方法、装置、存储介质及电子设备,方法包括:将***日志进行解析,得到多个日志条目、每个日志条目对应的事件和参数;将每个日志条目的事件进行语义矢量化,得到每个日志条目的事件语义矢量;采用基于事件语义矢量序列训练得到的事件异常检测模型对每个日志条目的事件语义矢量进行事件异常检测,得到事件异常检测的结果;当事件异常检测的结果为正常时,采用基于参数序列训练得到的参数异常检测模型对每个日志条目的参数进行参数异常检测,得到参数异常检测的结果。通过实施本发明,充分利用日志中的事件信息和参数信息,避免了现有异常检测方法没有利用到日志的各个部分,判断不准确的问题。提高了检测的准确性。
Description
技术领域
本发明涉及日志检测技术领域,具体涉及一种***异常的检测方法、装置、存储介质及电子设备。
背景技术
***异常检测是检测***故障、调试机器性能以及维护***安全等必不可少的重要任务,随着***运行中遇到的漏洞以及非法入侵等恶意行为变得多样化,***产生的日志数据的种类也越来越多,因此,***异常检测也面临着越来越多的挑战。***日志文件记录了不同时刻***的运行状态和发生的事件,是故障分析、性能检测、以及进行***异常检测的重要数据。
现有的基于***日志的异常检测工作大致可以分为以下类别:基于经验的日志异常检测方法及基于朴素机器学习方法的日志异常检测方法。其中,基于经验的日志异常检测方法主要是工程师根据长期异常检测的经验所设计的逻辑编写程序进行异常检测。在相当长的时间内,这是异常检测的主要方法。该方法的好处是可以充分利用工程师长期进行异常检测的经验,对许多较为明显的异常很有效果。另外,这样的方式贴合人类的思维逻辑,便于修改和更新。然而,这样的方法也有不足:较为耗费人力,且对于从未见过的异常没有效果。
基于朴素机器学习方法的日志异常检测方法采用传统的机器学习方法,从日志数据中训练出一个机器学习模型来进行异常检测。这类方法克服了一些上述问题:没有那么耗费人力,且对于新的异常也有一些效果。然而,由于方法较为朴素,一些异常无法检测出来,因此所达到的效果没有那么令人满意。
发明内容
有鉴于此,本发明实施例提供了涉及一种***异常的检测方法、装置、存储介质及电子设备,以解决现有技术中采用基于***日志的异常检测效果较差的技术问题。
本发明提出的技术方案如下:
本发明实施例第一方面提供一种***异常的检测方法,包括:将***日志进行解析,得到多个日志条目、每个日志条目对应的事件和参数;将每个日志条目的事件进行语义矢量化,得到每个日志条目的事件语义矢量;采用基于事件语义矢量序列训练得到的事件异常检测模型对每个日志条目的事件语义矢量进行事件异常检测,得到事件异常检测的结果;当事件异常检测的结果为正常时,采用基于参数序列训练得到的参数异常检测模型对每个日志条目的参数进行参数异常检测,得到参数异常检测的结果。
可选地,该***异常的检测方法还包括:当当前***异常时,基于任意两个事件在预设时间距离内出现的频率计算任意两个事件之间的重要性;基于任意两个事件之间的重要性和预设阈值的大小,将任意两个事件形成事件流;对形成的事件流是否准确进行识别,基于事件流的识别结果,判断是否对事件异常检测模型进行更新。
可选地,所述任意两个事件包括第一事件和第二事件,所述任意两个事件的重要性为第二事件对第一事件的重要性,所述第二事件对第一事件的重要性由第一事件和第二事件在预设时间距离内出现的频率与预设时间距离和第一事件的频率乘积的比值确定。
可选地,基于任意两个事件之间的重要性和预设阈值的大小,将任意两个事件形成事件流,包括:当任意两个事件之间的重要性大于预设阈值时,将第一事件和第二事件构成第一事件流;在第三事件对第一事件的重要性以及第三事件对第二事件的重要性均大于预设阈值,将第一事件流扩充为包括第一事件、第二事件和第三事件;若第三事件对第一事件的重要性大于预设阈值,且第三事件对第二事件的重要性小于等于预设阈值,将第一事件和第三事件构成第二事件流;若第三事件对第一事件的重要性小于等于预设阈值,保持第一事件流不变。
可选地,对形成的事件流是否准确进行识别,基于事件流的识别结果,判断是否对事件异常检测模型进行更新,包括:将事件流输出至用户,以使用户对事件流进行识别;若用户对事件流的识别结果为错误时,获取用户对事件流修正后的识别结果;根据修正后的识别结果生成新的事件语义矢量序列;利用新的事件语义矢量序列对事件异常检测模型重新训练,得到更新后的事件异常检测模型。
可选地,将每个日志条目的事件进行语义矢量化,得到每个日志条目的事件语义矢量,包括:对每个日志条目事件进行预处理;基于快速文本分类算法获取每个日志条目的事件中单词的语义矢量;采用TF-IDF算法对每个日志条目的事件中单词的语义矢量进行计算,得到每个日志条目的事件语义矢量。
可选地,当事件异常检测的结果为正常时,采用基于参数序列训练得到的参数异常检测模型对每个日志条目的参数进行参数异常检测,得到参数异常检测的结果之前,包括:将每个日志条目的参数构成的参数序列划分为训练集和验证集;采用所述训练集中不同类事件对应的参数序列训练得到不同的参数异常检测模型;采用验证集对不同的参数异常检测模型进行验证,基于模型预设结果和验证集中的实际结果生成高斯分布。
可选地,当事件异常检测的结果为正常时,采用基于参数序列训练得到的参数异常检测模型对每个日志条目的参数进行参数异常检测,得到参数异常检测的结果,包括:当事件异常检测的结果为正常时,采用当前***日志事件对应的参数异常检测模型对每个日志条目的参数进行参数序列预测,得到预测结果;将预测结果和当前***日志事件对应的参数序列进行比较,判断比较结果是否落在所述高斯分布的高置信度区间内,所述高置信度区间为大于第一阈值的置信度区间;当落在高置信度区间内,则参数异常检测的结果为正常,反之为异常。
本发明实施例第二方面提供一种***异常的检测装置,包括:解析模块,用于将***日志进行解析,得到多个日志条目、每个日志条目对应的事件和参数;矢量化模块,用于将每个日志条目的事件进行语义矢量化,得到每个日志条目的事件语义矢量;第一检测模块,用于采用基于事件语义矢量序列训练得到的事件异常检测模型对每个日志条目的事件语义矢量进行事件异常检测,得到事件异常检测的结果;第二检测模块,用于当事件异常检测的结果为正常时,采用基于参数序列训练得到的参数异常检测模型对每个日志条目的参数进行参数异常检测,得到参数异常检测的结果;异常判断模块,用于当事件异常检测的结果为异常或者参数异常检测的结果为异常时,确定当前***异常。
可选地,该***异常的检测装置还包括:重要性计算模块,用于当当前***异常时,基于任意两个事件在预设时间距离内出现的频率计算任意两个事件之间的重要性;事件流形成模块,用于基于任意两个事件之间的重要性和预设阈值的大小,将任意两个事件形成事件流;识别更新模块,用于对形成的事件流是否准确进行识别,基于事件流的识别结果,判断是否对事件异常检测模型进行更新。
可选地,所述任意两个事件包括第一事件和第二事件,所述任意两个事件的重要性为第二事件对第一事件的重要性,所述第二事件对第一事件的重要性由第一事件和第二事件在预设时间距离内出现的频率与预设时间距离和第一事件的频率乘积的比值确定。
可选地,事件流形成模块具体用于:当任意两个事件之间的重要性大于预设阈值时,将第一事件和第二事件构成第一事件流;在第三事件对第一事件的重要性以及第三事件对第二事件的重要性均大于预设阈值,将第一事件流扩充为包括第一事件、第二事件和第三事件;若第三事件对第一事件的重要性大于预设阈值,且第三事件对第二事件的重要性小于等于预设阈值,将第一事件和第三事件构成第二事件流;若第三事件对第一事件的重要性小于等于预设阈值,保持第一事件流不变。
可选地,识别更新模块具体用于:将事件流输出至用户,以使用户对事件流进行识别;若用户对事件流的识别结果为错误时,获取用户对事件流修正后的识别结果;根据修正后的识别结果生成新的事件语义矢量序列;利用新的事件语义矢量序列对事件异常检测模型重新训练,得到更新后的事件异常检测模型。
可选地,矢量化模块具体用于:对每个日志条目事件进行预处理;基于快速文本分类算法获取每个日志条目的事件中单词的语义矢量;采用TF-IDF算法对每个日志条目的事件中单词的语义矢量进行计算,得到每个日志条目的事件语义矢量。
可选地,该装置还包括:高斯分布构建模块,具体用于将每个日志条目的参数构成的参数序列划分为训练集和验证集;采用所述训练集中不同类事件对应的参数序列训练得到不同的参数异常检测模型;采用验证集对不同的参数异常检测模型进行验证,基于模型预设结果和验证集中的实际结果生成高斯分布。
可选地,第二检测模块具体用于:当事件异常检测的结果为正常时,采用当前***日志事件对应的参数异常检测模型对每个日志条目的参数进行参数序列预测,得到预测结果;将预测结果和当前***日志事件对应的参数序列进行比较,判断比较结果是否落在所述高斯分布的高置信度区间内,所述高置信度区间为大于第一阈值的置信度区间;当落在高置信度区间内,则参数异常检测的结果为正常,反之为异常。
本发明实施例第三方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如本发明实施例第一方面及第一方面任一项所述的***异常的检测方法。
本发明实施例第四方面提供一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行如本发明实施例第一方面及第一方面任一项所述的***异常的检测方法。
本发明提供的技术方案,具有如下效果:
本发明实施例提供的***异常的检测方法、装置、存储介质及电子设备,采用事件异常检测模型和参数异常检测模型对***日志进行异常检测,能够充分利用日志中的事件信息和参数信息,避免了现有异常检测方法没有利用到日志的各个部分,判断不准确的问题。即采用该***异常的检测方法提高了检测的准确性。此外,在进行模型训练前进行语义矢量化,能够适应随时变动的日志条目格式。
本发明实施例提供的***异常的检测方法、装置、存储介质及电子设备,充分利用日志中的事件信息与参数信息,并训练相应的模型来进行异常检测;为了保证语义矢量的区分度与兼容性,提出了一种基于词嵌入与TF-IDF加权的日志事件的语义矢量化方法;同时,为了方便工程师对监测到的异常进行定位和分析,还提出了事件流模型的建立方法,工程师可以具体查看出现问题的日志事件流,从而对异常进行定位和分析,对于不正确的检测结果还可以予以修正;最终,采用了基于用户反馈的异常检测模型增量式更新方法,从而体现人在环路的关键思想,最大化用户反馈在异常检测中的效用。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的***异常的检测方法的流程图;
图2是根据本发明另一实施例的***异常的检测方法的流程图;
图3是根据本发明实施例的***异常的检测装置的结构框图;
图4是根据本发明实施例提供的计算机可读存储介质的结构示意图;
图5是根据本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种***异常的检测方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种***异常的检测方法,可用于电子设备,如电脑、手机、平板电脑等,图1是根据本发明实施例***异常的检测方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101:将***日志进行解析,得到多个日志条目、每个日志条目对应的事件和参数。具体地,当需要对***进行异常检测时,可以从***中获取***日志,对***日志进行分析检测,以得到***日志中多个日志条目、每个日志条目的事件和参数。该获取的***日志包括历史***日志和当前***日志。其中,对于***日志,可以采用文本解析和正则表达式匹配的方式,从***日志中分离出每个日志条目的事件和参数。需要说明的是,每个日志条目对应一个事件,每个日志条目对应0到n个参数,n大于等于1。
步骤S102:将每个日志条目的事件进行语义矢量化,得到每个日志条目的事件语义矢量。具体地,语义矢量化的目的是为了让后续训练得到的模型能够适应日志条目的变动。由此,语义矢量化需要满足区分度和兼容性。其中,区分度指语义矢量要能够以高区分度代表不同的日志条目,不同的日志条目所得到的事件语义矢量要尽可能相差较大。兼容性指语义矢量要以相似的矢量代表有细微变动的日志条目,相似的日志条目所得到的事件语义矢量要尽可能相似,以确保***的兼容性。
步骤S103:采用基于事件语义矢量序列训练得到的事件异常检测模型对每个日志条目的事件语义矢量进行事件异常检测,得到事件异常检测的结果。具体地,在进行模型训练时,根据日志条目的时间顺序,将历史***日志中日志条目对应的事件语义矢量进行排序,得到事件语义矢量序列。采用事件语义矢量序列对LSTM(long short-term memory,长短期记忆网络)模型训练,让模型学习正常日志事件序列的特征,由此得到事件异常检测模型。
在进行异常检测时,采用训练得到的事件异常检测模型预测当前事件与前序事件为连续事件的概率。例如,当前***日志中日志条目对应的事件为k0,前序若干个***日志中日志条目对应的事件为{k1,k2,k3},使用训练好的事件异常检测模型预测{k1,k2,k3,k0}为连续事件的概率,假设预测出的概率为p。若p小于阈值δ,将当前***日志中日志条目对应的事件视为异常事件,即事件异常检测的结果为异常。若p大于等于阈值δ,则事件异常检测的结果为正常。
步骤S104:当事件异常检测的结果为正常时,采用基于参数序列训练得到的参数异常检测模型对每个日志条目的参数进行参数异常检测,得到参数异常检测的结果。具体地,若事件异常检测结果为正常时,可以进一步进行日志参数异常检测。与日志事件异常检测类似,先采用按照时间顺序构成的参数序列对LSTM模型训练,得到参数异常检测模型。然后采用参数异常检测模型对当前***日志参数进行预测,基于预测结果和实际参数的比较确定参数异常检测结果。
步骤S105:当事件异常检测的结果为异常或者参数异常检测的结果为异常时,确定当前***异常。具体地,当事件异常检测的结果或者参数异常检测的结果任一个为异常时,则判定当前***异常。
本发明实施例提供的***异常的检测方法,采用事件异常检测模型和参数异常检测模型对***日志进行异常检测,能够充分利用日志中的事件信息和参数信息,避免了现有异常检测方法没有利用到日志的各个部分,判断不准确的问题。即采用该***异常的检测方法提高了检测的准确性。此外,在进行模型训练前进行语义矢量化,能够适应随时变动的日志条目格式。
在一实施方式中,将每个日志条目的事件进行语义矢量化,得到每个日志条目的事件语义矢量,包括如下步骤:
步骤S201:对每个日志条目事件进行预处理;具体地,预处理主要是为了去除日志条目事件中非文字的字符,便于后续的语义矢量化。
步骤S202:基于快速文本分类算法获取每个日志条目的事件中单词的语义矢量;具体地,可以采用快速文本分类算法FastText得到每个日志条目事件内单词的语义矢量,该语义矢量可以表示L=[v1,v2,…,vN],其中vi代表第i个单词的语义矢量。
步骤S203:采用TF-IDF算法对每个日志条目的事件中单词的语义矢量进行计算,得到每个日志条目的事件语义矢量。具体地,如果一个单词在一个日志条目中出现得越频繁,这意味着这个单词对于这个日志条目来说就越具有代表性。因此使用Term Frequency(TF)来描述它的重要性,公式如下:
其中#word是目标单词在日志条目中的数量,#total是日志条目中总的单词数量。
如果一个单词在所有日志条目中出现得很频繁,这意味着这个单词对于某个日志条目来说就不具有代表性。因此使用Inverse Document Frequency(IDF)来描述它的重要性,公式如下:
其中#L是日志条目的总数目,#Lword是包含目标单词的日志条目数目。
对于每个单词来说,其系数w公式如下:
w(word)=TF(word)×IDF(word)
其中#word是目标单词在日志条目中的数量,#total是日志条目中总的单词数量。
由此某一个日志条目的事件语义矢量如下:
其中,N表示日志条目的事件中单词的个数,wi表示vi的系数。
在一实施方式中,当事件异常检测的结果为正常时,采用基于参数序列训练得到的参数异常检测模型对每个日志条目的参数进行参数异常检测,得到参数异常检测的结果,包括如下步骤:
步骤S301:将每个日志条目的参数构成的参数序列划分为训练集和验证集;具体地,在进行参数异常检测模型的训练时,采用历史***日志解析得到的每个日志条目参数。其中,划分得到的验证集在后续参数异常检测中应用。
步骤S302:采用所述训练集中不同类事件对应的参数序列训练得到不同的参数异常检测模型。具体地,在进行参数异常检测模型训练时,采用不同类事件对应的参数训练得到多个参数异常检测模型。即先将历史***日志解析得到的事件进行分类,然后将分类后每个类别中事件对应的参数按照时间顺序排列,得到每个类别对应的参数序列。之后采用每个类别对应的参数序列训练一个参数异常检测模型。由此,通过训练多个参数异常检测模型,能够提高后续参数检测的准确性。其中,参数序列按照如下方式表示,例如,对于k1类的事件,其参数序列为{[t2-t1,0.61],[t′2-t′1,1],…},[t2-t1,0.61],该参数序列表示第一个k1事件发生在t2时刻,上一个事件(不一定是k1)发生在t1时刻,k1事件中有一个参数为0.61;[t′2-t′1,1]表示第二个k1事件发生在t′2时刻,其参数为1。
步骤S303:采用验证集对不同的参数异常检测模型进行验证,基于模型预设结果和验证集中的实际结果生成高斯分布。具体地,在验证时,基于验证集中的参数序列,如采用第一时刻的参数序列输入至模型中,预测得到第二时刻的参数序列,其中,第二时刻为第一时刻的下一时刻。然后将预测得到的结果和实际的相应时刻的参数序列作差,根据差值生成高斯分布。
当事件异常检测的结果为正常时,采用基于参数序列训练得到的参数异常检测模型对每个日志条目的参数进行参数异常检测,得到参数异常检测的结果,包括如下步骤:
步骤S304:当事件异常检测的结果为正常时,采用当前***日志事件对应的参数异常检测模型对每个日志条目的参数进行参数序列预测,得到预测结果;具体地,若事件异常检测结果为正常,则采用训练得到的参数异常检测模型进行参数异常检测。由于训练得到的参数异常检测模型包括多类事件对应的多个模型,因此,获取到当前***日志中每个日志条目的事件后,先判断其所属的类别,从而确定其对应的参数异常检测模型,采用该参数异常检测模型预测得到当前***日志中每个日志条目的事件对应的参数。
步骤S305:将预测结果和当前***日志事件对应的参数序列进行比较,判断比较结果是否落在所述高斯分布的高置信度区间内,所述高置信度区间为大于第一阈值的置信度区间。具体地,将预测的参数和实际解析得到的当前***日志对应的参数进行比较作差,判断差值是否落在高斯分布的高置信度区间内。
步骤S306:当落在高置信度区间内,则参数异常检测的结果为正常,反之为异常。
在一实施方式中,该***异常的检测方法还包括如下步骤:
步骤S401:当当前***异常时,基于任意两个事件在预设时间距离内出现的频率计算任意两个事件之间的重要性。
其中,当基于当前***日志检测到当前***异常时,为了便于用户或者工程师对检测出的异常的日志条目进行定位和分析,可以建立事件流。事件流建立时,根据日志条目之间出现的频率,将关系紧密的日志条目划分为一个聚类,而关系不紧密的日志条目被分开。在建立事件流时,可以基于任意两个事件出现的频率计算任意两个事件的重要性,从而判断任意两个事件之间是否能形成事件流。
具体地,所述任意两个事件包括第一事件和第二事件,所述任意两个事件的重要性为第二事件对第一事件的重要性,所述第二事件对第一事件的重要性由第一事件和第二事件在预设时间距离内出现的频率与预设时间距离和第一事件的频率乘积的比值确定。即述第二事件对第一事件的重要性采用如下公式计算:
其中,ki表示第一事件,kj表示第二事件,fd(ki,kj)为(ki,kj)对在时间距离d之内出现的频率,d·f(ki)表示距离d和第一事件频率的乘积。
步骤S402:基于任意两个事件之间的重要性和预设阈值的大小,将任意两个事件形成事件流。
其中,基于任意两个事件之间的重要性和预设阈值的大小,将任意两个事件形成事件流,包括:当任意两个事件之间的重要性大于预设阈值时,将第一事件和第二事件构成第一事件流;在第三事件对第一事件的重要性以及第三事件对第二事件的重要性均大于预设阈值,将第一事件流扩充为包括第一事件、第二事件和第三事件;若第三事件对第一事件的重要性大于预设阈值,且第三事件对第二事件的重要性小于等于预设阈值,将第一事件和第三事件构成第二事件流;若第三事件对第一事件的重要性小于等于预设阈值,保持第一事件流不变。
具体地,当计算得到任意两个事件之间的重要性后,若该重要性大于预设阈值,则说明这两个事件能构成一个事件流,即ki,kj被连接到一起形成T1=[ki,kj];然后对该事件流进行扩充,判断其他事件能否填充到该事件流中,即计算其他事件和该事件流集合中事件的重要性;如其他事件为第三事件,则判断第三事件对第一事件的重要性以及第三事件对第二事件的重要性是否均大于预设阈值,若均大于预设阈值τ,即p1(ki,kx)>且p2(kj,kx)>,则T1可以被扩展为[kx,ki,kj]。若第三事件对第一事件的重要性大于预设阈值且第三事件对第二事件的重要性小于等于预设阈值,即p1(ki,kx)>但p2(kj,kx)≤τ,则生成第二事件流T2=[ki,kx]。若第三事件对第一事件的重要性小于等于预设阈值,即p1(ki,kx)≤τ,则保持第一事件流T1不变。之后再进行其他事件,如第***、第五事件等等的判断,判断方式和第三事件的判断方式相同,最终由形成的事件流构成事件流集合。
步骤S403:对形成的事件流是否准确进行识别,基于事件流的识别结果,判断是否对事件异常检测模型进行更新。
其中,对形成的事件流是否准确进行识别,基于事件流的识别结果,判断是否对事件异常检测模型进行更新,包括:将事件流输出至用户,以使用户对事件流进行识别;若用户对事件流的识别结果为错误时,获取用户对事件流修正后的识别结果;根据修正后的识别结果生成新的事件语义矢量序列;利用新的事件语义矢量序列对事件异常检测模型重新训练,得到更新后的事件异常检测模型。
具体地,将事件流输出至用户进行识别,实现了基于用户反馈的事件异常检测模型增量式更新方法,体现了人在环路的思想,能够最大化用户反馈在异常检测中的效用。需要说明的是人在环路(Human-in-the-loop)指的是在机器学习模型落地过程中,使用者能够参与到机器学习模型的迭代和更新中,从而最大化使用者提供的人类经验在机器学习模型落地中的效用。
对于步骤S402中形成的事件流集合,可以将其呈现给用户,由用户判断是否有误。如果结果有误,将正确的结果重新投入模型中进行训练。模型得到更新,错误的结果被修正。具体地,在事件异常检测模型输入历史序列{k1,k2,k3},并判断下一个日志条目的事件应该为k1,k2的概率分别为p1,p2。而下一个日志条目的事件实际为k3,概率为0。则事件异常检测模型标记该序列为异常,其形成的事件流反馈给用户。如果用户告知模型该反馈结果错误。模型将{k1,k2,k3→k3}加入训练数据中。下一次遇到{k1,k2,k3}模型将以更新后的概率p1,p2,p3同时输出k1,k2和k3。
本发明实施例提供的***异常的检测方法,充分利用日志中的事件信息与参数信息,并训练相应的LSTM模型来进行异常检测;为了保证语义矢量的区分度与兼容性,提出了一种基于词嵌入与TF-IDF加权的日志事件的语义矢量化方法;同时,为了方便工程师对监测到的异常进行定位和分析,还提出了事件流模型的建立方法,工程师可以具体查看出现问题的日志事件流,从而对异常进行定位和分析,对于不正确的检测结果还可以予以修正;最终,采用了基于用户反馈的异常检测模型增量式更新方法,从而体现人在环路的关键思想,最大化用户反馈在异常检测中的效用。
在一实施方式中,如图2所示,该***异常的检测方法采用如下流程实现:获取***日志,将***日志进行解析,得到多个日志条目、每个日志条目对应的事件和参数;其中每个日志条目的事件进行语义矢量化,得到事件语义矢量序列;对于得到的事件语义矢量序列以及日志条目的参数分别训练LSTM模型得到对应的事件异常检测模型和参数异常检测模型,采用这两个模型对当前***日志检测判断当前***是否异常;若异常,则构建事件流反馈至用户,由用户识别具体异常事件,并采用更新后事件序列重新训练LSTM模型,实现模型的增量式更新。
本发明实施例还提供一种***异常的检测装置,如图3所示,该装置包括:
解析模块,用于将***日志进行解析,得到多个日志条目、每个日志条目对应的事件和参数;具体内容参见上述方法实施例对应部分,在此不再赘述。
矢量化模块,用于将每个日志条目的事件进行语义矢量化,得到每个日志条目的事件语义矢量;具体内容参见上述方法实施例对应部分,在此不再赘述。
第一检测模块,用于采用基于事件语义矢量序列训练得到的事件异常检测模型对每个日志条目的事件语义矢量进行事件异常检测,得到事件异常检测的结果;具体内容参见上述方法实施例对应部分,在此不再赘述。
第二检测模块,用于当事件异常检测的结果为正常时,采用基于参数序列训练得到的参数异常检测模型对每个日志条目的参数进行参数异常检测,得到参数异常检测的结果;具体内容参见上述方法实施例对应部分,在此不再赘述。
异常判断模块,用于当事件异常检测的结果为异常或者参数异常检测的结果为异常时,确定当前***异常。具体内容参见上述方法实施例对应部分,在此不再赘述。
本发明实施例提供的***异常的检测装置,采用事件异常检测模型和参数异常检测模型对***日志进行异常检测,能够充分利用日志中的事件信息和参数信息,避免了现有异常检测方法没有利用到日志的各个部分,判断不准确的问题。即采用该***异常的检测方法提高了检测的准确性。此外,在进行模型训练前进行语义矢量化,能够适应随时变动的日志条目格式。
本发明实施例提供的***异常的检测装置的功能描述详细参见上述实施例中***异常的检测方法描述。
可选地,该***异常的检测装置还包括:重要性计算模块,用于当当前***异常时,基于任意两个事件在预设时间距离内出现的频率计算任意两个事件之间的重要性;事件流形成模块,用于基于任意两个事件之间的重要性和预设阈值的大小,将任意两个事件形成事件流;识别更新模块,用于对形成的事件流是否准确进行识别,基于事件流的识别结果,判断是否对事件异常检测模型进行更新。
可选地,所述任意两个事件包括第一事件和第二事件,所述任意两个事件的重要性为第二事件对第一事件的重要性,所述第二事件对第一事件的重要性由第一事件和第二事件在预设时间距离内出现的频率与预设时间距离和第一事件的频率乘积的比值确定。
可选地,事件流形成模块具体用于:当任意两个事件之间的重要性大于预设阈值时,将第一事件和第二事件构成第一事件流;在第三事件对第一事件的重要性以及第三事件对第二事件的重要性均大于预设阈值,将第一事件流扩充为包括第一事件、第二事件和第三事件;若第三事件对第一事件的重要性大于预设阈值,且第三事件对第二事件的重要性小于等于预设阈值,将第一事件和第三事件构成第二事件流;若第三事件对第一事件的重要性小于等于预设阈值,保持第一事件流不变。
可选地,识别更新模块具体用于:将事件流输出至用户,以使用户对事件流进行识别;若用户对事件流的识别结果为错误时,获取用户对事件流修正后的识别结果;根据修正后的识别结果生成新的事件语义矢量序列;利用新的事件语义矢量序列对事件异常检测模型重新训练,得到更新后的事件异常检测模型。
可选地,矢量化模块具体用于:对每个日志条目事件进行预处理;基于快速文本分类算法获取每个日志条目的事件中单词的语义矢量;采用TF-IDF算法对每个日志条目的事件中单词的语义矢量进行计算,得到每个日志条目的事件语义矢量。
可选地,该装置还包括:高斯分布构建模块,具体用于将每个日志条目的参数构成的参数序列划分为训练集和验证集;采用所述训练集中不同类事件对应的参数序列训练得到不同的参数异常检测模型;采用验证集对不同的参数异常检测模型进行验证,基于模型预设结果和验证集中的实际结果生成高斯分布。
可选地,第二检测模块具体用于:当事件异常检测的结果为正常时,采用当前***日志事件对应的参数异常检测模型对每个日志条目的参数进行参数序列预测,得到预测结果;将预测结果和当前***日志事件对应的参数序列进行比较,判断比较结果是否落在所述高斯分布的高置信度区间内,所述高置信度区间为大于第一阈值的置信度区间;当落在高置信度区间内,则参数异常检测的结果为正常,反之为异常。
本发明实施例还提供一种存储介质,如图4所示,其上存储有计算机程序601,该指令被处理器执行时实现上述实施例中***异常的检测方法的步骤。该存储介质上还存储有音视频流数据,特征帧数据、交互请求信令、加密数据以及预设数据大小等。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccess Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
本发明实施例还提供了一种电子设备,如图5所示,该电子设备可以包括处理器51和存储器52,其中处理器51和存储器52可以通过总线或者其他方式连接,图5中以通过总线连接为例。
处理器51可以为中央处理器(Central Processing Unit,CPU)。处理器51还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器52作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的对应的程序指令/模块。处理器51通过运行存储在存储器52中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的***异常的检测方法。
存储器52可以包括存储程序区和存储数据区,其中,存储程序区可存储操作装置、至少一个功能所需要的应用程序;存储数据区可存储处理器51所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至处理器51。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器52中,当被所述处理器51执行时,执行如图1-2所示实施例中的***异常的检测方法。
上述电子设备具体细节可以对应参阅图1至图2所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (11)
1.一种***异常的检测方法,其特征在于,包括:
将***日志进行解析,得到多个日志条目、每个日志条目对应的事件和参数;
将每个日志条目的事件进行语义矢量化,得到每个日志条目的事件语义矢量;
采用基于事件语义矢量序列训练得到的事件异常检测模型对每个日志条目的事件语义矢量进行事件异常检测,得到事件异常检测的结果;
当事件异常检测的结果为正常时,采用基于参数序列训练得到的参数异常检测模型对每个日志条目的参数进行参数异常检测,得到参数异常检测的结果;
当事件异常检测的结果为异常或者参数异常检测的结果为异常时,确定当前***异常。
2.根据权利要求1所述的***异常的检测方法,其特征在于,还包括:
当当前***异常时,基于任意两个事件在预设时间距离内出现的频率计算任意两个事件之间的重要性;
基于任意两个事件之间的重要性和预设阈值的大小,将任意两个事件形成事件流;
对形成的事件流是否准确进行识别,基于事件流的识别结果,判断是否对事件异常检测模型进行更新。
3.根据权利要求2所述的***异常的检测方法,其特征在于,所述任意两个事件包括第一事件和第二事件,所述任意两个事件的重要性为第二事件对第一事件的重要性,所述第二事件对第一事件的重要性由第一事件和第二事件在预设时间距离内出现的频率与预设时间距离和第一事件的频率乘积的比值确定。
4.根据权利要求3所述的***异常的检测方法,其特征在于,基于任意两个事件之间的重要性和预设阈值的大小,将任意两个事件形成事件流,包括:
当任意两个事件之间的重要性大于预设阈值时,将第一事件和第二事件构成第一事件流;
在第三事件对第一事件的重要性以及第三事件对第二事件的重要性均大于预设阈值,将第一事件流扩充为包括第一事件、第二事件和第三事件;
若第三事件对第一事件的重要性大于预设阈值,且第三事件对第二事件的重要性小于等于预设阈值,将第一事件和第三事件构成第二事件流;
若第三事件对第一事件的重要性小于等于预设阈值,保持第一事件流不变。
5.根据权利要求2所述的***异常的检测方法,其特征在于,对形成的事件流是否准确进行识别,基于事件流的识别结果,判断是否对事件异常检测模型进行更新,包括:
将事件流输出至用户,以使用户对事件流进行识别;
若用户对事件流的识别结果为错误时,获取用户对事件流修正后的识别结果;
根据修正后的识别结果生成新的事件语义矢量序列;
利用新的事件语义矢量序列对事件异常检测模型重新训练,得到更新后的事件异常检测模型。
6.根据权利要求1所述的***异常的检测方法,其特征在于,将每个日志条目的事件进行语义矢量化,得到每个日志条目的事件语义矢量,包括:
对每个日志条目事件进行预处理;
基于快速文本分类算法获取每个日志条目的事件中单词的语义矢量;
采用TF-IDF算法对每个日志条目的事件中单词的语义矢量进行计算,得到每个日志条目的事件语义矢量。
7.根据权利要求1所述的***异常的检测方法,其特征在于,当事件异常检测的结果为正常时,采用基于参数序列训练得到的参数异常检测模型对每个日志条目的参数进行参数异常检测,得到参数异常检测的结果之前,包括:
将每个日志条目的参数构成的参数序列划分为训练集和验证集;
采用所述训练集中不同类事件对应的参数序列训练得到不同的参数异常检测模型;
采用验证集对不同的参数异常检测模型进行验证,基于模型预设结果和验证集中的实际结果生成高斯分布。
8.根据权利要求7所述的***异常的检测方法,其特征在于,当事件异常检测的结果为正常时,采用基于参数序列训练得到的参数异常检测模型对每个日志条目的参数进行参数异常检测,得到参数异常检测的结果,包括:
当事件异常检测的结果为正常时,采用当前***日志事件对应的参数异常检测模型对每个日志条目的参数进行参数序列预测,得到预测结果;
将预测结果和当前***日志事件对应的参数序列进行比较,判断比较结果是否落在所述高斯分布的高置信度区间内,所述高置信度区间为大于第一阈值的置信度区间;
当落在高置信度区间内,则参数异常检测的结果为正常,反之为异常。
9.一种***异常的检测装置,其特征在于,包括:
解析模块,用于将***日志进行解析,得到多个日志条目、每个日志条目对应的事件和参数;
矢量化模块,用于将每个日志条目的事件进行语义矢量化,得到每个日志条目的事件语义矢量;
第一检测模块,用于采用基于事件语义矢量序列训练得到的事件异常检测模型对每个日志条目的事件语义矢量进行事件异常检测,得到事件异常检测的结果;
第二检测模块,用于当事件异常检测的结果为正常时,采用基于参数序列训练得到的参数异常检测模型对每个日志条目的参数进行参数异常检测,得到参数异常检测的结果;
异常判断模块,用于当事件异常检测的结果为异常或者参数异常检测的结果为异常时,确定当前***异常。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如权利要求1-8任一项所述的***异常的检测方法。
11.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行如权利要求1-8任一项所述的***异常的检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310177421.0A CN116450137A (zh) | 2023-02-23 | 2023-02-23 | 一种***异常的检测方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310177421.0A CN116450137A (zh) | 2023-02-23 | 2023-02-23 | 一种***异常的检测方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116450137A true CN116450137A (zh) | 2023-07-18 |
Family
ID=87132696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310177421.0A Pending CN116450137A (zh) | 2023-02-23 | 2023-02-23 | 一种***异常的检测方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116450137A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116633767A (zh) * | 2023-07-20 | 2023-08-22 | 科大讯飞股份有限公司 | 一种机间通信异常检测方法、装置、设备及存储介质 |
-
2023
- 2023-02-23 CN CN202310177421.0A patent/CN116450137A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116633767A (zh) * | 2023-07-20 | 2023-08-22 | 科大讯飞股份有限公司 | 一种机间通信异常检测方法、装置、设备及存储介质 |
CN116633767B (zh) * | 2023-07-20 | 2023-12-01 | 科大讯飞股份有限公司 | 一种机间通信异常检测方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111967571B (zh) | 一种基于mhma的异常检测方法和设备 | |
US10795753B2 (en) | Log-based computer failure diagnosis | |
US10706229B2 (en) | Content aware heterogeneous log pattern comparative analysis engine | |
US11120127B2 (en) | Reconstruction-based anomaly detection | |
US11294754B2 (en) | System and method for contextual event sequence analysis | |
US20160369777A1 (en) | System and method for detecting anomaly conditions of sensor attached devices | |
CN111190804A (zh) | 一种云原生***的多层次的深度学习日志故障检测方法 | |
CN111026653B (zh) | 异常程序行为检测方法、装置、电子设备和存储介质 | |
US20200334578A1 (en) | Model training apparatus, model training method, and program | |
CN113282461A (zh) | 传输网的告警识别方法和装置 | |
US20160255109A1 (en) | Detection method and apparatus | |
CN111625516A (zh) | 检测数据状态的方法、装置、计算机设备和存储介质 | |
CN113760670A (zh) | 电缆接头异常预警方法、装置、电子设备和存储介质 | |
WO2023236836A1 (zh) | 故障工单的质检方法、设备及存储介质 | |
CN116450137A (zh) | 一种***异常的检测方法、装置、存储介质及电子设备 | |
CN115617614A (zh) | 基于时间间隔感知自注意力机制的日志序列异常检测方法 | |
CN116743637B (zh) | 一种异常流量的检测方法、装置、电子设备及存储介质 | |
CN114610613A (zh) | 一种面向在线实时的微服务调用链异常检测方法 | |
CN113282920A (zh) | 日志异常检测方法、装置、计算机设备和存储介质 | |
CN110704614B (zh) | 对应用中的用户群类型进行预测的信息处理方法及装置 | |
CN112882898A (zh) | 基于大数据日志分析的异常检测方法、***、设备及介质 | |
CN115189961B (zh) | 一种故障识别方法、装置、设备及存储介质 | |
EP3686812A1 (en) | System and method for context-based training of a machine learning model | |
CN110865939B (zh) | 应用程序质量监测方法、装置、计算机设备和存储介质 | |
CN114157486A (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 |