CN116167370A - 基于日志时空特征分析的分布式系统异常检测方法 - Google Patents
基于日志时空特征分析的分布式系统异常检测方法 Download PDFInfo
- Publication number
- CN116167370A CN116167370A CN202310101882.XA CN202310101882A CN116167370A CN 116167370 A CN116167370 A CN 116167370A CN 202310101882 A CN202310101882 A CN 202310101882A CN 116167370 A CN116167370 A CN 116167370A
- Authority
- CN
- China
- Prior art keywords
- log
- original
- sequence
- template
- anomaly detection
- 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 64
- 238000004458 analytical method Methods 0.000 title claims abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 77
- 239000013598 vector Substances 0.000 claims abstract description 52
- 238000012549 training Methods 0.000 claims abstract description 18
- 230000008569 process Effects 0.000 claims abstract description 11
- 230000005856 abnormality Effects 0.000 claims description 16
- 239000000284 extract Substances 0.000 claims description 11
- 238000000605 extraction Methods 0.000 claims description 11
- 230000015654 memory Effects 0.000 claims description 8
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 210000002569 neuron Anatomy 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 2
- 238000013135 deep learning Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- SEIGJEJVIMIXIU-UHFFFAOYSA-J aluminum;sodium;carbonate;dihydroxide Chemical compound [Na+].O[Al+]O.[O-]C([O-])=O SEIGJEJVIMIXIU-UHFFFAOYSA-J 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000002567 autonomic effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000012733 comparative method Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000012631 diagnostic technique Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- BULVZWIRKLYCBC-UHFFFAOYSA-N phorate Chemical compound CCOP(=S)(OCC)SCSCC BULVZWIRKLYCBC-UHFFFAOYSA-N 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于日志时空特征分析的分布式系统异常检测方法,从分布式系统历史运行过程所收集的原始日志中提取出若干原始日志序列作为训练样本,对于原始日志序列进行解析得到原始日志序列对应的日志模板序列,对日志模板序列中的日志模板进行进一步处理后进行语义向量化得到日志模板语义向量序列,构建异常检测模型,采用训练样本对异常检测模型进行训练,当需要对分布式系统进行异常检测时,获取待检测时间段的日志模板语义向量序列,输入训练异常检测模型得到异常检测结果。本发明通过充分考虑日志的时间和空间特征,提高异常检测的准确率,保证分布式系统的安全性和可靠性。
Description
技术领域
本发明属于智能设备运维技术领域,更为具体地讲,涉及一种基于日志时空特征分析的分布式系统异常检测方法。
背景技术
随着系统规模和功能的增长,现代大规模分布式系统正变得越来越复杂。异常检测成为确保分布式系统安全性和可靠性的一个重要部分。日志描述了分布式系统的运行状态,并记录了系统中每个组件的执行情况,如分布式系统的服务节点之间的远程过程调用(RPCs)、硬件故障、进程运行时的错误和软件配置的变化等。与传统的通过监控系统指标来判断系统健康状况相比,基于日志的异常检测具有一定的优势。首先,日志支持更细化的诊断技术来定位错误日志或事件。其次,日志允许跟踪程序执行逻辑,捕捉跨组件和服务的程序执行和性能异常,并捕捉异常细节以定位异常。因此,分析系统日志以检测分布式系统运行中产生的故障,对于确保分布式系统的安全性和可靠性至关重要。
然而,尽管大多数日志都写有日志级别(例如,“INFO”、“WARNING”、“ERROR”),但这些级别并不一定真实反映了系统的运行状态。例如,四个日志的级别都是“FATAL”,也就是说,按照传统的日志级别判断,这四个日志都属于严重级别,但是仔细分析这些日志,只有第一个日志引起了系统错误,其余的日志都出现了错误,但没有引起系统错误。因此,目前的研究大多是基于日志事件中描述的系统的具体情况进行异常检测,而不是基于日志级别。在分布式系统中,分布式系统的服务节点之间会产生大量的远程过程调用(RPCs)。系统的日志组件记录了相关的操作和过程中调用的方法和参数。这些日志数据是在不同的服务器之间产生的,具有明显的空间特征。同样地,由于分布式系统的日志是按时间顺序产生的,它们记录的时间信息,如时间戳,所以这些日志也具有时间特征。近年来,随着机器学习和深度学习的快速成功发展,在机器学习或深度学习的辅助下维护分布式系统,保证分布式系统的稳定性已经成为可能。目前,已经有一些基于机器学习或深度学习的方法专注于分布式系统日志的时间特征进行异常检测,如SVM、PCA、DeepLog、LogAnomaly,HitAnomaly等,还有一些方法专注于分布式系统的空间特征,如TextCNN、OASIS等。
上述深度学习方法在进行日志异常检测时,大多只关注分布式系统日志的时间特征或只关注分布式系统日志的空间特征。值得注意的是,现代大规模分布式系统变得越来越复杂,不同服务节点之间的交互将变得越来越频繁,其产生的日志的空间特征也越来越显著。只考虑分布式系统的时间或空间特征的单一方法存在很大的问题,它们不能完全提取现代大规模分布式系统日志的所有特征,所以异常检测模型不能更清晰地定义异常日志与正常日志的区别,使得异常检测的效率低下,从而造成系统出错甚至宕机的风险。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于日志时空特征分析的分布式系统异常检测方法,充分考虑日志的时间和空间特征,提高异常检测的准确率,保证分布式系统的安全性和可靠性。
为了实现上述发明目的,本发明基于日志时空特征分析的分布式系统异常检测方法包括以下步骤:
S1:收集分布式系统的原始日志,包括日志的时间戳、级别、代码位置和日志记录的分布式系统运行过程的详细信息文本,将收集到的原始日志进行存储;
S2:从分布式系统历史运行过程中提取出若干原始日志序列作为训练样本,每个原始日志序列中包含K个连续的原始日志,K的取值根据实际需要进行设置,对每个原始日志序列进行标签标注,如果该原始日志序列中包含异常情况,则标签为1,否则标签为0;
S3:对原始日志序列中的每个原始日志分别进行解析,将每个原始日志中的“时间戳”、“级别”、“代码位置”信息去除并将详细信息中的IP地址参数用通配符<*>进行匹配,得到该原始日志对应的日志模板,进而得到原始日志序列对应的日志模板序列;
S4:对于每个日志模板序列,将其中每个日志模板中的标点符号和通配符用空格代替,然后获取日志模板中单词数量作为日志模板长度,当日志模板长度小于预设的统一日志模板长度N,则使用预设的默认字符串对该日志模板填充至长度N,当日志模板长度大于预设的统一日志模板长度N,则去除最后的单词将日志模板长度缩短为N,否则不作任何操作;
S5:采用语义特征嵌入和统计特征嵌入结合的方式对日志模板子序列进行语义向量化,具体方法为:
记日志模板序列中第k个日志模板为(ak,1,ak,2,…,ak,N),ak,i表示第k个日志模板中第i个单词,k=1,2,…,K,i=1,2,…,N;对日志模板中的单词使用word2vec算法进行词嵌入,记ek,i为单词ak,i进行词嵌入得到的M维向量;然后基于TF-IDF方法获取每个单词的权值tk,i:统计单词ak,i在日志模板中的词频和tfk,i和逆文档频率idfk,i,计算权值tk,i=tfk,i×idfk,i;根据词嵌入向量ek,i和权值tk,i,得到第k个日志模板中第i个单词的语义向量vk,i=ek,i×tk,i,从而得到第k个日志模板的大小为N×M的语义向量矩阵为Vk:
然后将日志模板序列中所有日志模板的语义向量构成大小为N×M×K的日志模板语义向量序列F:
S6:构建异常检测模块,包括K个特征提取模块、K个遮蔽(mask)模块、1个转换器(Transformer)网络、1个全连接层和1个softmax层,其中:
N个特征提取模块分别提取日志模板语义向量序列中第n个单词对应的语义向量序列(v1,i,v2,i,…,vK,i)的时间特征Ti,时间特征Ti的维度设置为H×W×L,然后将时间特征Ti发送至转换器网络;
N个遮蔽模块分别提取日志模板语义向量序列中日志模板语义向量序列中第n个单词对应的语义向量序列(v1,i,v2,i,…,vK,i)的位置特征si,位置特征si的维度设置为H,然后将位置特征si用0填充得到维度为H×W×L的三维位置特征Si,然后将位置特征Si发送至转换器网络;
转换器网络根据接收的N个时间特征Ti和位置特征Si,提取得到日志模板语义向量序列的时空特征X并发送至全连接层;
全连接层用于对接收到的时空特征X进行整合,转化为一维特征并输出至softmax层;
softmax层用于根据接收到的特征进行预测,得到原始日志序列是否存在异常的结果;
S7:将作为训练样本的原始日志序列对应的日志模板语义向量序列作为输入,原始日志序列对应的标签作为期望输出,对步骤S6构建的异常检测模型进行训练,得到训练好的异常检测模型;
S8:当需要对分布式系统进行异常检测时,首先从待检测时间段提取连续的K个原始日志构成待检测原始日志序列,然后采用步骤S3中的方法进行日志解析,采用步骤S4中的方法进行日志模板预处理,采用步骤S5中的方法进行日志模板语义向量化,得到待检测原始日志序列对应的日志模板语义向量序列,将其输入至训练好的异常检测模型,得到待检测原始日志序列的异常检测结果。
进一步地,步骤S1中采用区块链进行原始日志存储,具体方法为:将收集到的原始日志发送到区块链存储客户端,区块链存储客户端将原始日志进行Hash编码后上传至联盟链节点,联盟链节点将原始日志存储在服务节点上的键值对数据库中。
进一步地,步骤S6中特征提取模块包括两个级联的双向长短期记忆网络,语义向量序列(v1,i,v2,i,…,vK,i)中每个日志模板语义向量对应双向长短期记忆网络中的一个神经元。
进一步地,步骤S6中遮蔽模块中位置特征si中第h个元素si[h]的计算方法如下:
本发明基于日志时空特征分析的分布式系统异常检测方法,从分布式系统历史运行过程所收集的原始日志中提取出若干原始日志序列作为训练样本,对于原始日志序列进行解析得到原始日志序列对应的日志模板序列,对日志模板序列中的日志模板进行进一步处理后进行语义向量化得到日志模板语义向量序列,构建包括N个特征提取模块、N个遮蔽模块、1个转换器网络、1个全连接层和1个softmax层的异常检测模型,采用训练样本对异常检测模型进行训练,当需要对分布式系统进行异常检测时,获取待检测时间段的日志模板语义向量序列,输入训练异常检测模型得到异常检测结果。本发明通过充分考虑日志的时间和空间特征,提高异常检测的准确率,保证分布式系统的安全性和可靠性。
附图说明
图1是本发明基于日志时空特征分析的分布式系统异常检测方法的具体实施方式流程图;
图2是本实施例中日志解析示例图;
图3是本实施例中异常检测模型的结构图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图1是本发明基于日志时空特征分析的分布式系统异常检测方法的具体实施方式流程图。如图1所示,本发明基于日志时空特征分析的分布式系统异常检测方法的具体步骤包括:
S101:收集分布式系统日志:
收集分布式系统的原始日志,包括日志的时间戳、级别、代码位置和日志记录的分布式系统运行过程的详细信息文本,将收集到的原始日志进行存储。
在本实施例中,为了提高原始日志存储的安全性,采用区块链进行原始日志存储,具体方法为:将收集到的原始日志发送到区块链存储客户端,区块链存储客户端将原始日志进行Hash编码后上传至联盟链节点,联盟链节点将原始日志存储在服务节点上的键值对(Key-Value)数据库中。当存储成功后,节点还可以使用自己的私钥对日志数据进行加密并保存返回的密钥,以进一步提高安全性。在后续提取原始日志时,由各个服务节点使用所保存的密钥对存储在其键值对数据库中的原始日志进行解密,然后再进行汇总,得到整个分布式系统的原始日志。
S102:获取训练样本:
从分布式系统历史运行过程所收集的原始日志中提取出若干原始日志序列作为训练样本,每个原始日志序列中包含K个连续的原始日志,K的取值根据实际需要进行设置,对每个原始日志序列进行标签标注,如果该原始日志序列中包含异常情况,则标签为1,否则标签为0。
在实际应用中,可以采用预设的长度为K的滑动时间窗口按照预设步长将整个原始日志序列进行划分,划分成若干个日志模板子序列,每个日志模板子序列即为一个训练样本。
S103:日志解析:
对原始日志序列中的每个原始日志分别进行解析,将每个原始日志中的“时间戳”、“级别”、“代码位置”信息去除并将详细信息中的IP地址参数用通配符<*>进行匹配,得到该原始日志对应的日志模板,进而得到原始日志序列对应的日志模板序列。
图2是本实施例中日志解析示例图。如图2所示,根据原始日志的相关性将其解析为公共的日志模板和参数,图示日志:“081109 203615148 INFO dfs.DataNode$PacketResponder:PacketResponder 1 for block blk_38865049064139660terminating”被解析为日志模板“PacketResponder<*>for block<*>terminating”和参数值“1,blk_38865049064139660”,其中通配符<*>用来匹配参数。日志模板简化了原始日志序列,保存了原始日志序列的关键信息,去除了冗余信息,更加简明扼要的表示了原始日志序列。
S104:日志模板预处理:
接下来对步骤S103中解析得到的日志模板序列进行预处理,去除日志模板中的冗余信息、填充较短的模板,具体方法为:
对于每个日志模板序列,将其中每个日志模板中的标点符号和通配符用空格代替,然后获取日志模板中单词数量作为日志模板长度,当日志模板长度小于预设的统一日志模板长度N,则使用预设的默认字符串(本实施例中为“PAD”)对该日志模板填充至长度N,当日志模板长度大于预设的统一日志模板长度N,则去除最后的单词将日志模板长度缩短为N,否则不作任何操作。一般来说,日志模板长度N在设置时应该根据该分布式系统可能出现的最大日志模板长度来进行设置,从而最大限度地保留日志模板的信息。
S105:日志模板语义向量化:
本发明中,为了更好地提取日志模板的特征,采用语义特征嵌入和统计特征嵌入结合的方式对日志模板序列进行语义向量化,具体方法为:
记日志模板序列中第k个日志模板为(ak,1,ak,2,…,ak,N),ak,i表示第k个日志模板中第i个单词,k=1,2,…,K,i=1,2,…,N。对日志模板中的单词使用word2vec算法进行词嵌入,记ek,i为单词ak,i进行词嵌入得到的M维向量。然后基于TF-IDF方法获取每个单词的权值tk,i:统计单词ak,i在日志模板中的词频和tfk,i和逆文档频率idfk,i,计算权值tk,i=tfk,i×idfk,i。根据词嵌入向量ek,i和权值tk,i,得到第k个日志模板中第i个单词的语义向量vk,i=ek,i×tk,i,从而得到第k个日志模板的大小为N×M的语义向量矩阵为Vk:
然后将日志模板序列中所有日志模板的语义向量构成大小为N×M×K的日志模板语义向量序列F:
S106:构建异常检测模型:
图3是本发明中异常检测模型的结构图。如图3所示,本发明中异常检测模型包括N个特征提取模块、N个遮蔽(mask)模块、1个转换器(Transformer)网络、1个全连接层和1个softmax层,其中:
N个特征提取模块分别提取日志模板语义向量序列中第n个单词对应的语义向量序列(v1,i,v2,i,…,vK,i)的时间特征Ti,时间特征Ti的维度设置为H×W×L,该维度是根据实际需要设置的,可以通过设置特征提取模块的参数实现,然后将时间特征Ti发送至转换器网络。本实施例中特征提取模块包括两个级联的双向长短期记忆网络(Bi-LSTM),语义向量序列(v1,i,v2,i,…,vK,i)中每个日志模板语义向量对应双向长短期记忆网络中的一个神经元。双向长短期记忆网络是将标准长短期记忆网络(LSTM)的隐藏神经元层分为两个方向:前馈和后馈传输,以在两个方向上捕捉足够的输入日志模板序列的时间特征,从而令得到的时间特征更加准确。双向长短期记忆网络是一种常用的神经网络结构,其具体工作原理和过程在此不再赘述。
N个遮蔽模块分别提取日志模板语义向量序列中日志模板语义向量序列中第n个单词对应的语义向量序列(v1,i,v2,i,…,vK,i)的位置特征si,位置特征si的维度设置为H,然后将位置特征si用0填充得到维度为H×W×L的三维位置特征Si,然后将位置特征Si发送至转换器网络。位置特征si中第h个元素si[h]的计算方法如下:
转换器网络根据接收的N个时间特征Ti和位置特征Si,提取得到日志模板语义向量序列的时空特征X并发送至全连接层。转换器网络是一个基于多头注意力机制的Encoder-Decoder模型,可以从时间特征Ti和位置特征Si提取更多的语义时空特征,从而提高异常检测的效率。转换器网络是一种常用的深度学习模型,其具体工作原理和过程在此不再赘述。
全连接层用于对接收到的时空特征X进行整合,转化为一维特征并输出至softmax层。
softmax层用于根据接收到的特征进行预测,得到原始日志序列是否存在异常的结果。
S107:训练异常检测模型:
将作为训练样本的原始日志序列对应的日志模板语义向量序列作为输入,原始日志序列对应的标签作为期望输出,对步骤S106构建的异常检测模型进行训练,得到训练好的异常检测模型。
S108:异常检测:
当需要对分布式系统进行异常检测时,首先从待检测时间段提取连续的K个原始日志构成待检测原始日志序列,然后采用步骤S103中的方法进行日志解析,采用步骤S104中的方法进行日志模板预处理,采用步骤S105中的方法进行日志模板语义向量化,得到待检测原始日志序列对应的日志模板语义向量序列,将其输入至训练好的异常检测模型,得到待检测原始日志序列的异常检测结果。
为了更好地说明本发明的技术效果,采用一个具体实例对本发明进行实验验证。同时设置了三个对比方法与本发明的技术效果进行对照,三个对比方法分别为:
对比方法1:DeepLog方法,一种基于LSTM的日志异常检测方法,向量化方法为基于日志模板索引,详情参见文献“Du M,Li F,Zheng G,et al.Deeplog:Anomaly detectionand diagnosis from system logs through deep learning[C]//Proceedings of the2017ACM SIGSAC Conference on Computer and Communications Security.2017:1285-1298.”。
对比方法2:TextCNN方法,一种基于CNN的日志异常检测方法,向量化方法为基于日志模板索引,详情参见文献“S.Lu,X.Wei,Y.Li,L.Wang,Detecting anomaly in bigdata system logs using convolutional neural network,in:2018IEEE16th Intl Confon Dependable,Autonomic and Secure Computing,16th Intl Conf on PervasiveIntelligence and Computing,4th Intl Conf on Big Data In telligence andComputing and Cyber Science and Technology Congress(DASC/PiCom/DataCom/CyberSciTech),IEEE,2018,pp.151–158.”。
对比方法3:LogAnomaly方法,一种基于双向LSTM的日志异常检测方法,向量化方法为基于日志模板语义,详情参见文献“Meng W,Liu Y,Zhu Y,et al.LogAnomaly:Unsupervised Detection of Sequential and Quantitative Anomalies inUnstructured Logs[C]//IJCAI.2019,19(7):4739-4745.”。
本实施例中所使用数据集为开源HDFS数据集和从自行构建的分布式系统中收集的数据集。本实施例中用于验证的实例的生产环境为基于Flower框架开发的分布式机器学习系统,使用两层卷积神经网络(CNN)作为任务模型。表1是本实施例中实例生产环境的配置列表。
表1
表2是本实施例中数据集信息表。
数据集 | 日志数量 | 异常日志数量 | 日志种类 |
HDFS | 104816 | 1821 | 30 |
收集数据集 | 102530 | 2512 | 70 |
表2
本实施例中,对本发明和三种对比方法在开源HDFS数据集和收集数据集上进行异常检测的评价指标进行统计,评价指标包括三个,分别为F1-Score(F1分数)、Recall(召回率)、Precision(精确率)。表3是本实施例中本发明和三种对比方法在两个数据集上的性能对比表。
表3
如表3所示,本发明在HDFS数据集上的表现高于同为基于日志模板语义建模的对比方法3,更高于基于日志模板索引的对比方法2和对比方法3,F1-Score高达98.04%。并且本发明在收集数据集上的表现均高于其他三种方法,F1-Score高达97.40%。经过分析,本发明在HDFS数据集上的表现高于对比方法3的原因为本发明提取了日志的时间和空间特征,高于对比方法1和对比方法2的原因为本发明是基于日志模板的语义进行向量化,相比之下,其他两种方法所采用的基于日志模板索引进行向量化的方法无法获取日志模板语义信息,更无法提取日志的时间特征或空间特征。此外,本发明的方法在收集数据集上的表现优于其他三种方法,原因是本发明的方法还提取了分布式系统日志的时间特征和空间特征,提高了异常检测的准确性。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (4)
1.一种基于日志时空特征分析的分布式系统异常检测方法,其特征在于包括:
S1:收集分布式系统的原始日志,包括日志的时间戳、级别、代码位置和日志记录的分布式系统运行过程的详细信息文本,将收集到的原始日志进行存储;
S2:从分布式系统历史运行过程中提取出若干原始日志序列作为训练样本,每个原始日志序列中包含K个连续的原始日志,K的取值根据实际需要进行设置,对每个原始日志序列进行标签标注,如果该原始日志序列中包含异常情况,则标签为1,否则标签为0;
S3:对原始日志序列中的每个原始日志分别进行解析,将每个原始日志中的“时间戳”、“级别”、“代码位置”信息去除并将详细信息中的IP地址参数用通配符<*>进行匹配,得到该原始日志对应的日志模板,进而得到原始日志序列对应的日志模板序列;
S4:对于每个日志模板序列,将其中每个日志模板中的标点符号和通配符用空格代替,然后获取日志模板中单词数量作为日志模板长度,当日志模板长度小于预设的统一日志模板长度N,则使用预设的默认字符串对该日志模板填充至长度N,当日志模板长度大于预设的统一日志模板长度N,则去除最后的单词将日志模板长度缩短为N,否则不作任何操作;
S5:采用语义特征嵌入和统计特征嵌入结合的方式对日志模板子序列进行语义向量化,具体方法为:
记日志模板序列中第k个日志模板为(ak,1,ak,2,…,ak,N),ak,i表示第k个日志模板中第i个单词,k=1,2,…,K,i=1,2,…,N;对日志模板中的单词使用word2vec算法进行词嵌入,记ek,i为单词ak,i进行词嵌入得到的M维向量;然后基于TF-IDF方法获取每个单词的权值tk,i:统计单词ak,i在日志模板中的词频和tfk,i和逆文档频率idfk,i,计算权值tk,i=tfk,i×idfk,i;根据词嵌入向量ek,i和权值tk,i,得到第k个日志模板中第i个单词的语义向量vk,i=ek,i×tk,i,从而得到第k个日志模板的大小为N×M的语义向量矩阵为Vk:
然后将日志模板序列中所有日志模板的语义向量构成大小为N×M×K的日志模板语义向量序列F:
S6:构建异常检测模块,包括K个特征提取模块、K个遮蔽(mask)模块、1个转换器(Transformer)网络、1个全连接层和1个softmax层,其中:
N个特征提取模块分别提取日志模板语义向量序列中第n个单词对应的语义向量序列(v1,i,v2,i,…,vK,i)的时间特征Ti,时间特征Ti的维度设置为H×W×L,然后将时间特征Ti发送至转换器网络;
N个遮蔽模块分别提取日志模板语义向量序列中日志模板语义向量序列中第n个单词对应的语义向量序列(v1,i,v2,i,…,vK,i)的位置特征si,位置特征si的维度设置为H,然后将位置特征sk用0填充得到维度为H×W×L的三维位置特征Si,然后将位置特征Si发送至转换器网络;
转换器网络根据接收的N个时间特征Ti和位置特征Si,提取得到日志模板语义向量序列的时空特征X并发送至全连接层;
全连接层用于对接收到的时空特征X进行整合,转化为一维特征并输出至softmax层;
softmax层用于根据接收到的特征进行预测,得到原始日志序列是否存在异常的结果;
S7:将作为训练样本的原始日志序列对应的日志模板语义向量序列作为输入,原始日志序列对应的标签作为期望输出,对步骤S6构建的异常检测模型进行训练,得到训练好的异常检测模型;
S8:当需要对分布式系统进行异常检测时,首先从待检测时间段提取连续的K个原始日志构成待检测原始日志序列,然后采用步骤S3中的方法进行日志解析,采用步骤S4中的方法进行日志模板预处理,采用步骤S5中的方法进行日志模板语义向量化,得到待检测原始日志序列对应的日志模板语义向量序列,将其输入至训练好的异常检测模型,得到待检测原始日志序列的异常检测结果。
2.根据权利要求1所述的分布式系统异常检测方法,其特征在于,所述步骤S1中采用区块链进行原始日志存储,具体方法为:将收集到的原始日志发送到区块链存储客户端,区块链存储客户端将原始日志进行Hash编码后上传至联盟链节点,联盟链节点将原始日志存储在服务节点上的键值对数据库中。
3.根据权利要求1所述的分布式系统异常检测方法,其特征在于,所述步骤S6中特征提取模块包括两个级联的双向长短期记忆网络,语义向量序列(v1,i,v2,i,…,vK,i)中每个日志模板语义向量对应双向长短期记忆网络中的一个神经元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310101882.XA CN116167370A (zh) | 2023-02-08 | 2023-02-08 | 基于日志时空特征分析的分布式系统异常检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310101882.XA CN116167370A (zh) | 2023-02-08 | 2023-02-08 | 基于日志时空特征分析的分布式系统异常检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116167370A true CN116167370A (zh) | 2023-05-26 |
Family
ID=86414303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310101882.XA Pending CN116167370A (zh) | 2023-02-08 | 2023-02-08 | 基于日志时空特征分析的分布式系统异常检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116167370A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541202A (zh) * | 2023-06-14 | 2023-08-04 | 深圳壹师城科技有限公司 | 一种科技风险管理系统及一种风险预警装置 |
CN117827620A (zh) * | 2024-03-05 | 2024-04-05 | 云账户技术(天津)有限公司 | 异常诊断方法、模型的训练方法、装置、设备及存储介质 |
-
2023
- 2023-02-08 CN CN202310101882.XA patent/CN116167370A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541202A (zh) * | 2023-06-14 | 2023-08-04 | 深圳壹师城科技有限公司 | 一种科技风险管理系统及一种风险预警装置 |
CN116541202B (zh) * | 2023-06-14 | 2023-10-03 | 深圳壹师城科技有限公司 | 一种科技风险管理系统及一种风险预警装置 |
CN117827620A (zh) * | 2024-03-05 | 2024-04-05 | 云账户技术(天津)有限公司 | 异常诊断方法、模型的训练方法、装置、设备及存储介质 |
CN117827620B (zh) * | 2024-03-05 | 2024-05-10 | 云账户技术(天津)有限公司 | 异常诊断方法、模型的训练方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111782472B (zh) | 系统异常检测方法、装置、设备及存储介质 | |
CN108038049B (zh) | 实时日志控制系统及控制方法、云计算系统及服务器 | |
CN108427720B (zh) | 系统日志分类方法 | |
CN110958136A (zh) | 一种基于深度学习的日志分析预警方法 | |
CN116167370A (zh) | 基于日志时空特征分析的分布式系统异常检测方法 | |
CN117473571B (zh) | 一种数据信息安全处理方法及系统 | |
KR101948634B1 (ko) | 스마트 컴퓨팅을 위한 시스템 자원의 장애 예측 방법 | |
CN111259073A (zh) | 基于日志、流量和业务访问的业务系统运行状态智能研判系统 | |
CN104363106A (zh) | 一种基于大数据技术的电力信息通信故障预警分析方法 | |
CN110399278B (zh) | 基于数据中心异常监控的告警融合系统及方法 | |
CN112951311A (zh) | 一种基于变权重随机森林的硬盘故障预测方法及系统 | |
Xie et al. | Logm: Log analysis for multiple components of hadoop platform | |
CN117172753A (zh) | 一种基于移动互联网的智慧水电站巡检系统及方法 | |
CN115344414A (zh) | 基于LSTM-Transformer的日志异常检测方法及系统 | |
CN113342597A (zh) | 一种基于高斯混合隐马尔可夫模型的系统故障预测方法 | |
Cavallaro et al. | Identifying anomaly detection patterns from log files: A dynamic approach | |
CN117827508A (zh) | 一种基于系统日志数据的异常检测方法 | |
Li et al. | Logspy: System log anomaly detection for distributed systems | |
Li et al. | Glad: Content-aware dynamic graphs for log anomaly detection | |
CN112039907A (zh) | 一种基于物联网终端评测平台的自动测试方法及系统 | |
CN117411780A (zh) | 一种基于多源数据特征的网络日志异常检测方法 | |
CN117170922A (zh) | 日志数据分析方法、装置、终端设备以及存储介质 | |
CN115001781B (zh) | 一种终端网络状态安全监测方法 | |
CN115329082A (zh) | 基于深度混合神经网络的日志序列异常检测方法 | |
Jain et al. | Extracting the textual and temporal structure of supercomputing logs |
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 |