CN117763144A - 一种日志异常检测的方法与终端 - Google Patents
一种日志异常检测的方法与终端 Download PDFInfo
- Publication number
- CN117763144A CN117763144A CN202311575603.XA CN202311575603A CN117763144A CN 117763144 A CN117763144 A CN 117763144A CN 202311575603 A CN202311575603 A CN 202311575603A CN 117763144 A CN117763144 A CN 117763144A
- Authority
- CN
- China
- Prior art keywords
- log
- data
- data set
- word
- model
- 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 85
- 230000005856 abnormality Effects 0.000 title claims abstract description 42
- 238000000034 method Methods 0.000 claims abstract description 51
- 238000012549 training Methods 0.000 claims abstract description 32
- 238000002372 labelling Methods 0.000 claims abstract description 16
- 238000007781 pre-processing Methods 0.000 claims abstract description 9
- 239000013598 vector Substances 0.000 claims description 33
- 230000002159 abnormal effect Effects 0.000 claims description 17
- 238000004458 analytical method Methods 0.000 claims description 17
- 230000011218 segmentation Effects 0.000 claims description 14
- 230000006399 behavior Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 3
- 230000005611 electricity Effects 0.000 claims description 2
- 230000004931 aggregating effect Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000003745 diagnosis Methods 0.000 description 3
- 238000000513 principal component analysis Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000013107 unsupervised machine learning method Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种日志异常检测的方法与终端,采集原始的日志数据,对原始的所述日志数据进行预处理并进行特征提取,得到日志特征数据集;通过所述日志特征数据集中的有标签数据集对第一LSTM模型进行训练,并使用训练后的第一LSTM模型对所述日志特征数据集中的无标签数据集进行标签,所述有标签数据集中的标签数据根据用户输入得到;整合所述有标签数据集以及标签后的所述无标签数据集,得到训练数据集;使用所述训练数据集对第二LSTM模型进行训练,得到日志异常检测模型,将所述日志异常检测模型用于日志异常检测,所述第二LSTM模型在LSTM层后引入了自注意力机制;实现了高精度、低成本的智能电网下大规模日志数据的异常检测。
Description
技术领域
本发明涉及日志异常检测技术领域,特别涉及一种日志异常检测的方法与终端。
背景技术
随着智能电网发展的逐步推进,电网业务不断增加,电网数据数量逐渐庞大而且种类众多。根据研究表明,为了解决数据存储数量庞大、效率低下、数据异构等问题,引入分布式系统基础架构(Hadoop)实现对智能电网大数据的管理。Hadoop作为物联网设备广泛应用的架构之一,实现了基于该架构的分布式文件系统(HDFS),HDFS被广泛应用于通用硬件上,能提供高吞吐量的数据访问,适合大规模数据集的应用。当分布式文件系统并行处理电网数据时,会产生大量日志文件,日志文件已成为维护大型系统的重要数据,用于记录系统运行时的状态和各类突发事件。通过检查分析这些日志,工作人员可以发现异常并诊断根本原因,但由于系统规模庞大,日志数据众多,人工检查日志十分困难。因此,自动化地完成日志的异常检测是目前亟需关注的问题。
智能电网下的大规模日志异常检测方法目前主要可以分为两大类:即有监督机器学习检测方法和无监督机器学习检测方法。有监督的机器学习检测方法是使用已经标注正常、异常的日志数据训练模型以完成日志的分类,实现日志异常检测。无监督的机器学习方法则是使用未标注正常、异常的日志数据训练无监督模型,通过聚类、重构等方法来实现日志异常检测。
目前,已有的有监督机器学习检测方法,已经提出了一种基于谷歌微时刻想法的电网日志异常检测技术,其使用基于规则的模型为能耗数据分配“微时刻”标签,即“正常”包括“良好使用”、“打开设备”和“关闭设备”;“异常”标签包括“过度使用消费”和“外出消费”,将异常检测问题转化为分类问题,利用深度神经网络分类器完成日志异常检测任务,但其需要大量的标注数据来训练模型。此外,还有一种已经提出的基于概率标签估计的日志异常检测方法,其使用聚类基于已知正常的日志序列信息来估计未标记日志序列的标签,将所有日志数据整合,在日志处理过程中使用语义嵌入的方法避免不稳定日志数据的影响,最终使用基于注意力机制的GRU神经网络实现异常检测,虽然降低了部分标记数据成本,但准确度有一定降低。
已有的无监督的机器学习检测方法,已经提出了一种基于主成分分析(PCA)的异常检测方法,其将配电电压幅度测量时间序列转换为矩阵表示,通过PCA提取独立特征并将原始数据减少到低维投影空间,根据新观测值与投影空间之间的残差来实现异常检测,但这种方法准确度较低。
即,有监督的机器学习检测方法可以通过学习已标注正常、异常的日志特征,进而实现日志正常和异常的分类完成异常检测任务,这种方法虽然准确度较高,但是由于训练模型需要的大量标注的日志数据,这会增加额外标注数据的人工成本和时间成本,因此不适用于大规模的日志数据异常检测。无监督的机器学习检测方法在训练模型时不需要和有监督方法一样的标注数据,因此可以节省人工和时间成本开销,但是由于模型训练过程中并不清楚具体的异常日志特征情况,导致准确度较低,而在具体应用环境中特别是智能电网下,准确的异常检测是非常重要的。尽管许多现有方法可以实现日志的异常检测任务,但是照搬到智能电网的Hadoop架构下可能会存在因数据资源结构异质和规模数量过大,且模型没有针对电网数据设计合理的网络隐层而导致准确低、耗时长的问题。
发明内容
本发明所要解决的技术问题是:提供一种日志异常检测的方法与终端,实现兼顾准确度和工作成本的日志异常检测。
为了解决上述技术问题,本发明采用的技术方案为:
一种日志异常检测的方法,包括步骤:
S1、采集原始的日志数据,对原始的所述日志数据进行预处理并进行特征提取,得到日志特征数据集;
S2、通过所述日志特征数据集中的有标签数据集对第一LSTM模型进行训练,并使用训练后的第一LSTM模型对所述日志特征数据集中的无标签数据集进行标签,所述有标签数据集中的标签数据根据用户输入得到;
S3、整合所述有标签数据集以及标签后的所述无标签数据集,得到训练数据集;
S4、使用所述训练数据集对第二LSTM模型进行训练,得到日志异常检测模型,将所述日志异常检测模型用于日志异常检测,所述第二LSTM模型在LSTM层后引入了自注意力机制。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种日志异常检测的终端,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以上所述的一种日志异常检测的方法中的步骤。
本发明的有益效果在于:本发明的一种日志异常检测的方法与终端,为了减少标注数据带来的人工成本和时间成本,设计了基于小样本数据的异常检测模型,首先基于小样本数据构建训练LSTM预测模型,在此基础上,将未标注数据通过该有监督模型估计获取大量的标注数据,用以训练异常检测模型,为减少数据噪声影响,对异常检测模型引入了自注意力机制,进而实现高精度、低成本的智能电网下大规模日志数据异常检测。
附图说明
图1为本发明实施例的一种日志异常检测的方法的流程图;
图2为本发明实施例的一种日志异常检测的终端的结构图;
图3为本发明实施例的一种日志异常检测的方法的日志数据收集流程示例图;
图4为本发明实施例的一种日志异常检测的方法的树结构的日志解析流程示例图;
图5为本发明实施例的一种日志异常检测的方法的日志异常检测模型流程示例图;
图6为本发明实施例的一种日志异常检测的方法的自注意力机制的LSTM模型结构图;
图7为本发明实施例的一种日志异常检测的方法的树结构的日志解析示例图;
标号说明:
1、一种日志异常检测的终端;2、处理器;3、存储器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,一种日志异常检测的方法,包括步骤:
S1、采集原始的日志数据,对原始的所述日志数据进行预处理并进行特征提取,得到日志特征数据集;
S2、通过所述日志特征数据集中的有标签数据集对第一LSTM模型进行训练,并使用训练后的第一LSTM模型对所述日志特征数据集中的无标签数据集进行标签,所述有标签数据集中的标签数据根据用户输入得到;
S3、整合所述有标签数据集以及标签后的所述无标签数据集,得到训练数据集;
S4、使用所述训练数据集对第二LSTM模型进行训练,得到日志异常检测模型,将所述日志异常检测模型用于日志异常检测,所述第二LSTM模型在LSTM层后引入了自注意力机制。
从上述描述可知,本发明的有益效果在于:本发明的一种日志异常检测的方法与终端,为了减少标注数据带来的人工成本和时间成本,设计了基于小样本数据的异常检测模型,首先基于小样本数据构建训练LSTM预测模型,在此基础上,将未标注数据通过该有监督模型估计获取大量的标注数据,用以训练异常检测模型,为减少数据噪声影响,对异常检测模型引入了自注意力机制,进而实现高精度、低成本的智能电网下大规模日志数据异常检测。
进一步的,所述步骤S1包括步骤:
S11、根据所述日志数据的类型,对所述日志数据进行分类解析,生成结构化日志数据;
S12、基于语义分析对结构化的所述日志数据进行特征提取,得到日志特征数据集。
由上述描述可知,原始的日志消息是非结构化数据,包括时间戳、日志严重性级别和原始日志内容;日志解析的目的是分离日志消息中的常量部分和变量部分,从原始的日志消息中提取日志模板部分,即静态描述语句;去除动态参数的结构化日志模板可以更容易转换为向量矩阵,从而作为后续模型的输入,来完成日志检测工作。
进一步地,步骤S11包括步骤:
S111、预先根据不同的日志种类,构建日志解析树;
S112、通过正则表达式匹配所述日志数据中的无关信息,并进行删除;
S113、计算删除无关信息后的日志长度,根据所述日志长度进行节点搜索;
S114、根据步骤S113搜索到的第一层节点,根据所述日志数据开头位置的token进行遍历和路径匹配,直至找到完全匹配的路径,以生成结构化的所述日志数据;
S115、若遍历完成后未找到完全匹配的路径时,或最后遍历到的节点为叶子节点,但未完成匹配时,则读取当前匹配到的下一个单词,以最后遍历到的节点作为父节点建立新的叶子结点。
由上述描述可知,通过上述步骤,对日志数据进行解析。
进一步地,步骤S12包括步骤:
S121、对所述日志数据的文本中的单词进行拆分,并进行分词处理;
S122、对分词结果中的每个词进行语义信息提取,转换为d维向量;
S123、基于TF-IDF聚合所有词的d维向量,将所述日志数据转换为语义向量,得到所述日志特征数据集。
由上述描述可知,将每个日志事件视为自然语言的句子,通过拆分日志文本中的单词做日志文件的预处理,然后对预处理后的日志文本做分词处理,建立词向量可以有效地捕捉日志文本中词之间的内在关系,从处理的日志事件中的每个词提取语义信息,将处理后的日志事件中的词语转换为d维向量;为了更准确地表示语义,在上述基础上采用基于TF-IDF的聚合,聚合所有词的d维向量,进一步将日志事件转换为语义向量。
进一步地,步骤S123中基于TF-IDF聚合所有词的d维向量,将所述日志数据转换为语义向量具体为:
通过词频TF衡量单词w在所述日志数据中出现的频率,计算公式如下:
其中count(w)是单词w在日志事件中出现的次数,N是日志事件中的总字数;
采用逆文档频率IDF衡量单词w在所有日志事件中的常见程度,计算公式如下:
其中,count(L)是日志事件总数,count(Lw)是包含单词w的日志事件的数量;
通过将所述日志数据的所有d维向量与TF-IDF权重求和,得到语义向量:
其中,ω是单词的权重,可以通过TF×IDF计算出来。
由上述描述可知,通过分词处理与TF-IDF方法结合将日志事件表示为语义向量,有效地融合了它们的语义信息,有助于识别语义相似的日志事件并区分不同的日志事件。
进一步地,步骤S1中对原始的日志数据的采集具体为:
向智能电网内的各个数据节点获取日志数据;
所述数据节点通过对自身管辖域内的数据行为任务进行收集,来生成日志数据。
由上述描述可知,利用Hadoop分布式文件系统的思想,由智能电网内部提供各类电网数据的成员作为数据节点,每个成员域只需承担自己管辖范围内的数据行为任务收集,来形成域内的日志数据。
进一步地,所述日志数据包括电表数据日志、供电数据日志以及档案数据日志中的至少一种。
由上述描述可知,日志数据可包括电表数据日志、供电数据日志以及档案数据日志。
进一步地,步骤S2中使用训练后的第一LSTM模型对所述日志特征数据集中的无标签数据集进行标签具体为:
使用训练后的第一LSTM模型,通过概率预测对所述日志特征数据集中的无标签数据集进行标签,根据预设的标记界限Plimit,当概率plog∈(0,Plimit)时,将该日志数据标签为正常日志,当plog∈[Plimit,1)时,将该日志数据标签为异常日志。
由上述描述可知,通过有监督模型的概率标签估计仅对为标签数据打上预测标签,其中心思想是,智能电网日常数据行为单调,极少出现异常数据行为几轮,因此如果电网日志中包含已知的正常日志序列,则无标签电网日志中极有可能存在与之相似甚至相同的日志序列;否则,有可能出现异常日志序列文本。
请参照图2,一种日志异常检测的终端,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以上所述的一种日志异常检测的方法中的步骤。
本发明的一种日志异常检测的方法与终端,适用于智能电网下的大规模日志的异常诊断,尤其适用于智能电网下的Hadoop架构大规模日志的异常诊断。
请参照图1以及图3至图7,本发明的实施例一为:
一种日志异常检测的方法,包括步骤:
S1、采集原始的日志数据,对原始的所述日志数据进行预处理并进行特征提取,得到日志特征数据集;
步骤S1中对原始的日志数据的采集具体为:
向智能电网内的各个数据节点获取日志数据;
所述数据节点通过对自身管辖域内的数据行为任务进行收集,来生成日志数据。
所述日志数据包括电表数据日志、供电数据日志以及档案数据日志中的至少一种。
本实施例中,如图3所示,利用Hadoop分布式文件系统的思想,由智能电网内部提供各类电网数据的成员作为数据节点,每个成员域只需承担自己管辖范围内的数据行为任务收集,来形成域内日志数据,分别包括电表数据日志、供电数据日志和档案数据日志。以电表数据日志为例,基于分布式的思想,将电表按照管理区域划分,每个区域整合各个电能计量表数据日志,当出现电能计量表本身故障、用电数据传输过程故障、相关环境问题(温度过低或过高)等,用电数据日志会显示异常,将系统正常运行和故障运行时产生的正常或异常日志收集构建数据集以进行后续模型的训练及故障诊断工作。
所述步骤S1包括步骤:
S11、根据所述日志数据的类型,对所述日志数据进行分类解析,生成结构化日志数据;
步骤S11包括步骤:
S111、预先根据不同的日志种类,构建日志解析树;
S112、通过正则表达式匹配所述日志数据中的无关信息,并进行删除;
S113、计算删除无关信息后的日志长度,根据所述日志长度进行节点搜索;
S114、根据步骤S113搜索到的第一层节点,根据所述日志数据开头位置的token进行遍历和路径匹配,直至找到完全匹配的路径,以生成结构化的所述日志数据;
S115、若遍历完成后未找到完全匹配的路径时,或最后遍历到的节点为叶子节点,但未完成匹配时,则读取当前匹配到的下一个单词,以最后遍历到的节点作为父节点建立新的叶子结点。
S12、基于语义分析对结构化的所述日志数据进行特征提取,得到日志特征数据集。
本实施例中,由于上述收集到的原始日志消息是非结构化的数据,包含可变的日志参数和系统异常行为,为了后续自动化学习和检测,需要将日志数据文件进行结构化处理,因此根据不同的数据种类,构建适用的日志解析树,从而组成日志解析森林来分布式地处理智能电网下产生的大规模日志数据文件。如图4所示,以单个子区域为例,当一条原始的日志信息到达时,解析器会根据领域知识通过正则表达式进行预处理,按照日志信息在树内进行搜索,解析树的每条路径都以叶子节点结束,叶子节点存储日志组列表,每个日志组由日志事件和日志ID组成。
树结构的日志解析过程如下:
步骤一,根据领域知识对原始的日志消息进行预处理,通过编写的正则表达式匹配无关信息,例如日志块ID或IP地址等内容,并将这些信息删除。根据预处理后的日志信息长度选择相应的路径进行搜索,例如日志语句“Invalid userwebmaster from173.234.31.186”,以空格为分界点显示日志信息长度为5,解析器会遍历到树中的内部节点,“长度:5”这是基于同一日志事件的日志数据可能具有相同日志数据长度的假设,现阶段已经锁定该语句为长度5。虽然具有相同日志事件的日志数据有可能具有不同的日志数据长度,但这可以通过简单的后续处理来解决;
步骤二,按照上一步骤的位置进行搜索,解析器会从上步搜索到的第一层节点进行遍历,该步骤基于一个假设,即日志数据开头位置的token更有可能是常量。当该节点为非叶子节点时,则使用广度优先遍历,搜索与句子第一个单词相匹配的路径,直到找到完全匹配的路径为止;当搜索后并未找到完全匹配的路径时或该节点为叶子节点时,则读取句子的第一个单词,以该节点为子结点建立新的叶子节点。为了避免分支爆炸而影响解析速度,在这一步中不考虑数字,若token包含数字则匹配特殊的内部节点“*”,并设置了maxChild参数来限制最大子节点数,当到达解析树设定的深度时将不再增加新的叶子节点,而是一个记录完整日志语句的日志组;
本实施例中,可参照图7,设maxchild大小为4,当日志语句“Invalid userwebmaster from 173.234.31.186”进行遍历时,开始根据第一个关键词遍历,可以看到先根据长度为5,从长度:5的节点开始执行,执行到user后,因其已为叶节点,但不满足maxchild大小,所以需以user为父节点建立新的叶子节点,且叶子节点关键词为webmaster。
步骤三,基于token相似性的搜索,在进行该步骤之前,解析器已经遍历了一个叶节点,其中包含一个日志组列表,这些日志组中的日志信息符合沿路径的内部节点所编码的规则,“Invaliduserwebmaster from*”,其中日志消息包含5个tokens并以“Invalid”开头。解析器会从日志组列表中选择最合适的日志组,计算每个日志组的日志信息和日志事件的相似度,选取最合适的日志组返回;
步骤四:更新解析树,如果在步骤三中返回了合适的日志组,解析器将把当前日志信息的日志ID添加到返回的日志组中的日志ID上,并更新日志事件。如果在步骤三中找不到合适的日志组,它会根据当前日志信息创建一个新的日志组,其中日志ID只包含日志信息的ID,而日志事件正是日志信息。然后,解析器会用新的日志组更新解析树。
通过上述的树结构日志解析流程,单个子区域组成相应的日志解析树,以电表数据为例,城战中各区域分布着数千计的电表,以城区为单位,建立各个城区的电表数据日志记录,依据数据特征分别解析,供电日志数据与电网档案日志数据同理,使用同种方法解析。解析后的三类数据统一传输到电网数据存储单位进行整合,实现大规模智能电网日志数据解析与存储。
步骤S12包括步骤:
S121、对所述日志数据的文本中的单词进行拆分,并进行分词处理;
S122、对分词结果中的每个词进行语义信息提取,转换为d维向量;
S123、基于TF-IDF聚合所有词的d维向量,将所述日志数据转换为语义向量,得到所述日志特征数据集。
步骤S123中基于TF-IDF聚合所有词的d维向量,将所述日志数据转换为语义向量具体为:
通过词频TF衡量单词w在所述日志数据中出现的频率,计算公式如下:
其中count(w)是单词w在日志事件中出现的次数,N是日志事件中的总字数;
采用逆文档频率IDF衡量单词w在所有日志事件中的常见程度,计算公式如下:
其中,count(L)是日志事件总数,count(Lw)是包含单词w的日志事件的数量;
通过将所述日志数据的所有d维向量与TF-IDF权重求和,得到语义向量:
其中,ω是单词的权重,可以通过TF×IDF计算出来。
本实施例中,由于日志文本记录了系统和数据的运行状态,日志文件中的语句都有特殊的语义,并且其中还包含了非字符的标记(包括数字、分隔符等)和单词串联的复合标记。本实施例中将每个日志事件视为自然语言的句子,通过拆分日志文本中的单词做日志文件的预处理,然后采用Word2vec对预处理后的日志文本做分词处理,建立词向量可以有效地捕捉日志文本中词之间的内在关系,从处理的日志事件中的每个词提取语义信息,将处理后的日志事件中的词语转换为d维向量。其中,单词拆分仅简单的将日志语句按空格简单拆分成单词,如:”Invalid user webmaster.”拆分成”Invalid”、”user”、”webmaster.”;而分词处理,则是对拆分后的单词进行分词处理,来去除可能简单分词的错误,例如上述中webmaster.会把句号“.”去掉,且有些单词会存在缩写,例如it’s,分词处理会将其处理为it is,等等。进一步地,为了更准确地表示语义,本方法在上述基础上采用基于TF-IDF的聚合,聚合所有词的d维向量,进一步将日志事件转换为语义向量,TF-IDF可以有效地衡量每个单词的重要性,详见上文。
用Word2Vec与TF-IDF方法结合将日志事件表示为语义向量,有效地融合了它们的语义信息,有助于识别语义相似的日志事件并区分不同的日志事件。
S2、通过所述日志特征数据集中的有标签数据集对第一LSTM模型进行训练,并使用训练后的第一LSTM模型对所述日志特征数据集中的无标签数据集进行标签,所述有标签数据集中的标签数据根据用户输入得到;
步骤S2中使用训练后的第一LSTM模型对所述日志特征数据集中的无标签数据集进行标签具体为:
使用训练后的第一LSTM模型,通过概率预测对所述日志特征数据集中的无标签数据集进行标签,根据预设的标记界限Plimit,当概率plog∈(0,Plimit)时,将该日志数据标签为正常日志,当plog∈[Plimit,1)时,将该日志数据标签为异常日志。
本实施例中,考虑到传统的有监督学习检测模型依赖于大量的有标签数据进行训练,数据处理的优劣直接影响到模型的性能指标。电网数据庞大,如果依靠有监督学习的方法进行训练,就需要人工判断所有日志数据的文本语义,并标注标签,这种情况既浪费时间又耗费人力和物力资源。为了提高检测效率,避免大量人工介入,本实施例中采用半监督学习方法进行检测模型训练,如图5所示,采用小样本数据构建预测模型,并通过有监督的预测模型进行概率标签估计获取大量的标注数据,以大大减少人工成本和时间成本,之后通过基于自注意力机制的LSTM模型完成日志的异常检测。
日志异常检测流程如下:
步骤一,基于小样本数据的预测模型:通过上述方案将现有的小数量的带标签数据和无标签数据使用日志句子分割、Word2vec和TF-IDF方法转为模型可识别的语义向量模式,采用其中带标签数据训练LSTM预测模型,以进行后续数据标签的预测。
步骤二,有监督模型的概率标签估计:通过步骤一得到了日志标签预测模型,通过概率预测将无标签数据打上预测标签,本实施例中以0.5为标记界限,当概率0<plog<0.5时,将该日志序列划分为正常日志,标记为0;当概率0.5<plog<1时,将该日志序列划分为异常日志,标记为1。其中心思想是,智能电网日常数据行为单调,极少出现异常数据行为几轮,因此如果电网日志中包含已知的正常日志序列,则无标签电网日志中极有可能存在与之相似甚至相同的日志序列;否则,有可能出现异常日志序列文本。
S3、整合所述有标签数据集以及标签后的所述无标签数据集,得到训练数据集;
S4、使用所述训练数据集对第二LSTM模型进行训练,得到日志异常检测模型,将所述日志异常检测模型用于日志异常检测,所述第二LSTM模型在LSTM层后引入了自注意力机制。
本实施例中,将前面步骤中获得的全部带标签数据混合,为了降低由于概率估计错标带来的影响,本实施例中采用注意力机制将某一时刻的注意力放在特定特征上,缓解概率标签的噪声问题。考虑到智能电网数据日志语义空间固定,因此采用了自注意力机制,将其引入到LSTM模型的每个时间戳中,在建模过程中将Self-Attention层加入到LSTM层后面,如图6所示,在最后的LSTM层后增加了Self-Attention层,可以减少对外部信息的依赖,并且更有助于捕捉数据及其特征的内在关联,这样可以将处理过的日志序列文本通过加权求和的方式进行处理,对电网日志文本添加注意力权重,来突出特征文本的影响因子,更好地挖掘智能电网数据的特征以及发生异常事件后日志变化规律信息,提高检测模型性能,为日志异常做出预警。
请参照图2,本发明的实施例二为:
一种日志异常检测的终端1,包括处理器2、存储器3以及存储在所述存储器3中并可在所述处理器2上运行的计算机程序,所述处理器2执行所述计算机程序时实现以上实施例一所述的一种日志异常检测的方法中的步骤。
综上所述,本发明提供的一种日志异常检测的方法与终端,为了减少标注数据带来的人工成本和时间成本,设计了基于小样本数据的异常检测模型,首先基于小样本数据构建训练LSTM预测模型,在此基础上,将未标注数据通过该有监督模型估计获取大量的标注数据,用以训练异常检测模型,为减少数据噪声影响,对异常检测模型引入了自注意力机制,进而实现高精度、低成本的智能电网下大规模日志数据异常检测。
此外,为了解决智能电网的Hadoop架构下日志异常检测存在的因数据资源结构异质导致准确率低和日志数据量庞大等问题,采用分布式的思想进行日志信息收集,通过划分数据类型、地理区域等,设计新的异常日志检测结构。更重要的是,结合数据特点,设计了适配该结构的日志解析森林对收集到的不同日志信息分类解析,包括电表数据日志、供电数据日志和档案数据日志,解决大规模集中日志处理问题,实现高效处理区域化的日志数据。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种日志异常检测的方法,其特征在于,包括步骤:
S1、采集原始的日志数据,对原始的所述日志数据进行预处理并进行特征提取,得到日志特征数据集;
S2、通过所述日志特征数据集中的有标签数据集对第一LSTM模型进行训练,并使用训练后的第一LSTM模型对所述日志特征数据集中的无标签数据集进行标签,所述有标签数据集中的标签数据根据用户输入得到;
S3、整合所述有标签数据集以及标签后的所述无标签数据集,得到训练数据集;
S4、使用所述训练数据集对第二LSTM模型进行训练,得到日志异常检测模型,将所述日志异常检测模型用于日志异常检测,所述第二LSTM模型在LSTM层后引入了自注意力机制。
2.根据权利要求1所述的一种日志异常检测的方法,其特征在于,所述步骤S1包括步骤:
S11、根据所述日志数据的类型,对所述日志数据进行分类解析,生成结构化日志数据;
S12、基于语义分析对结构化的所述日志数据进行特征提取,得到日志特征数据集。
3.根据权利要求2所述的一种日志异常检测的方法,其特征在于,步骤S11包括步骤:
S111、预先根据不同的日志种类,构建日志解析树;
S112、通过正则表达式匹配所述日志数据中的无关信息,并进行删除;
S113、计算删除无关信息后的日志长度,根据所述日志长度进行节点搜索;
S114、根据步骤S113搜索到的第一层节点,根据所述日志数据开头位置的token进行遍历和路径匹配,直至找到完全匹配的路径,以生成结构化的所述日志数据;
S115、若遍历完成后未找到完全匹配的路径时,或最后遍历到的节点为叶子节点,但未完成匹配时,则读取当前匹配到的下一个单词,以最后遍历到的节点作为父节点建立新的叶子结点。
4.根据权利要求2所述的一种日志异常检测的方法,其特征在于,步骤S12包括步骤:
S121、对所述日志数据的文本中的单词进行拆分,并进行分词处理;
S122、对分词结果中的每个词进行语义信息提取,转换为d维向量;
S123、基于TF-IDF聚合所有词的d维向量,将所述日志数据转换为语义向量,得到所述日志特征数据集。
5.根据权利要求4所述的一种日志异常检测的方法,其特征在于,步骤S123中基于TF-IDF聚合所有词的d维向量,将所述日志数据转换为语义向量具体为:
通过词频TF衡量单词w在所述日志数据中出现的频率,计算公式如下:
其中count(w)是单词w在日志事件中出现的次数,N是日志事件中的总字数;
采用逆文档频率IDF衡量单词w在所有日志事件中的常见程度,计算公式如下:
其中,count(L)是日志事件总数,count(Lw)是包含单词w的日志事件的数量;
通过将所述日志数据的所有d维向量与TF-IDF权重求和,得到语义向量:
其中,ω是单词的权重,通过TF×IDF计算出来。
6.根据权利要求1所述的一种日志异常检测的方法,其特征在于,步骤S1中对原始的日志数据的采集具体为:
向智能电网内的各个数据节点获取日志数据;
所述数据节点通过对自身管辖域内的数据行为任务进行收集,来生成日志数据。
7.根据权利要求1所述的一种日志异常检测的方法,其特征在于,所述日志数据包括电表数据日志、供电数据日志以及档案数据日志中的至少一种。
8.根据权利要求1所述的一种日志异常检测的方法,其特征在于,步骤S2中使用训练后的第一LSTM模型对所述日志特征数据集中的无标签数据集进行标签具体为:
使用训练后的第一LSTM模型,通过概率预测对所述日志特征数据集中的无标签数据集进行标签,根据预设的标记界限Plimit,当概率plog∈(0,Plimit)时,将该日志数据标签为正常日志,当plog∈[Plimit,1)时,将该日志数据标签为异常日志。
9.一种日志异常检测的终端,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以上权利要求1-8任一所述的一种日志异常检测的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311575603.XA CN117763144A (zh) | 2023-11-23 | 2023-11-23 | 一种日志异常检测的方法与终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311575603.XA CN117763144A (zh) | 2023-11-23 | 2023-11-23 | 一种日志异常检测的方法与终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117763144A true CN117763144A (zh) | 2024-03-26 |
Family
ID=90322875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311575603.XA Pending CN117763144A (zh) | 2023-11-23 | 2023-11-23 | 一种日志异常检测的方法与终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117763144A (zh) |
-
2023
- 2023-11-23 CN CN202311575603.XA patent/CN117763144A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114610515A (zh) | 基于日志全语义的多特征日志异常检测方法及系统 | |
CN111026671B (zh) | 测试用例集构建方法和基于测试用例集的测试方法 | |
CN106202514A (zh) | 基于Agent的突发事件跨媒体信息的检索方法及系统 | |
CN112100149B (zh) | 日志自动化分析系统 | |
Sindhu et al. | Subjectivity detection for sentiment analysis on Twitter data | |
Shetty et al. | Neural knowledge extraction from cloud service incidents | |
Xie et al. | Logm: Log analysis for multiple components of hadoop platform | |
Rahman et al. | Assessment of Information Extraction Techniques, Models and Systems. | |
Yu et al. | Self-supervised log parsing using semantic contribution difference | |
Bodík et al. | HiLighter: Automatically Building Robust Signatures of Performance Behavior for Small-and Large-Scale Systems. | |
Yousofvand et al. | Automatic bug localization using a combination of deep learning and model transformation through node classification | |
Dutta et al. | Big data architecture for environmental analytics | |
CN113378024A (zh) | 一种基于深度学习面向公检法领域的相关事件识别方法 | |
CN113098989B (zh) | 字典生成方法、域名检测方法、装置、设备及介质 | |
Kobayashi et al. | amulog: A general log analysis framework for diverse template generation methods | |
CN114238735B (zh) | 一种互联网数据智能采集方法 | |
CN117763144A (zh) | 一种日志异常检测的方法与终端 | |
CN115587007A (zh) | 基于RoBERTa的网络日志安全检测方法及系统 | |
Li et al. | A method of large-scale log pattern mining | |
Arslan et al. | Extracting Business Insights through Dynamic Topic Modeling and NER. | |
CN116431815B (zh) | 一种村务公开数据智慧管理系统 | |
Bhawsar et al. | Extraction of business rules from web logs to improve web usage mining | |
Ouyang et al. | Binary vulnerability mining based on long short-term memory network | |
CN112767022B (zh) | 移动应用功能演化趋势预测方法、装置及计算机设备 | |
Hemalatha et al. | Leveraging Automated Methods and Advanced Neural Networks for Accurate Information Extraction |
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 |