一、无人机预警功能简介
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预警策略判定原理
预警模块通过流式条件或定时任务触发对预警表达式的判定,过程如下
当预警策略判定被触发时,各条件独立进行判定,遍历其中的各个表达式进行判定,然后将表达式判定结果按关系定义的逻辑关系进行组合判断,若结果为真则将结果汇总到策略判定结果,然后整合策略判定结果进行报警。