基于统计的预警:同环比预警实现深度剖析

  

一、无人机预警功能简介

  

UAV.Monitor提供了对全维监控指标的预警功能,各类型的监控指标均可配置预警策略,当预警策略被触发后,可通过邮件,HTTP调用等方式进行通知报的警,并会根据预警时间频率等对报警动作进行压制。

  

预警分为流式预警,统计预警以及混合预警三种。

  
      <李>流式预警会对采集到的每一个监控指标数据进行预警判断,达到实时预警的目的,李   <李>统计预警是对指标在固定时间段统计值的预警,通常都是定时进行预警判定;李   <李>混合预警则是将流式预警与统计预警结合进行预警。
  

同环比预警就属于统计预警的一种。

  

二,什么是同环比预警

  

首先介绍一下同环比的概念,同环比描述的是统计数据的增/降幅度,即某一时间段(本期)的统计结果与之前另一相同长度时间段(基期)的比较结果。同比表示的是本期与上一个同期的比较,比如今年4月与去年4月比较,今天8点到9点与昨天8点到9点比较,环比表示的是本期与上期的比较,如今年4月与今年3月比较,今天8点到9点与7点到8点比较,而同环比预警则是对一段时间内监控指标的统计结果同比上一同期(或环比上期)的增/降幅进行预警,即指标的同/环比计算结果超过了策略指定的增/降幅度则进行报警。

  

三,同环比预警的实现

  

3.1预警策略

  

预警条件与动作由预警策略定义,预警策略的结构如下:

     <>之前的策略   {   “type":““,   “instances": [],   “conditions": [],   “relations": [],   “actions": []   }   条件   {   “expressions": []   } 之前   

一个预警策略(策略)包含多个预警条件(条件),条件是最小的预警判定元,每个条件可包含多个表达式(表达式);预警表达式定义了单一预警条件,表达式又分为统计(stat)表达式和流式(流)表达式两种,分别对应统计预警条件与流式预警条件;关系中对各关系应各条件中策略表达式表达的逻辑判断关系.instances表示该预警影响的实例,行动表示预警触发后的报警动作,类型表示预警策略的类型,型根据包含的表达式种类分为含统计表达式的统计(stat)策略和只含流式表达式的流式(流)策略。

  

3.2同环比预警表达式定义

  

同环比的计算公示为:同/环比值=本期数——基期数,同/环比率=(本期数——基期数)÷基期数×100%。根据计算公式,我们需要的输入条件是:

  

1)需预警的指标名。

  

监控的各项数值型指标均可作为预警的指标,如cpu、访问量等。

  

2)本期时间段与基期时间段。

  

由于预警是一个比较实时性的动作,所以我们把时间段限制在了24小时内,对于大于24小时比如一周或一个月的统计值或同环比,以周报或月报的形式直接统计效果更好。基期时间则根据同比周期或环比间隔计算得出。

  

3)指标在时间段内统计值的计算方式。

  

同环比比较的是指标在一段时间内的统计值,统计方式有求和,求平均等。由于无人机的监控历史值都存储在opentsdb,可通过opentsdb自带的聚合操作进行统计值的计算。

  

4)预警阈值

  

增/降幅上限,可设置为数值型阈值或百分比阈值。

  

同环比预警属于统计预警,所以同环比预警表达式也是统计(stat)类型的表达式。综上,同环比预警表达式结构如下。   

     <>之前的表达式   {,,,,,   “type":“stat"   “arg":““,,,,,,,,,,,,//预警指标   “time_from":““,,//初始时间段)   “time_to":““,,,,,,//初始时间段)   “interval":““,,,,,,//环比间隔(同比则此项为空)   “unit":““,,,,,,,,,,,//同比周期(环比则此项为空)   “aggr":““,,,,,,,,,,//统计方式   “upperLimit":““,//比值上限   “lowerLimit":““,//比值下限   } 之前   

3.3预警策略判定原理

  

预警模块通过流式条件或定时任务触发对预警表达式的判定,过程如下

  

  基于统计的预警:同环比预警实现深度剖析

  

当预警策略判定被触发时,各条件独立进行判定,遍历其中的各个表达式进行判定,然后将表达式判定结果按关系定义的逻辑关系进行组合判断,若结果为真则将结果汇总到策略判定结果,然后整合策略判定结果进行报警。

基于统计的预警:同环比预警实现深度剖析