一种云环境下基于时序数据的异常检测系统技术方案

技术编号:22060266 阅读:113 留言:0更新日期:2019-09-07 17:47
本发明专利技术涉及一种云环境下基于时序数据的异常检测系统,所述系统包括以下模块:Collector数据采集模块、数据存储模块、Analyst分析模块以及告警通知模块,所述Collector数据采集模块定时采集所在设备的业务指标数据通过汇聚模块传输到数据存储模块,所述存储模块用于存储时间序列数据,并将数据传送至分析模块,所述Analyst分析器模块用于对时序数据进行分析,通过告警通知模块推送通知消息给用户率。该方案通过算法建立动态模型来做异常检测,提高了数据中心的运维效率,适用于企业私有云、数据中心等集中化运行的环境中,不依赖于固定的经验化的阀值设置;本发明专利技术提出的监控系统及动态算法来检测异常,可避免规则化告警的僵化设置。

An Anomaly Detection System Based on Time Series Data in Cloud Environment

【技术实现步骤摘要】
一种云环境下基于时序数据的异常检测系统
本专利技术涉及一种检测系统,具体涉及一种云环境下基于时序数据的异常检测系统,属于时序数据异常检测

技术介绍
随着云技术的发展,数据中心管理的机器规模以指数化的方式增长,同时巨大的运维工作量也让运维成本不断上升。如何能有效的提高自动化运维效率,也成为急需解决的问题。运维的目的是保证生产的平稳运行,系统监控即是最基础的环节。在数据中心,有着海量的基于时间序列的监控指标,这些指标值都是带有时间戳。因此可以分析各种趋势、比例,以及检测异常。在运维工作中,异常检测是关键环节,决定了系统的可靠性。对于时间序列的监控数据,在实际生产环境中,通常是根据经验来设置阀值,当超过或者低于一定阀值的时候产生告警信息。但这种缺乏客观依据的方式,易导致频繁的接受告警信息或者漏掉重要的告警信息。所以,需要一种异常检测机制,能够针对不同的序列类型做出不同的策略的方式,在基于量化的标准的同时,找到异常指标并告警通知用户。如:秒杀活动的情形,一定是非周期性的,如果使用针对周期性的策略,就会判定为不合理的异常,因此,迫切的需要一种新的方案解决上述技术问题。
技术实现思路
本专利技术正是针对现有技术中存在的问题,提供一种云环境下基于时序数据的异常检测系统,该系统在私有云环境中部署大量的IT基础设施,包括主机、存储、计算单元等等,基础环境的正常平稳运行是生产的保障,通常都有监控系统实时获取整体系统运行的指标,比如:各个主机的CPU使用率、内存使用率、网络流量等等。这些指标可以做到实时采集,但在告警处理中,目前的私有云产品都是基于阀值的告警方式。本专利技术提出的监控系统及动态算法来检测异常,可避免规则化告警的僵化设置。为了实现上述目的,本专利技术的技术方案如下,一种云环境下基于时序数据的异常检测系统,其特征在于,所述系统包括以下模块:Collector数据采集模块、汇聚模块,数据存储模块、Analyst分析模块以及告警通知模块,本专利技术的特点在于在采集模块和数据存储模块中间加入了汇聚模块,并不是直接将数据传入存储,所述Collector数据采集模块定时采集所在设备的业务指标数据在,汇聚模块中对数据片段进行规整,数据片段积累到达指定数量,一起压入队列中,另有工作线程对队列监听,将队列中的数据异步传输到数据存储模块,此种架构和发送机制对比直接连接的方式,提供了缓冲,避免频繁传输小数据块,同时对处理性能有提升。存储模块用于存储时间序列数据,并将数据传送至分析模块,所述Analyst分析器模块用于对时序数据进行分析,通过告警通知模块推送通知消息给用户。本专利技术的核心在于分析模块,采用综合的算法来对不同的时序数据类型做异常分析。作为本专利技术的一种改进,所述Collector数据采集模块安装在服务器或工作站的系统中,作为一种agent,定时采集所在设备的业务指标数据,例如CPU利用率、内存利用率、IO数据等,所采集数据都有时间标签,因此为时序数据。作为本专利技术的一种改进,所述采集模块上传数据至汇聚模块中,汇聚模块用于收集数据,统一提交到存储,为避免大量小数据量的网络开销,以及数据规整清理工作,汇聚模块内部维护数个队列,采集的时序数据作为片段压入队列中,当队列满的时候,统一提交到存储模块的redis保存。作为本专利技术的一种改进,存储模块用于存储时间序列数据,在本方案中,使用Redis来存储数据。考虑到实时性要求,redis的集群可以提供极高的读写性能。而且根据时效性,方案在Redis中只保留一定时间范围内的数据。Analyst分析器模块用于对时序数据进行分析,对于不同的业务数据类型,本模块会按照动态算法来分析时序数据,判断具体某个点的数据是否正常,这种判断不依赖预先设定的固定阀值,而是根据业务数据的类型和特点,实时计算出合理范围,然后判断业务指标是否在合理范围内,若超过合理范围,则判断为异常点,通过告警通知模块推送通知消息给用户。作为本专利技术的一种改进,所述Analyst分析器模块中的动态算法计算方法如下:判断指标是周期性的或者是非周期性的;指标类型基本分为周期性和非周期性两大类,对于不同的类型,需要采用不同的算法进行判断,这一部分是预定义在系统中的。对于非周期性的,计算近期差值;首先确定近期选取的点数n,假设现在时刻是t,采样周期为1分钟,n个点分别为t0,t1…,tn.分别计算n个数据点的最大值,最小值和平均值,记为avg,min,max;计算阀值threshold=min(max-avg,avg-min);即计算最大值和平均值的差值,平均值和最小值的差值,然后取二者小的一个;设定计数器count为0;对n个数据,计算t0-ti,i=1..n,如果差值大于阀值,则计数器加1;最后得到计数器count为差值大于阀值的数目TC,如果TC大于某个固定值,则认为此项检测当前时刻的值是一个异常点;计算加权移动平均;在时间t,选取较大的采样点数m,例如m=50,计算m个点的指数移动加权平均,计算方式如下:EWMA(t)=λY(t)+(1-λ)EWMA(t-1)fort=1,2,...,m.其中EWMA(t):为t时刻的加权平均值;λ为加权系数0<λ<1,表明最近值所占的权重,经试验取为0.65,Y(t)为在时间t得到的采样值;EWMA(t-1)为t-1时刻的加权移动平均值;然后计算标准差,根据标准差计算公式;其中Xi为在i时刻的采样值,μi表示在i时刻的加权移动平均值,即μi=EWMA(i)根据3σ理论,如果在t时刻的采样值大于μi+3σ或者小于μi-3σ,则认为t时刻的值为异常,用公式表达即异常条件为:Y(t)>μt+3σORY(t)>μt-3σ;对于周期性的,以同期数据做比较,比如每天的9点30,可能是计算高峰期,那么和9点前的数据比较就意义不大,应该用前n天的9点30的数据做比较,比如监控一个月30天的数据。但是对于周期性的数据,采样计算n个点的移动平均,而不是指数加权的移动平均,我们认为周期性数据权重一样,计算方式如下:MA(t)=MA(t-1)+Y(t)/n–Y(t-n)/nfort=1,2,...,n;其中MA(t):为t时刻的移动平均值;Y(t)为在时间t得到的采样值;MA(t-1)为t-1时刻的移动平均值;这里将t-1时刻的移动平均值,加上当前时刻的值的影响,然后减去原来第一个值的影响;然后计算标准差,根据标准差计算公式;其中Xi为在i时刻的采样值,μi表示在i时刻的加权移动平均值,即μi=EWMA(i)根据3σ理论,如果在t时刻的采样值大于μi+3σ或者小于μi-3σ,则认为t时刻的值为异常,用公式表达即异常条件为Y(t)>μt+3σORY(t)>μt-3σ;计算同期数据的偏离程度;在某些情况下,我们需要绝对值的突变可能是正常的,我们需要比较相对大小的变化。还是以为周期性数据为例子,监控30天的数据,每天取9点的采样值。定义W(t)=(Y(t)-Y(t-1))/Y(t-1)其中t=1,2,...,n;W(t)即为偏离程度,Y(t)为当前时刻的采样值,Y(t-1)为前一时刻的采样值;再根据W(t)计算移动平均值;MA(t)=MA(t-1)+W(t)/n–W(t-n)/nfort=1,本文档来自技高网...

【技术保护点】
1.一种云环境下基于时序数据的异常检测系统,其特征在于,所述系统包括以下模块:Collector数据采集模块、数据存储模块、Analyst分析模块以及告警通知模块,所述Collector数据采集模块定时采集所在设备的业务指标数据通过汇聚模块传输到数据存储模块,所述存储模块用于存储时间序列数据,并将数据传送至分析模块,所述Analyst分析器模块用于对时序数据进行分析,通过告警通知模块推送通知消息给用户。

【技术特征摘要】
1.一种云环境下基于时序数据的异常检测系统,其特征在于,所述系统包括以下模块:Collector数据采集模块、数据存储模块、Analyst分析模块以及告警通知模块,所述Collector数据采集模块定时采集所在设备的业务指标数据通过汇聚模块传输到数据存储模块,所述存储模块用于存储时间序列数据,并将数据传送至分析模块,所述Analyst分析器模块用于对时序数据进行分析,通过告警通知模块推送通知消息给用户。2.根据权利要求1所述的云环境下基于时序数据的异常检测系统,其特征在于,所述Collector数据采集模块安装在服务器或工作站的系统中,作为一种agent,定时采集所在设备的业务指标数据,所采集数据都有时间标签,因此为时序数据。3.根据权利要求2所述的云环境下基于时序数据的异常检测系统,其特征在于,所述采集模块上传数据至汇聚模块中,汇聚模块用于收集数据,统一提交到存储,汇聚模块内部维护数个队列,采集的时序数据作为片段压入队列中,当队列满的时候,统一提交到存储模块的redis保存。4.根据权利要求3所述的云环境下基于时序数据的异常检测系统,其特征在于,所述Collector数据采集模块中采集数据时使用数据帧格式,当待发送数据积累到规定大小时,才封装为一个帧发送到汇聚端,汇聚端采用队列机制,帧进入队列,当队列满后,一次将队列中的数据上报到Redis中。5.根据权利要求4所述的云环境下基于时序数据的异常检测系统,其特征在于,Analyst分析器模块用于对时序数据进行分析,对于不同的业务数据类型,本模块会按照动态算法来分析时序数据,判断具体某个点的数据是否正常,这种判断不依赖预先设定的固定阀值,而是根据业务数据的类型和特点,实时计算出合理范围,然后判断业务指标是否在合理范围内,若超过合理范围,则判断为异常点,通过告警通知模块推送通知消息给用户。6.根据权利要求5所述的云环境下基于时序数据的异常检测系统,其特征在于,所述Analyst分析器模块中的动态算法计算方法如下:判断指标是周期性的或者是非周期性的;对于非周期性的,计算近期差值;首先确定近期选取的点数n,假设现在时刻是t,采样周期为1分钟,n个点分别为t0,t1…,tn.分别计算n个数据点的最大值,最小值和平均值,记为avg,min,max;计算阀值threshold=min(max-avg,avg-min);即计算最大值和平均值的差值,平均值和最小值的差值,然后取二者小的一个;设定计数器count为0;对n个数据,计算t0-ti,i=1..n,如果差值大于阀值,则计数器加1;最后得到计数器count为差值大于阀值的数目TC,如果TC大于某个固定值,则认为此项检测当前时刻的值是一个异常点;计算加权移动平均;在时间t,选取较大的采样点数m,计算m个点的指数移动加权平均,计算方式如下:...

【专利技术属性】
技术研发人员:杨松贵谌瑞敏
申请(专利权)人:南京维拓科技股份有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1