System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于文本分析和异常检测,尤其涉及基于时序日志的服务器异常检测方法。
技术介绍
1、在信息系统的日常运营中,服务器会产生大量的状态指标数据,如cpu使用率、内存占用率、磁盘i/o速率、网络带宽等。这些数据不仅反映了服务器的当前运行状态,还蕴含着系统未来的变化趋势。然而,由于各种内外部因素的干扰,如硬件故障、软件漏洞、网络攻击等,服务器状态指标数据可能会出现异常波动,进而影响信息系统的正常运行。
2、传统的异常检测方法,如阈值判断、统计分析等,往往依赖于人工设定的规则和阈值,难以适应复杂多变的服务器运行环境。此外,这些方法在处理时序数据时存在局限性,无法有效捕捉数据之间的时间依赖关系和长期趋势。因此,迫切需要一种能够自动、准确地识别服务器状态指标数据异常的智能方法。
3、在信息系统中,针对服务器状态指标数据的异常检测,现有技术中采用了一种基于统计模型的异常检测方法,主要通过统计模型捕捉数据中的趋势和周期性变化,从而预测服务器状态的正常范围。设定一个阈值,当实际数据偏离预测值的程度超过该阈值时,即认为发生了异常。系统会根据预设的报警机制,向管理员发送异常报警信息,以便及时采取措施进行处理。但是存在两点问题:一是统计模型对于复杂多变的服务器运行环境适应性较差,难以准确捕捉数据中的非线性关系和长期依赖关系;二是阈值的设定依赖于人工经验,缺乏自动调整机制,可能导致误报或漏报现象的发生。
技术实现思路
1、本专利技术的目的是解决统计模型对于复杂多变的服务器运行环
2、为实现上述目的,本专利技术提供了一种基于时序日志的服务器异常检测方法,包括以下步骤:
3、s1、获取服务器性能日志数据,即实时获取服务器的性能日志数据,包括cpu使用率、内存占用、磁盘i/o关键指标数据;
4、s2、对步骤s1中的服务器性能日志数据进行预处理;并且服务器性能日志数据的70%为训练集,30%为测试集;
5、s3、将自编码模块作为基本框架,在自编码模块的编码器中引入bilstm模型构建bilstm编码器,解码器中引入注意力机制构建单向lstm解码器,从而构建异常检测模型;
6、s4、将步骤s2中的训练集输入步骤s3中的异常检测模型进行向前传播,通过计算mse损失函数并进行反向传播更新模型的参数w和b来优化模型的性能;根据mse损失函数与设定阈值关系,判定服务器性能日志数据是否为异常数据;
7、s5、模型的评估,通过precision、recall以及f1-score关键指标以及roc曲线和auc值来评估模型的优劣。
8、进一步的,步骤s2中预处理的具体方法:
9、s201、将步骤s1中的数据根据主流服务器性能kpi进行筛选;
10、s202、根据@timestamp字段按照时间顺序排列,构建时间序列数据;
11、s203、删除空值、负值以及未发生变化的异常数,确保数据的质量和一致性;
12、s204、去除数据单位并转换为float数值数据;
13、s205、对数据进行归一化处理,利用standardscaler库进行数据标准化,使每个特征均值为0,标准差为1。
14、进一步的,步骤s3的具体实施方式:
15、s301、构建自编码模块,自编码器由编码器层φe:rf→rf、隐藏层、解码器层φd:rf→rf组成,其中隐藏层保存低维特征z;
16、编码器将高维f的特征空间的样本x通过压缩将其映射到低维f潜在的低维特征z,θe表示编码器对应的权重参数,具体公式为z=φe(x;θe);
17、解码器φd将潜在的低维特征z进行重构,将其映射回与原始样本x相似并具有相同特征维度的样本x′,θd表示解码器对应的权重参数,具体公式为x′=φd(z;θd);
18、s302、构建bilstm编码器,并通过bilstm编码器生成一个包含输入序列中双向依赖关系的内部表示,即隐藏状态ht;
19、s303、引入注意力机制构建单向lstm解码器,lstm解码器根据单向lstm来生成重构数据。
20、进一步的,步骤s302中具体实施过程如下:
21、bilstm编码器包含输入层、前向lstm和后向lstm三个层级,bilstm编码器的构建过程如下:
22、
23、输入层接受原始输入序列x={x1,x2,x3......xt},其中xt是第t个时间步的输入向量,t是最大序列长度;前向lstm层从序列的开始到结束处理输入,得到前向lstm的隐藏状态后向lstm则从序列的结束到开始处理输入,得到后向lstm的隐藏状态双向lstm的输出ht为解码器最终的隐藏状态,代表在处理到当前时间步t为止的输入序列后所“记住”的信息,包括时间依赖性、模式、上下文等,其中“;”表示对两个向量的拼接,t=1,2,3…t;
24、输出潜在低维特征表示z,选择编码器的最后一个隐藏状态ht作为潜在的低维特征表示z=ht。
25、进一步的,步骤s303中具体实施过程如下:
26、(1)计算解码器隐藏状态st':lstm层将计算解码器的隐藏状态st',对于每一个时间步t′的隐藏状态st',根据上一时间步的隐藏状态st'-1和编码器输出的潜在低维特征表示z计算出来;
27、st'=lstm(z,st'-1)
28、(2)构建注意力机制:根据解码器在每个时间步t′的隐藏状态st'对编码器最终隐藏状态ht之间的相关性来生成一个上下文向量c′t;具体如下:
29、计算注意力得分et,t'=vttanh(w1ht+w2st'),表示解码器在时间步t′对编码器在时间步t的关注度;v,w1,w2是注意力机制的参数;
30、计算注意力权重通过softmax函数将注意力得分转换成概率分布,使其所有权重和值为1;
31、计算上下文向量表示解码器在时间步t′对编码器所有隐藏状态ht的加权和;
32、(3)解码器输出:将编码器的输出的隐藏状态转换回与输入序列相同或相似长度的输出序列;将上下文向量ct′与解码器隐藏状态st'结合起来,通过全连接层生成输出重构数据w是权重矩阵、b是偏置项,在模型的最开始阶段随机生成,通过不断训练得到最优参数值;其重构数据计算公式如下:
33、
34、进一步的,步骤s4中mse损失函数的计算公式:
35、
36、阈值主要是基于训练数据的统计分析,计算公式如下:
37、threshold=μ+kσ
38、其中μ为训练集上的重构误差均值,σ为训练集上的重构误差标准差,k是一个常数表示容忍的误差范围;当mse损失函数超过设定阈值,则判定为异常数据;否则,判定为正常数据。
本文档来自技高网...
【技术保护点】
1.一种基于时序日志的服务器异常检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述基于时序日志的异常检测方法,其特征在于,步骤S2中预处理的具体方法:
3.根据权利要求1所述基于时序日志的服务器异常检测方法,其特征在于,步骤S3的具体实施方式:
4.根据权利要求3所述基于时序日志的服务器异常检测方法,其特征在于,步骤S302中具体实施过程如下:
5.根据权利要求3所述基于时序日志的服务器异常检测方法,其特征在于,步骤S303中具体实施过程如下:
6.根据权利要求1所述基于时序日志的服务器异常检测方法,其特征在于,步骤S4中MSE损失函数的计算公式:
7.根据权利要求1所述基于时序日志的服务器异常检测方法,其特征在于,步骤S5中Precision、Recall以及F1-score关键指标以及ROC曲线和AUC值的计算方法:
【技术特征摘要】
1.一种基于时序日志的服务器异常检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述基于时序日志的异常检测方法,其特征在于,步骤s2中预处理的具体方法:
3.根据权利要求1所述基于时序日志的服务器异常检测方法,其特征在于,步骤s3的具体实施方式:
4.根据权利要求3所述基于时序日志的服务器异常检测方法,其特征在于,步骤s302中具体实施过程如下:
...
【专利技术属性】
技术研发人员:刘军,杨飙,陈志谦,金林,粘书元,
申请(专利权)人:成都理工大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。