一种基于异常检测的系统健康度智能监测评估方法与流程

未命名 07-12 阅读:113 评论:0


1.本发明涉及智能运维领域,尤其涉及一种基于异常检测的系统健康度智能监测评估方法。


背景技术:

2.随着产业数字化不断加速,各行业都在进行数字化转型,同时5g时代的到来,使得移动业务快速增长,业务请求日益复杂,服务渠道不断扩大。互联网应用高速发展给行业的发展带来助力的同时,也给传统运维带来了极大的挑战。
3.传统的监控工具主要是针对资源层次的监控,关注各种资源的运行状况,只能反映各组件是否正常运行,但没有对业务系统的运行状况进行整体上的评估。在传统的自动化运维体系中,重复性运维工作的人力成本和效率问题得到了解决。但对于复杂场景仍需要人来掌控决策的过程,这阻碍了运维效率的进一步提升。如何合理地运用人工智能技术来真实、全局地反映当前系统实际健康状况就显得尤为重要。
4.传统的监控工具的缺陷:传统运维工具主要是直接对单个指标进行监控,只能反映各指标数据是否在正常范围内,无法全局地反映当前系统实际健康状况。同时运维工具过于专业化,数据分析高度依赖系统开发和安全技术人员,而在实际情况下,技术人员难以处理海量监控数据,需要耗费大量人力成本。
5.传统自动化运维的缺陷:指标告警阀值的设置依赖专家经验,无法科学设置。随着业务的变化,部分指标会呈现动态变化的趋势,现有传统自动化运维缺乏为此指标建立动态基线的能力。常规的阈值告警对故障的容忍度较低,误报率较高。
6.目前健康度评估方法存在人力成本高、难以实现自适应业务变化、无法全局反映系统整体健康度等问题。


技术实现要素:

7.本发明的目的在于针对现有技术的不足,本发明提出了一种基于异常检测的系统健康度智能监测评估方法。本发明通过将海量指标数据进行形态划分,为不同类型的指标数据设计不同异常检测算法,提升异常检测的效率和准确率。结合无监督异常检测算法,对影响系统健康度的关键指标进行异常检测,获得指标的异常标签和异常程度。采用“层次分析法”为基础的专家体系,为系统中的关键指标设定权重值,对关键指标的健康度进行加权求和,最终获取所述系统的健康度评分,能够直观的反映系统总体的健康状况。
8.本发明的目的是通过如下技术方案实现的:一种基于异常检测的系统健康度智能监测评估方法,包括以下步骤:
9.(1)关键指标提取:将采集到的系统监控数据进行提取和预处理,得到关键指标数据,所述提取包括关键指标选取和指标数据提取;所述系统监控数据具体为负载均衡器对每条请求进行监听所产生的日志文件数据;所述关键指标具体为能够从日志文件中提取的成功率、响应时间、请求数和并发数四个指标;
10.(2)指标异常检测:对处理好的关键指标数据设计出一套无监督指标异常检测模型,对海量数据进行异常检测;具体包括指标形态分类、异常检测算法和异常量化评分;
11.(3)系统健康度评估:采用“层次分析法”为基础的专家体系,结合指标异常检测的结果,对关键指标的健康度进行加权求和,得到整体系统健康度评估结果;所述专家体系为结合了运维专家的意见所建立的权重体系。
12.进一步地,所述步骤(1)中关键指标提取,包括以下子步骤:
13.(1.1)获取系统监控日志数据,完成关键指标选取操作,将关键指标从原始数据中提取出来,保留需要的指标字段;
14.(1.2)数据划分,将步骤(1.1)中获取的数据按照系统名称和时间进行数据划分,时间间隔为一个月;
15.(1.3)对不同系统和访问渠道url,以分钟为维度,为四个关键指标设定计数器,其中响应时间和成功率以url为维度统计,请求数和并发数以系统为维度统计;
16.(1.4)逐条分析传入的监控日志数据,对日志中的关键指标进行提取和计算,更新计数器状态;
17.(1.5)重复步骤(1.3)和步骤(1.4),直至系统某月数据读取完毕;
18.(1.6)根据关键指标计数器,计算某该系统某月中所有分钟成功率、响应时间、请求数和并发数四个指标的数值并保存;
19.(1.7)重复步骤(1.33)至步骤(1.6),直至所有监控日志数据处理完毕;
20.(1.8)数据去噪,基于3-sigma算法对数据进行去噪处理,减少噪声带来的影响;
21.(1.9)缺失值填充,利用均值的方法对数据中的缺失值进行填充;
22.(1.10)时间戳转换,将数据中的时间戳格式转换到统一格式,进而后续处理;
23.(1.11)时间顺序排序,按照时间顺序对数据进行排序。
24.进一步地,所述步骤(2)中指标异常检测,具体包括指标形态分类、异常检测算法和异常量化评分。
25.进一步地,所述指标形态分类,具体包括以下子步骤:
26.(3.1)获取关键指标数据,对数据量进行检验,数据量小于阈值的指标判断为其他类型数据,反之,则进入步骤(3.2);
27.(3.2)基于同比的思想,对数据进行归一化和差分处理,判断数据是否具有周期性;若是,则数据为周期型数据、反之,则进入步骤(3.3);
28.(3.3)基于小波变换和计算整体方差的方法,获得数据的局部波动和全局波动,若全局波动远大于局部波动,则为趋势型数据;若全局波动近似于局部波动,则为数据稳定型,进入步骤(3.4);若两种条件都不满足,则数据为其他类型;
29.(3.4)计算均值和最值,所述均值代表数据的整体分布,所述最值代表异常值的分布,比较异常值与整体数据分布的偏移,若偏移量大于阈值,则为突变稳定型;反之则为常规稳定型。
30.进一步地,所述异常检测算法使用基于机器学习的方法或基于深度的学习方法;所述基于机器学习的方法是利用固定阈值法和孤立森林法两种不同的异常检测算法,针对周期型,趋势型和稳定型三种类型进行检测;具体为对周期型和趋势型指标进行空间转换,进而转换成常规稳定型指标数据,最后对常规稳定型数据采用固定阈值法进行检测,对突
变稳定型数据采用孤立森林法进行检测;所述基于深度学习的方法只对周期型数据进行异常检测,是将周期型数据输入到深度学习模型中进行训练和预测,对比预测值和真实值的差距,得到异常检测的结果。
31.进一步地,所述基于机器学习的异常检测算法,具体包括以下子步骤:
32.(4.1)指标数据空间转换,对于周期型数据,采用同比空间转换将其转为稳定型数据;对于趋势型数据,采用环比空间转换将其转换为稳定型数据;
33.所述同比空间转换的公式如下:
[0034][0035]
其中,x
t
为当前时刻数据,k表示周期数量,t为当前指标数据的周期,w为设定的时间窗口大小,mean()表示求数据的均值,std()表示求数据的标准差。
[0036]
数据进行同比变换为计算历史上相同时间窗口内数据的均值和标准差,然后计算当前点的同比值,即当前点的值减去均值之后再除以标准差;
[0037]
所述环比空间转换的公式如下:
[0038][0039]
其中,x
t
为当前时刻数据,w为设定的时间窗口大小。
[0040]
数据进行环比变换实际上就是求取数据最近两个窗口的均值变化比例;
[0041]
(4.2)指标数据异常检测,转换后的周期型数据、转换后的趋势型数据以及常规稳定型数据采用固定阈值法进行异常检测,突变稳定型数据采用孤立森林法进行异常检测;
[0042]
所述,基于深度学习的异常检测算法流程依照以下步骤进行:
[0043]
(5.1)数据分割,采用滑窗分割的方法,将时序数据转换成有监督的样本;滑窗提取的特征是预测值前一小时的数据和前10天同时刻前后5分钟数据;
[0044]
(5.2)数据差分变换,差分变换是用当前值减去前一天同一时刻的值;
[0045]
(5.3)数据归一化,基于最大最小归一化思想,对数据进行归一化处理,;
[0046]
(5.4)lstm模型训练,基于lstm算法原理进行训练,获得lstm预测模型;
[0047]
(5.5)待测值输入模型,得到异常标签。
[0048]
具体地,所述固定阈值法异常检测包括以下子步骤:
[0049]
(6.1)数据变换,以五分钟为时间粒度对数据进行窗口划分,求得窗口内指标数据的均值。数据变换能够剔除单点毛刺现象导致的无效告警问题,减少误报率;
[0050]
(6.2)n-sigma模型训练,基于n-sigma算法原理,根据(1)中历史数据计算指标的阈值;
[0051]
(6.3)待测值输入模型,得到异常标签。
[0052]
具体地,所述孤立森林法异常检测包括以下子步骤:
[0053]
(7.1)指标特征选取,采用多维特征综合判断异常,共选取六个特征值来进行判断,选取的特征有:当前值、前1分钟值与当前值的差值、前2分钟值与当前值的差值、前5分钟值与当前值的差值、前1天同时刻前后5分钟均值与当前值的差值、前5天同时刻前后5分
钟均值与当前值的差值;
[0054]
(7.2)孤立森林模型训练,根据提取的特征值,基于孤立森林算法原理进行训练,获取孤立森林模型;
[0055]
(7.3)待测值输入模型,得到异常标签。
[0056]
具体地,所述步骤(3)中的异常量化评分包含两种异常量化评分算法,即基于sigmoid函数计算公式的量化评分算法和基于孤立森林法的化评分算法,具体为:
[0057]
所述基于sigmoid计算公式的量化评分算法流程依照以下子步骤进行:
[0058]
(6.1)判断异常标签,若为正常,则异常评分赋为0,反之,进入步骤(6.2);
[0059]
(6.2)指标数据标准化,消除不同数量极的指标数据对异常评分带来的影响;
[0060]
(6.3)传入sigmoid公式,得到异常评分,sigmoid函数能够将数据缩放到[0,1]之间,消除数据间的差异,方便后续对整体系统健康度的计算;sigmoid函数表示如下:
[0061][0062]
所述基于孤立森林法的化评分算法流程依照以下子步骤进行:
[0063]
(7.1)判断异常标签,若为正常,则异常评分赋为0,反之,进入步骤(7.2);
[0064]
(7.2)计算pathlength,即划分路径长度,为下一步对异常度的计算做准备。具体公式如下:
[0065]
h(x)=e+c(t.size)
[0066]
其中e为某样本从树的根节点到叶节点的过程中经历的边的个数,即split次数;t.size表示和样本x同在一个叶子结点样本的个数,c(t.size)可以看做一个修正值,表示t.size个样本构建一个二叉树的平均路径长度,c(n)计算公式如下:
[0067][0068]
其中,0.5772156649为欧拉常数;
[0069]
最后采用归一化的方式,把样本落入叶子结点经过的边的值域映射到0-1之间;其公式如下:
[0070][0071]
其中:h(x)为样本在itree上的pathlength。e(h(x))为样本在t棵itree的pathlength的均值;c(n)为n个样本构建一个bst二叉树的平均路径长度。
[0072]
进一步地,所述步骤(3)中系统健康度评估模块流程包括以下子步骤:
[0073]
(8.1)判断关键指标是否是响应时间或成功率,若是则执行步骤(8.2),反之则跳至步骤(8.4);
[0074]
(8.2)将来自同一系统不同访问渠道url的指标数据按照系统维度进行数据合并,并按时间顺序排序;
[0075]
(8.3)合并指标异常度计算,将同一时间的异常度进行求和平均,获取响应时间和
成功率在系统维度的异常度;
[0076]
(8.4)基于层次分析法的指标权重分析体系,为四个关键指标设置权重,采用加权求和的方法,获得系统整体健康度;具体计算公式表示如下:
[0077]
系统健康度=100-qps_rate*qps-concurrent_rate*concurrent
[0078]-suc_rate*suc-rtime_rate*rtime
[0079]
其中qps_rate代表请求数的权重,qps代表请求数的异常度,concurrent_rate代表并发数的权重,concurrent_rate代表并发数的异常度,suc_rate代表成功率的权重,suc代表成功率的异常度,rtime_rate代表平均响应时间的权重,rtime代表平均响应时间的异常度。
[0080]
本发明的有益效果是:结合指标形态自动划分决策树和异常检测算法实现的系统健康度智能监测评估技术,能够满足输出系统健康度的应用需求。指标自动划分及异常检测算法效果表现较为优秀,在检测速度和精度方面均能满足实际应用需求。
[0081]
通过本方案,可以弥补传统方式过于依赖专业技术人员,耗费大量人力成本进行运维的局限性,通过指标分类决策树,自动划分类型、匹配检测算法,使得异常检测完全自动化;同时通过对系统健康度进行多维度的评估,整体、全局地获取系统真实的健康状况,帮助运维人员及时响应系统问题,提高运维效率,降低运维成本。
附图说明
[0082]
图1是系统健康度智能检测评估方案设计图;
[0083]
图2是基于机器学习的异常检测算法流程图;
[0084]
图3是基于深度学习的异常检测算法流程图;
[0085]
图4是系统健康度评估模块实现流程图。
具体实施方式
[0086]
本发明的总体算法设计方案如下:
[0087]
如图1所示,本发明一种基于异常检测的系统健康度智能监测评估方法,共包含三个模块。
[0088]
(1)关键指标提取,将采集到的系统监控数据进行提取和预处理,得到关键指标数据。具体包括关键指标选取和指标数据提取。本方案中系统监控数据具体为负载均衡器对每条请求进行监听所产生的日志文件数据,关键指标具体为能够从日志文件中提取的成功率、响应时间、请求数和并发数四个指标。
[0089]
(2)指标异常检测,对处理好的关键指标数据设计一套行之有效的无监督指标异常检测模型,对海量数据进行高效地异常检测。具体包括指标形态分类、异常检测算法和异常量化评分。
[0090]
(3)系统健康度评估,采用“层次分析法”为基础的专家体系,结合指标异常检测的结果,对关键指标的健康度进行加权求和,得到整体系统健康度评估结果。
[0091]
所述健康度是对指标的健康状况的打分,如果指标检测出来是很正常的,那么它的健康度就接近于1,如果检测出来是异常的,那么它的健康度就接近于0。
[0092]
所述关键指标提取模块设计方案:具体实现步骤如下:
[0093]
(1.1)获取系统监控日志数据,完成关键指标选取操作,将关键指标从原始数据中提取出来,保留需要的指标字段。
[0094]
(1.2)数据划分,将步骤(1)中获取的数据按照系统名称和时间进行数据划分,时间间隔为一个月。避免太多数据存在内存中而带来的内存溢出问题。
[0095]
(1.3)对不同系统和访问渠道url,以分钟为维度,为四个关键指标设定计数器,其中响应时间和成功率以url为维度统计,请求数和并发数以系统为维度统计;所述url为访问网站的地址。
[0096]
(1.4)逐条分析传入的监控日志数据,对日志中的关键指标进行提取和计算,更新计数器状态。
[0097]
(1.5)重复步骤(3)和步骤(4),直至某系统某月数据读取完毕。
[0098]
(1.6)根据关键指标计数器,计算某该系统某月中所有分钟成功率、响应时间、请求数和并发数四个指标的数值并保存。
[0099]
(1.7)重复步骤(3)至步骤(6),直至所有监控日志数据处理完毕。
[0100]
(1.8)数据去噪,基于3-sigma算法对数据进行去噪处理,减少噪声带来的影响。
[0101]
(1.9)缺失值填充,基于均值的方法对数据中的缺失值进行填充。
[0102]
(1.10)时间戳转换,将数据中的时间戳格式转换到统一格式,方便后续处理。
[0103]
(1.11)时间顺序排序,按照时间顺序对数据进行排序,保证数据的有序性。
[0104]
所述指标异常检测模块设计方案:指标异常检测模块共包含三个子模块,分别是指标形态分类、异常检测算法和异常量化评分。
[0105]
(2.1)指标形态分类,本发明结合同比、小波变换等思想,设计指标形态划分决策树,对海量的指标数据进行自动类型划分提高划分效率,使划分更准确,并且当数据形态发生变化或有新数据加入时,能重新进行类型划分,适应数据变化。
[0106]
(2.2)异常检测算法,本发明结合机器学习和深度学习算法对各个形态的指标数据设计不同的异常检测算法,对指标进行异常检测,得到指标在各个时刻的异常情况。
[0107]
(2.3)异常量化评分,本发明为异常检测算法设计了两套指标异常评分算法,对指标的异常度进行衡量。将不同指标的异常情况归一化到[0,1]之间,便于后续用加权求和法对系统健康度进行整体评估。
[0108]
下面分别对指标异常检测模块的三个子模块进行详细地描述:
[0109]
所述指标形态分类子模块设计方案,具体实现步骤如下:
[0110]
(3.1)获取关键指标数据,对数据量进行检验,数据量小于阈值的指标判断为其他类型数据,反之,则进入步骤(3.2)。
[0111]
(3.2)基于同比的思想,对数据进行归一化和差分处理,判断数据是否具有周期性。若是,则数据为周期型数据、反之,则进入步骤(3.3)。
[0112]
(3.3)基于小波变换和计算整体方差的方法,获得数据的局部波动和全局波动,若全局波动远大于局部波动,则数据是趋势类型。若全局波动近似于局部波动,则是数据稳定型,进入步骤(3.4)。若两种条件都不满足,则数据是其他类型。
[0113]
(3.4)计算均值和最值,均值代表数据整体分布情况,最值代表异常值分布情况,比较异常值与整体数据分布的偏移情况,若偏移量大于阈值,则为突变稳定型。反之则为常规稳定型。
[0114]
所述异常检测算法子模块设计方案
[0115]
本发明对于趋势型、稳定型数据,设计了基于机器学习的方法,而对于周期型数据,设计了基于机器学习和基于深度学习两套方法进行检测。
[0116]
本发明为周期型,趋势型和稳定型三种类型的数据设计了两套不同的异常检测算法。第一套是基于机器学习的方法,其中又包含了两种不同的异常检测算法,分别是固定阈值法和孤立森林法,它能对周期型,趋势型和稳定型三种类型进行检测。在这套方法中对周期型和趋势型指标进行空间转换,将它们转换成常规稳定型指标数据。最后对于常规稳定型数据采用固定阈值法进行检测,对于突变稳定型数据采用孤立森林法进行检测。第二套是基于深度学习的方法,它只对周期型数据进行异常检测。在这套方法中,将周期型数据输入到深度学习模型中进行训练和预测,对比预测值和真实值的差距,实现异常检测的效果。
[0117]
如图2所示,所述基于机器学习的异常检测算法流程依照以下步骤进行:
[0118]
(4.1)指标数据空间转换,对于周期型数据,采用同比空间转换将其转为稳定型;对于趋势型数据,采用环比空间转换将其转换为稳定型。
[0119]
所述同比空间转换的公式如下:
[0120][0121]
其中,x
t
为当前时刻数据,k表示周期数量,t为当前指标数据的周期,w为设定的时间窗口大小,mean()表示求数据的均值,std()表示求数据的标准差。
[0122]
数据进行同比变换实际上就是计算历史上相同时间窗口内数据的均值和标准差,然后计算当前点的同比值,即当前点的值减去均值之后再除以标准差。
[0123]
所述环比空间转换的公式如下:
[0124][0125]
其中,x
t
为当前时刻数据,w为设定的时间窗口大小。
[0126]
数据进行环比变换实际上就是求取数据最近两个窗口的均值变化比例。
[0127]
(4.2)指标数据异常检测,转换后的周期型数据、转换后的趋势型数据以及常规稳定型数据采用固定阈值法进行异常检测,突变稳定型数据采用孤立森林法进行异常检测。
[0128]
(4.3)指标数据异常检测,将数据传入基于机器学习的方法中进行异常检测。
[0129]
所述固定阈值法异常检测流程依照以下步骤进行:
[0130]
(5.1)数据变换,以五分钟为时间粒度对数据进行窗口划分,求得窗口内指标数据的均值。数据变换能够剔除单点毛刺现象导致的无效告警问题,减少误报率。
[0131]
(5.2)n-sigma模型训练,基于n-sigma算法原理,根据(1)中历史数据计算指标的阈值。
[0132]
(5.3)待测值输入模型,得到异常标签。
[0133]
所述孤立森林法异常检测流程依照以下步骤进行:
[0134]
(6.1)指标特征选取,采用多维特征综合判断异常,共选取六个特征值来进行判断,选取的特征有:当前值、前1分钟值与当前值的差值、前2分钟值与当前值的差值、前5分
钟值与当前值的差值、前1天同时刻前后5分钟均值与当前值的差值、前5天同时刻前后5分钟均值与当前值的差值。
[0135]
(6.2)孤立森林模型训练,根据提取的特征值,基于孤立森林算法原理进行训练,获取孤立森林模型。
[0136]
(6.3)待测值输入模型,得到异常标签。
[0137]
如图3所示,基于深度学习的异常检测算法流程依照以下步骤进行:
[0138]
(7.1)数据分割,采用滑窗分割的方法,将时序数据转换成有监督的样本;滑窗提取的特征是预测值前一小时的数据和前10天同时刻前后5分钟数据。
[0139]
(7.2)数据差分变换,差分变换是用当前值减去前一天同一时刻的值;消除数据的季节变动和周期性的影响,使数据趋于平稳。
[0140]
(7.3)数据归一化,基于最大最小归一化思想,对数据进行归一化处理,能够提高后续模型训练的准确性。
[0141]
(7.4)lstm模型训练,基于lstm算法原理,进行训练,获得lstm预测模型。
[0142]
(7.5)待测值输入模型,得到异常标签
[0143]
所述异常量化评分子模设计方案:本发明共设计了两种异常量化评分算法,分别详细介绍如下:
[0144]
基于sigmoid计算公式的量化评分算法流程依照以下步骤进行:
[0145]
(8.1)判断异常标签,若为正常,则异常评分赋为0,反之,进入步骤(2)。
[0146]
(8.2)指标数据标准化,消除不同数量极的指标数据对异常评分带来的影响。
[0147]
(8.3)传入sigmoid公式,得到异常评分,sigmoid函数能够将数据缩放到[0,1]之间,消除数据间的差异,方便后续对整体系统健康度的计算。sigmoid函数表示如下:
[0148][0149]
基于孤立森林法的化评分算法流程依照以下步骤进行:
[0150]
(9.1)判断异常标签,若为正常,则异常评分赋为0,反之,进入步骤(2)。
[0151]
(9.2)计算pathlength,即划分路径长度,为下一步对异常度的计算做准备。具体公式如下:
[0152]
h(x)=e+c(t.size)
[0153]
其中e为某样本从树的根节点到叶节点的过程中经历的边的个数,即split次数。t.size表示和样本x同在一个叶子结点样本的个数,c(t.size)可以看做一个修正值,表示t.size个样本构建一个二叉树的平均路径长度,c(n)计算公式如下:
[0154][0155]
其中,0.5772156649为欧拉常数
[0156]
采用归一化的方式,把样本落入叶子结点经过的边的值域映射到0-1之间。其具体公式如下:
[0157][0158]
其中:h(x)为样本在itree上的pathlength。e(h(x))为样本在t棵itree的pathlength的均值。c(n)为n个样本构建一个bst二叉树的平均路径长度。
[0159]
所述系统健康度评估模块设计方案:如图4所示,系统健康度评估模块流程依照以下步骤进行:
[0160]
(10.1)判断关键指标是否是响应时间或成功率,若是则执行步骤(10.2),反之则跳至步骤(10.4)。
[0161]
(10.2)将来自同一系统不同访问渠道(url)的指标数据按照系统维度进行数据合并,并按时间顺序排序。
[0162]
(10.3)合并指标异常度计算,将同一时间的异常度进行求和平均,获取响应时间和成功率在系统维度的异常度。
[0163]
(10.4)基于层次分析法的指标权重分析体系,为四个关键指标设置权重,采用加权求和的方法,获得系统整体健康度。具体计算公式表示如下:
[0164]
系统健康度=100-qps_rate*qps-concurrent_rate*concurrent
[0165]-suc_rate*suc-rtime_rate*rtime
[0166]
其中qps_rate代表请求数的权重,qps代表请求数的异常度,concurrent_rate代表并发数的权重,concurrent_rate代表并发数的异常度,suc_rate代表成功率的权重,suc代表成功率的异常度,rtime_rate代表平均响应时间的权重,rtime代表平均响应时间的异常度。
[0167]
以上所述实施例表达了本发明的具体实施方式,其描述较为具体和详细,旨在用于帮助理解本发明的方法及其核心思想,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

技术特征:
1.一种基于异常检测的系统健康度智能监测评估方法,其特征在于,包括以下步骤:(1)关键指标提取:将采集到的系统监控数据进行提取和预处理,得到关键指标数据,所述提取包括关键指标选取和指标数据提取;所述系统监控数据具体为负载均衡器对每条请求进行监听所产生的日志文件数据;所述关键指标具体为能够从日志文件中提取的成功率、响应时间、请求数和并发数四个指标;(2)指标异常检测:对处理好的关键指标数据设计出一套无监督指标异常检测模型,对海量数据进行异常检测;具体包括指标形态分类、异常检测算法和异常量化评分;(3)系统健康度评估:采用“层次分析法”为基础的专家体系,结合指标异常检测的结果,对关键指标的健康度进行加权求和,得到整体系统健康度评估结果;所述专家体系为结合了运维专家的意见所建立的权重体系。2.根据权利要求1所述的一种基于异常检测的系统健康度智能监测评估方法,其特征在于,所述步骤(1)中关键指标提取,包括以下子步骤:(1.1)获取系统监控日志数据,完成关键指标选取操作,将关键指标从原始数据中提取出来,保留需要的指标字段;(1.2)数据划分,将步骤(1.1)中获取的数据按照系统名称和时间进行数据划分,时间间隔为一个月;(1.3)对不同系统和访问渠道url,以分钟为维度,为四个关键指标设定计数器,其中响应时间和成功率以url为维度统计,请求数和并发数以系统为维度统计;(1.4)逐条分析传入的监控日志数据,对日志中的关键指标进行提取和计算,更新计数器状态;(1.5)重复步骤(1.3)和步骤(1.4),直至系统某月数据读取完毕;(1.6)根据关键指标计数器,计算某该系统某月中所有分钟成功率、响应时间、请求数和并发数四个指标的数值并保存;(1.7)重复步骤(1.33)至步骤(1.6),直至所有监控日志数据处理完毕;(1.8)数据去噪,基于3-sigma算法对数据进行去噪处理,减少噪声带来的影响;(1.9)缺失值填充,利用均值的方法对数据中的缺失值进行填充;(1.10)时间戳转换,将数据中的时间戳格式转换到统一格式,进而后续处理;(1.11)时间顺序排序,按照时间顺序对数据进行排序。3.根据权利要求1所述的一种基于异常检测的系统健康度智能监测评估方法,其特征在于,所述步骤(2)中指标异常检测,具体包括指标形态分类、异常检测算法和异常量化评分。4.根据权利要求3所述的一种基于异常检测的系统健康度智能监测评估方法,其特征在于,所述指标形态分类,具体包括以下子步骤:(3.1)获取关键指标数据,对数据量进行检验,数据量小于阈值的指标判断为其他类型数据,反之,则进入步骤(3.2);(3.2)基于同比的思想,对数据进行归一化和差分处理,判断数据是否具有周期性;若是,则数据为周期型数据、反之,则进入步骤(3.3);(3.3)基于小波变换和计算整体方差的方法,获得数据的局部波动和全局波动,若全局波动远大于局部波动,则为趋势型数据;若全局波动近似于局部波动,则为数据稳定型,进
入步骤(3.4);若两种条件都不满足,则数据为其他类型;(3.4)计算均值和最值,所述均值代表数据的整体分布,所述最值代表异常值的分布,比较异常值与整体数据分布的偏移,若偏移量大于阈值,则为突变稳定型;反之则为常规稳定型。5.根据权利要求3所述的一种基于异常检测的系统健康度智能监测评估方法,其特征在于,所述异常检测算法使用基于机器学习的方法或基于深度的学习方法;所述基于机器学习的方法是利用固定阈值法和孤立森林法两种不同的异常检测算法,针对周期型,趋势型和稳定型三种类型进行检测;具体为对周期型和趋势型指标进行空间转换,进而转换成常规稳定型指标数据,最后对常规稳定型数据采用固定阈值法进行检测,对突变稳定型数据采用孤立森林法进行检测;所述基于深度学习的方法只对周期型数据进行异常检测,是将周期型数据输入到深度学习模型中进行训练和预测,对比预测值和真实值的差距,得到异常检测的结果。6.根据权利要求5所述的一种基于异常检测的系统健康度智能监测评估方法,其特征在于,所述基于机器学习的异常检测算法,具体包括以下子步骤:(4.1)指标数据空间转换,对于周期型数据,采用同比空间转换将其转为稳定型数据;对于趋势型数据,采用环比空间转换将其转换为稳定型数据;所述同比空间转换的公式如下:其中,x
t
为当前时刻数据,k表示周期数量,t为当前指标数据的周期,w为设定的时间窗口大小,mean()表示求数据的均值,std()表示求数据的标准差。数据进行同比变换为计算历史上相同时间窗口内数据的均值和标准差,然后计算当前点的同比值,即当前点的值减去均值之后再除以标准差;所述环比空间转换的公式如下:其中,x
t
为当前时刻数据,w为设定的时间窗口大小。数据进行环比变换实际上就是求取数据最近两个窗口的均值变化比例;(4.2)指标数据异常检测,转换后的周期型数据、转换后的趋势型数据以及常规稳定型数据采用固定阈值法进行异常检测,突变稳定型数据采用孤立森林法进行异常检测;所述,基于深度学习的异常检测算法流程依照以下步骤进行:(5.1)数据分割,采用滑窗分割的方法,将时序数据转换成有监督的样本;滑窗提取的特征是预测值前一小时的数据和前10天同时刻前后5分钟数据;(5.2)数据差分变换,差分变换是用当前值减去前一天同一时刻的值;(5.3)数据归一化,基于最大最小归一化思想,对数据进行归一化处理,;(5.4)lstm模型训练,基于lstm算法原理进行训练,获得lstm预测模型;(5.5)待测值输入模型,得到异常标签。
7.根据权利要求6所述的一种基于异常检测的系统健康度智能监测评估方法,其特征在于,所述固定阈值法异常检测包括以下子步骤:(6.1)数据变换,以五分钟为时间粒度对数据进行窗口划分,求得窗口内指标数据的均值;数据变换能够剔除单点毛刺现象导致的无效告警问题,减少误报率;(6.2)n-sigma模型训练,基于n-sigma算法原理,根据(1)中历史数据计算指标的阈值;(6.3)待测值输入模型,得到异常标签。8.根据权利要求6所述的一种基于异常检测的系统健康度智能监测评估方法,其特征在于,所述孤立森林法异常检测包括以下子步骤:(7.1)指标特征选取,采用多维特征综合判断异常,共选取六个特征值来进行判断,选取的特征有:当前值、前1分钟值与当前值的差值、前2分钟值与当前值的差值、前5分钟值与当前值的差值、前1天同时刻前后5分钟均值与当前值的差值、前5天同时刻前后5分钟均值与当前值的差值;(7.2)孤立森林模型训练,根据提取的特征值,基于孤立森林算法原理进行训练,获取孤立森林模型;(7.3)待测值输入模型,得到异常标签。9.根据权利要求1所述的一种基于异常检测的系统健康度智能监测评估方法,其特征在于,所述步骤(3)中的异常量化评分包含两种异常量化评分算法,即基于sigmoid函数计算公式的量化评分算法和基于孤立森林法的化评分算法,具体为:所述基于sigmoid计算公式的量化评分算法流程依照以下子步骤进行:(6.1)判断异常标签,若为正常,则异常评分赋为0,反之,进入步骤(6.2);(6.2)指标数据标准化,消除不同数量极的指标数据对异常评分带来的影响;(6.3)传入sigmoid公式,得到异常评分,sigmoid函数能够将数据缩放到[0,1]之间,消除数据间的差异,方便后续对整体系统健康度的计算;sigmoid函数表示如下:所述基于孤立森林法的化评分算法流程依照以下子步骤进行:(7.1)判断异常标签,若为正常,则异常评分赋为0,反之,进入步骤(7.2);(7.2)计算pathlength,即划分路径长度,为下一步对异常度的计算做准备;具体公式如下:h(x)=e+c(t.size)其中e为某样本从树的根节点到叶节点的过程中经历的边的个数,即split次数;t.size表示和样本x同在一个叶子结点样本的个数,c(t.size)可以看做一个修正值,表示t.size个样本构建一个二叉树的平均路径长度,c(n)计算公式如下:其中,0.5772156649为欧拉常数;最后采用归一化的方式,把样本落入叶子结点经过的边的值域映射到0-1之间;其公式
如下:其中:h(x)为样本在itree上的pathlength;e(h(x))为样本在t棵itree的pathlength的均值;c(n)为n个样本构建一个bst二叉树的平均路径长度。10.根据权利要求1所述的一种基于异常检测的系统健康度智能监测评估方法,其特征在于,所述步骤(3)中系统健康度评估模块流程包括以下子步骤:(8.1)判断关键指标是否是响应时间或成功率,若是则执行步骤(8.2),反之则跳至步骤(8.4);(8.2)将来自同一系统不同访问渠道url的指标数据按照系统维度进行数据合并,并按时间顺序排序;(8.3)合并指标异常度计算,将同一时间的异常度进行求和平均,获取响应时间和成功率在系统维度的异常度;(8.4)基于层次分析法的指标权重分析体系,为四个关键指标设置权重,采用加权求和的方法,获得系统整体健康度;具体计算公式表示如下:系统健康度=100-qps_rate*qps-concurrent_rate*concurrent-suc_rate*suc-rtime_rate*rtime其中qps_rate代表请求数的权重,qps代表请求数的异常度,concurrent_rate代表并发数的权重,concurrent_rate代表并发数的异常度,suc_rate代表成功率的权重,suc代表成功率的异常度,rtime_rate代表平均响应时间的权重,rtime代表平均响应时间的异常度。

技术总结
本发明公开了一种基于异常检测的系统健康度智能监测评估方法。本发明通过将海量指标数据进行形态划分,为不同类型的指标数据设计不同异常检测算法,提升异常检测的效率和准确率。结合无监督异常检测算法,对影响系统健康度的关键指标进行异常检测,获得指标的异常标签和异常程度。采用“层次分析法”为基础的专家体系,为系统中的关键指标设定权重值,对关键指标的健康度进行加权求和,最终获取所述系统的健康度评分,能够直观的反映系统总体的健康状况。状况。状况。


技术研发人员:洪晓霞 陈雪儿 熊炜 程心媛 杨世利 刘娟 陈雪
受保护的技术使用者:陈雪儿 熊炜 程心媛 杨世利 刘娟 陈雪
技术研发日:2023.03.22
技术公布日:2023/7/7
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐