CN116167370A - 基于日志时空特征分析的分布式系统异常检测方法 - Google Patents

基于日志时空特征分析的分布式系统异常检测方法 Download PDF

Info

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
Application number
CN202310101882.XA
Other languages
English (en)
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.)
Yunnan University YNU
Original Assignee
Yunnan University YNU
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 Yunnan University YNU filed Critical Yunnan University YNU
Priority to CN202310101882.XA priority Critical patent/CN116167370A/zh
Publication of CN116167370A publication Critical patent/CN116167370A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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)
  • 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
Figure BDA0004073327270000031
然后将日志模板序列中所有日志模板的语义向量构成大小为N×M×K的日志模板语义向量序列F:
Figure BDA0004073327270000032
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]的计算方法如下:
Figure BDA0004073327270000041
其中,
Figure BDA0004073327270000042
表示向下取整。
本发明基于日志时空特征分析的分布式系统异常检测方法,从分布式系统历史运行过程所收集的原始日志中提取出若干原始日志序列作为训练样本,对于原始日志序列进行解析得到原始日志序列对应的日志模板序列,对日志模板序列中的日志模板进行进一步处理后进行语义向量化得到日志模板语义向量序列,构建包括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
Figure BDA0004073327270000071
然后将日志模板序列中所有日志模板的语义向量构成大小为N×M×K的日志模板语义向量序列F:
Figure BDA0004073327270000072
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]的计算方法如下:
Figure BDA0004073327270000081
其中,
Figure BDA0004073327270000082
表示向下取整。
转换器网络根据接收的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是本实施例中实例生产环境的配置列表。
Figure BDA0004073327270000101
表1
表2是本实施例中数据集信息表。
数据集 日志数量 异常日志数量 日志种类
HDFS 104816 1821 30
收集数据集 102530 2512 70
表2
本实施例中,对本发明和三种对比方法在开源HDFS数据集和收集数据集上进行异常检测的评价指标进行统计,评价指标包括三个,分别为F1-Score(F1分数)、Recall(召回率)、Precision(精确率)。表3是本实施例中本发明和三种对比方法在两个数据集上的性能对比表。
Figure BDA0004073327270000102
表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
Figure FDA0004073327260000021
然后将日志模板序列中所有日志模板的语义向量构成大小为N×M×K的日志模板语义向量序列F:
Figure FDA0004073327260000022
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)中每个日志模板语义向量对应双向长短期记忆网络中的一个神经元。
4.根据权利要求1所述的分布式系统异常检测方法,其特征在于,所述步骤S6中遮蔽模块中位置特征si中第h个元素si[h]的计算方法如下:
Figure FDA0004073327260000031
其中,
Figure FDA0004073327260000032
表示向下取整。
CN202310101882.XA 2023-02-08 2023-02-08 基于日志时空特征分析的分布式系统异常检测方法 Pending CN116167370A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116541202A (zh) * 2023-06-14 2023-08-04 深圳壹师城科技有限公司 一种科技风险管理系统及一种风险预警装置
CN117827620A (zh) * 2024-03-05 2024-04-05 云账户技术(天津)有限公司 异常诊断方法、模型的训练方法、装置、设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
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