System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机软件系统智能运维,尤其涉及一种基于时空特征融合的日志异常检测方法。
技术介绍
1、随着计算机系统的复杂性和规模的急剧增加,保障软件系统的可靠性和稳定性变得更具挑战性。异常检测能够及时发现并反馈程序运行故障或异常的信息,是维护软件系统安全和降低潜在风险损失的重要方式。计算机软件系统运行时产生大量的状态数据描述与事件数据描述,应用程序或软件系统的状态数据描述主要表现为一些具体的指标参数量,如网络连接状态、cpu利用率、内存使用率以及接口调用次数等,其能定量的对系统的当前状态进行描述;事件数据描述主要表现为系统运行逻辑的机制,如某个模块的调用、数据库的访问内容、接口完成的记录以及人机事件的交互等,其能定性的对系统业务的执行阶段进行描述。系统运行时会产生海量的日志文件,清晰的记录和描述程序运行时的状态和事件,日志流支持细粒度的故障诊断和定位,能够直观且透彻的发现系统异常的原因,几乎所有的软件系统都会伴随着日志记录功能,强大的通用性保证了原始数据来源的稳定性。这些庞大的数据成为日志检测的重要因素,基于日志的系统异常检测是业界智能化运维工作中广泛采用的解决方案。
2、近年来,随着语义向量嵌入方法的发展,日志异常检测方法出现了很多应用语言模型或者语义向量来对日志语句进行向量编码。例如loganomaly方法采用word2vec的向量编码模型,采用词向量平均计算的方法对日志语句进行向量嵌入,进而计算日志流的时间特征;logrobust和plelog则采用glove向量编码模型,通过tf-idf计算词频出现的权重,
3、目前通过学习正常的日志流模式特征的无监督深度学习方案在领域中占据了重要位置,其框架流程一般为解析日志事件,然后通过词向量嵌入或句向量嵌入方法对日志事件进行特征提取,将日志事件序列输入到相应的神经网络模型中进一步提取信息,最后根据svdd或top k的相应损失函数对整体的网络模型进行参数更新。相应的主流模型有gnn、rnn或transformer等,其代表性的解决方案有deeplog、loganomaly、deeptralog等。该主流方案的不足之处在于对日志序列事件的特征提取方式仍比较单一,大多仅考虑时序模式或者空间模式,未能完全将两者真正的整合到一起。
4、日志异常检测算法的发展经历了三个主要阶段。最初阶段集中在基于人工分析或关键字匹配的传统日志异常检测方法,逐渐发展到基于机器学习的日志异常检测方法,近年来又引入了基于深度学习的多特征融合日志异常检测方法。然而随着计算机软件系统的规模和复杂度逐渐增加,运维工作的内容也不断的产生更新,实际应用的各个阶段方法所面临的问题也变得复杂。
5、传统的日志异常检测方法一般是系统运维人员对日志进行人工分析,根据时间戳或者关键字等相关信息查找异常日志事件的具体位置,反馈给相关的开发或运维人员进行诊断和修复。这种方案需要工作人员具备较强的领域知识,结合对整个软件系统的深入理解,才能进行快速的定位和原因分析。人工分析或者关键反馈,导致客户的体验效果较差且造出巨大的损失。
6、基于监督的传统机器学习方法一般采用日志事件的计数模板矩阵作为基础数据,采用svm、pca等方法学习内含的数量关系,在封闭系统的运行实现中能够对异常的日志事件流(行为)进行探测。该方案的主要缺陷在于日志事件的数量关系仍不能完全的表示系统运行的内在模式,无法捕捉日志流的时序关系、空间关系以及语义关系,采用的数据特征较为单一,无法适应软件系统更新的需求,而且监督的方法难以适应智能运维的主流思想。
7、采用基于监督的深度学习方法能够较好的学习日志流的时间特征和语义特征,根据真实标签或者概率标签设计对应的损失函数不断更新神经网络参数,取得了良好的异常检测效果,代表性的解决方案有logrobust和plelog。该类型方法大都改进了日志事件的语义特征提取方法,同时采用lstm或gru等循环神经网络模型深度提取日志流的时间特征。该类型方案的主要缺陷在于未能充分挖掘日志流的空间模式,监督的方式会耗费大量的人工标注活动,基于概率标签的监督方式在日志序列模式学习粒度较粗。
8、时空模式的特征学习并不是简单的拼接神经网络模型,而是对日志事件序列进行图结构改造,使其成为真正的图,才能够更好的学习日志流的正常模式,加强异常检测的效果。
技术实现思路
1、本专利技术要解决的技术问题是针对上述现有技术的不足,提供一种基于时空特征融合的日志异常检测方法,实现日志的异常检测。
2、为解决上述技术问题,本专利技术所采取的技术方案是:一种基于时空特征融合的日志异常检测方法,包括以下步骤:
3、步骤1、构建计算机软件系统正常运转模式下的日志原始样本数据序列集合;
4、从计算机软件系统的历史运行日志记录数据库中提取若干原始的日志流数据为样本,结合滑动窗口或会话窗口对流数据进行序列片段划分,构建系统正常运转模式下的日志原始样本数据序列集合;
5、步骤2、针对日志原始样本数据序列通过解析操作形成对应的日志模板数据序列;
6、对日志原始样本数据序列中的每一条日志信息进行解析操作,提取日志信息中的相关参数和关键词,得到每条原始日志对应的日志模板,从而日志原始样本数据序列通过解析操作形成对应的日志模板数据序列logt_seq=(logt_1,logt_2,…,logt_n),其中logt_1代表日志模板数据序列中对应的第一条日志模板;
7、步骤3、采用语义预训练模型作为句向量转换器对原始日志模板数据序列进行语义向量嵌入,得到涵盖语义数字信息的日志模板向量序列;
8、步骤3-1、将日志模板数据序列中的每个日志模板视为单词拼接成的语句,记为(tokenk,1,tokenk,2,…,tokenk,m),tokenk,i表示日志模板数据序列中的第k个日志模板中的第i个单词,i=1、2、…、m,m为日志模板中单词总数;
9、步骤3-2、对日志模板的单词序列添加特殊标记,方便模型进行特征的读取,记为tokens=[[cls],tokenk,1,…,tokenk,m,[sep]],将日志模板的语句输入到语义预训练模型的孪生网络编码器层,输出每个标记token的向量表示n,将日志模板中所有单词或标记的向量表示输入到池化层网络(pooling)分别得到孪生网络的输出表示u,v;
10、步骤3-3、结合语义预训练模型孪生网络的输出表示u,v,根据公式wt*(u,v,|u-v|)计算出日志模板序列中第k个日志模板的向量表示vk,进而得出日志模板序列的向量本文档来自技高网...
【技术保护点】
1.一种基于时空特征融合的日志异常检测方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种基于时空特征融合的日志异常检测方法,其特征在于:所述步骤1从计算机软件系统的历史运行日志记录数据库中提取若干原始的日志流数据为样本,结合滑动窗口或会话窗口对流数据进行序列片段划分,构建系统正常运转模式下的日志原始样本数据序列集合。
3.根据权利要求2所述的一种基于时空特征融合的日志异常检测方法,其特征在于:所述步骤2的具体方法为:
4.根据权利要求3所述的一种基于时空特征融合的日志异常检测方法,其特征在于:所述步骤3的具体方法为:
5.根据权利要求4所述的一种基于时空特征融合的日志异常检测方法,其特征在于:所述步骤4将步骤3得到的涵盖语义数字信息的日志模板向量序列表示作为时间异常检测模型的输入,通过时间异常检测模型计算得到涵盖语义数字信息的日志模板向量序列的时间维度特征向量表示T,以帮助迭代LSTM网络模型的参数。
6.根据权利要求5所述的一种基于时空特征融合的日志异常检测方法,其特征在于:所述步骤5的具体方法为:
...【技术特征摘要】
1.一种基于时空特征融合的日志异常检测方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种基于时空特征融合的日志异常检测方法,其特征在于:所述步骤1从计算机软件系统的历史运行日志记录数据库中提取若干原始的日志流数据为样本,结合滑动窗口或会话窗口对流数据进行序列片段划分,构建系统正常运转模式下的日志原始样本数据序列集合。
3.根据权利要求2所述的一种基于时空特征融合的日志异常检测方法,其特征在于:所述步骤2的具体方法为:
4.根据权利要求3所述的一种基于时空特征融合的日志异常检测方法,其特征在于:所述步骤3的具体方法为:
5.根据权利要求4所述的一种基于时空特征融合的日志异常检测方法,其特征在于:所述步骤4将步骤3得到的涵盖语义数字信息的日志模板向量序列表示作为时间异常检测模型的输入,通过时间异常检测模型计算得到涵盖语义数字信息的日志模板向量序列的时间维...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。