溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

基于統(tǒng)計(jì)的預(yù)警:同環(huán)比預(yù)警實(shí)現(xiàn)深度剖析

發(fā)布時(shí)間:2020-08-07 23:01:23 來(lái)源:ITPUB博客 閱讀:147 作者:宜信技術(shù)學(xué)院 欄目:網(wǎng)絡(luò)管理

一、UAV預(yù)警功能簡(jiǎn)介

UAV.Monitor提供了對(duì)全維監(jiān)控指標(biāo)的預(yù)警功能,各類型的監(jiān)控指標(biāo)均可配置預(yù)警策略,當(dāng)預(yù)警策略被觸發(fā)后,可通過(guò)郵件、HTTP調(diào)用等方式進(jìn)行通知報(bào)警,并會(huì)根據(jù)預(yù)警時(shí)間頻率等對(duì)報(bào)警動(dòng)作進(jìn)行壓制。

預(yù)警分為流式預(yù)警、統(tǒng)計(jì)預(yù)警以及混合預(yù)警三種。

  • 流式預(yù)警會(huì)對(duì)采集到的每一個(gè)監(jiān)控指標(biāo)數(shù)據(jù)進(jìn)行預(yù)警判斷,達(dá)到實(shí)時(shí)預(yù)警的目的;
  • 統(tǒng)計(jì)預(yù)警是對(duì)指標(biāo)在固定時(shí)間段統(tǒng)計(jì)值的預(yù)警,通常都是定時(shí)進(jìn)行預(yù)警判定;
  • 混合預(yù)警則是將流式預(yù)警與統(tǒng)計(jì)預(yù)警結(jié)合進(jìn)行預(yù)警。

同環(huán)比預(yù)警就屬于統(tǒng)計(jì)預(yù)警的一種。

二、什么是同環(huán)比預(yù)警

首先介紹一下同環(huán)比的概念,同環(huán)比描述的是統(tǒng)計(jì)數(shù)據(jù)的增/降幅度,即某一時(shí)間段(本期)的統(tǒng)計(jì)結(jié)果與之前另一相同長(zhǎng)度時(shí)間段(基期)的比較結(jié)果。同比表示的是本期與上一個(gè)同期的比較,比如今年4月與去年4月比較,今天8點(diǎn)到9點(diǎn)與昨天8點(diǎn)到9點(diǎn)比較;環(huán)比表示的是本期與上期的比較,如今年4月與今年3月比較,今天8點(diǎn)到9點(diǎn)與7點(diǎn)到8點(diǎn)比較。而同環(huán)比預(yù)警則是對(duì)一段時(shí)間內(nèi)監(jiān)控指標(biāo)的統(tǒng)計(jì)結(jié)果同比上一同期(或環(huán)比上期)的增/降幅進(jìn)行預(yù)警,即指標(biāo)的同/環(huán)比計(jì)算結(jié)果超過(guò)了策略指定的增/降幅度則進(jìn)行報(bào)警。

三、同環(huán)比預(yù)警的實(shí)現(xiàn)

3.1 預(yù)警策略

預(yù)警條件與動(dòng)作由預(yù)警策略定義,預(yù)警策略的結(jié)構(gòu)如下:

strategy
{
"type":"",
"instances":[],
"conditions":[],
"relations":[],
"actions":[]
}
condition
{
"expressions":[]
}

一個(gè)預(yù)警策略(strategy)包含多個(gè)預(yù)警條件(condition),condition是最小的預(yù)警判定元,每個(gè)condition可包含多個(gè)表達(dá)式(Expression);預(yù)警表達(dá)式定義了單一預(yù)警條件,表達(dá)式又分為統(tǒng)計(jì)(stat)表達(dá)式和流式(stream)表達(dá)式兩種,分別對(duì)應(yīng)統(tǒng)計(jì)預(yù)警條件與流式預(yù)警條件;relations中各relation對(duì)應(yīng)各condition中策略表達(dá)式Expression的邏輯判斷關(guān)系。instances表示該預(yù)警影響的實(shí)例,actions表示預(yù)警觸發(fā)后的報(bào)警動(dòng)作,type表示預(yù)警策略的類型,type根據(jù)包含的表達(dá)式種類分為含統(tǒng)計(jì)表達(dá)式的統(tǒng)計(jì)(stat)策略和只含流式表達(dá)式的流式(stream)策略。

3.2 同環(huán)比預(yù)警表達(dá)式定義

同環(huán)比的計(jì)算公示為:同/環(huán)比值=本期數(shù)-基期數(shù),同/環(huán)比率=(本期數(shù)-基期數(shù))÷基期數(shù)×100%。根據(jù)計(jì)算公式,我們需要的輸入條件是:

1)需預(yù)警的指標(biāo)名。

監(jiān)控的各項(xiàng)數(shù)值型指標(biāo)均可作為預(yù)警的指標(biāo),如cpu、訪問(wèn)量等。

2)本期時(shí)間段與基期時(shí)間段。

由于預(yù)警是一個(gè)比較實(shí)時(shí)性的動(dòng)作,所以我們把時(shí)間段限制在了24小時(shí)內(nèi),對(duì)于大于24小時(shí)比如一周或一個(gè)月的統(tǒng)計(jì)值或同環(huán)比,以周報(bào)或月報(bào)的形式直接統(tǒng)計(jì)效果更好?;跁r(shí)間則根據(jù)同比周期或環(huán)比間隔計(jì)算得出。

3)指標(biāo)在時(shí)間段內(nèi)統(tǒng)計(jì)值的計(jì)算方式。

同環(huán)比比較的是指標(biāo)在一段時(shí)間內(nèi)的統(tǒng)計(jì)值,統(tǒng)計(jì)方式有求和、求平均等。由于UAV的監(jiān)控歷史值都存儲(chǔ)在opentsdb,可通過(guò)opentsdb自帶的聚合操作進(jìn)行統(tǒng)計(jì)值的計(jì)算。

4)預(yù)警閾值

增/降幅上限,可設(shè)置為數(shù)值型閾值或百分比閾值。

同環(huán)比預(yù)警屬于統(tǒng)計(jì)預(yù)警,所以同環(huán)比預(yù)警表達(dá)式也是統(tǒng)計(jì)(stat)類型的表達(dá)式。綜上,同環(huán)比預(yù)警表達(dá)式結(jié)構(gòu)如下。  

expression
{      
"type":"stat",
"arg":""            //預(yù)警指標(biāo)
"time_from":""  //初始時(shí)間段-from
"time_to":""      //初始時(shí)間段-to
"interval":""      //環(huán)比間隔(同比則此項(xiàng)為空)
"unit":""           //同比周期(環(huán)比則此項(xiàng)為空)
"aggr":""          //統(tǒng)計(jì)方式
"upperLimit":"" //比值上限
"lowerLimit":"" //比值下限
}

3.3 預(yù)警策略判定原理

預(yù)警模塊通過(guò)流式條件或定時(shí)任務(wù)觸發(fā)對(duì)預(yù)警表達(dá)式的判定,過(guò)程如下

基于統(tǒng)計(jì)的預(yù)警:同環(huán)比預(yù)警實(shí)現(xiàn)深度剖析

當(dāng)預(yù)警策略判定被觸發(fā)時(shí),各condition獨(dú)立進(jìn)行判定,遍歷其中的各個(gè)Expression進(jìn)行判定,然后將Expression判定結(jié)果按relation定義的邏輯關(guān)系進(jìn)行組合判斷,若結(jié)果為true則將結(jié)果匯總到策略判定結(jié)果,然后整合策略判定結(jié)果進(jìn)行報(bào)警。

3.4 同環(huán)比預(yù)警判定原理

同環(huán)比預(yù)警屬于統(tǒng)計(jì)預(yù)警的一種,所以同環(huán)比的預(yù)警流程就是統(tǒng)計(jì)預(yù)警的預(yù)警流程,預(yù)警模塊啟動(dòng)一個(gè)用于統(tǒng)計(jì)策略判定的Timer,每分鐘(因?yàn)榻y(tǒng)計(jì)表達(dá)式的時(shí)間都是以分鐘為單位,所以每分鐘輪詢一次即可)輪詢一次策略,并觸發(fā)統(tǒng)計(jì)策略的判定。

基于統(tǒng)計(jì)的預(yù)警:同環(huán)比預(yù)警實(shí)現(xiàn)深度剖析

當(dāng)策略被觸發(fā)后,便會(huì)遍歷各condition下的表達(dá)式,進(jìn)行一一判定,定時(shí)任務(wù)觸發(fā)表達(dá)式判定的規(guī)則如下。

基于統(tǒng)計(jì)的預(yù)警:同環(huán)比預(yù)警實(shí)現(xiàn)深度剖析

當(dāng)最小判定元condition內(nèi)只有統(tǒng)計(jì)表達(dá)式時(shí),遍歷判定各統(tǒng)計(jì)表達(dá)式,首先會(huì)判定是否是統(tǒng)計(jì)表達(dá)示的判定時(shí)間,同環(huán)比表達(dá)式根據(jù)屬性值time from,timeto和環(huán)比間隔或同比周期來(lái)確定。若不是判定時(shí)間,考慮到多個(gè)統(tǒng)計(jì)表達(dá)式的組合判定情況時(shí),各表達(dá)式的判定時(shí)間可能不一致,我們會(huì)取出緩存中上次的未過(guò)期的判定結(jié)果返回。若是判定時(shí)間,則進(jìn)行同環(huán)比計(jì)算判定,構(gòu)造opentsdb查詢語(yǔ)句調(diào)用API查詢本期值與基期值,計(jì)算得出同/環(huán)比值(率),并與閾值進(jìn)行比較得出判定結(jié)果,結(jié)果會(huì)緩存到redis,這里也會(huì)將此condition的判定置為有效,因?yàn)槿绻鹀ondition里的表達(dá)式都未達(dá)到判定時(shí)間,這次判定其實(shí)是無(wú)效的。

若condition內(nèi)既有統(tǒng)計(jì)表達(dá)式又有流式表達(dá)式(即為混合預(yù)警)時(shí),統(tǒng)計(jì)表達(dá)式會(huì)進(jìn)行正常的判定運(yùn)算操作,但對(duì)于定時(shí)任務(wù)觸發(fā)的流式表達(dá)式則直接返回false,因此condition判定結(jié)果也為false。

混合預(yù)警的最終判定是在流式條件觸發(fā)預(yù)警策略時(shí)產(chǎn)生,condition中的流式表達(dá)式的判定會(huì)正常進(jìn)行,統(tǒng)計(jì)表達(dá)式的判定過(guò)程如下

基于統(tǒng)計(jì)的預(yù)警:同環(huán)比預(yù)警實(shí)現(xiàn)深度剖析

如果流式條件的觸發(fā)時(shí)間在表達(dá)式的判定時(shí)間(誤差一分鐘)內(nèi),會(huì)直接從緩存獲取由定時(shí)任務(wù)觸發(fā)策略時(shí)計(jì)算得出的未過(guò)期的判斷結(jié)果返回,返回結(jié)果便可與流式表達(dá)式的結(jié)果一同得出混合預(yù)警的結(jié)果。

判定結(jié)果返回后,會(huì)根據(jù)預(yù)警表達(dá)式信息及判定結(jié)果生成報(bào)警信息。如圖

基于統(tǒng)計(jì)的預(yù)警:同環(huán)比預(yù)警實(shí)現(xiàn)深度剖析

以上便是同環(huán)比預(yù)警的完整實(shí)現(xiàn)過(guò)程。

四、同環(huán)比預(yù)警的應(yīng)用

實(shí)時(shí)預(yù)警關(guān)注的是系統(tǒng)的瞬時(shí)狀態(tài),同環(huán)比預(yù)警則反映了指標(biāo)的變化趨勢(shì)以及與過(guò)去同期相比的波動(dòng)狀態(tài)。比如系統(tǒng)服務(wù)訪問(wèn)量異常檢測(cè),由于系統(tǒng)量可能根據(jù)時(shí)間有一定的規(guī)律性,如周一到周五訪問(wèn)量大,周末訪問(wèn)量小。若采用流式預(yù)警只能定義一個(gè)預(yù)警閾值,不能根據(jù)不同時(shí)間設(shè)置不同的預(yù)警閾值,這時(shí)可以在業(yè)務(wù)高峰時(shí)間對(duì)系統(tǒng)訪問(wèn)量指標(biāo)配置按周同比預(yù)警,便可對(duì)業(yè)務(wù)訪問(wèn)量異常做出及時(shí)有效的報(bào)警。

有時(shí)單一的同環(huán)比預(yù)警也不足夠,比如剛才的情況下,如果我們不僅關(guān)心訪問(wèn)量的相對(duì)波動(dòng)還需要報(bào)警時(shí)的平均響應(yīng)時(shí)間大于某一閾值才報(bào)警,這時(shí)就需要與流式預(yù)警進(jìn)行結(jié)合預(yù)警。

同環(huán)比預(yù)警豐富了預(yù)警體系,與流式預(yù)警相結(jié)合更有助于對(duì)系統(tǒng)異常與業(yè)務(wù)異常的及時(shí)精確發(fā)現(xiàn)。

下載UAVStack的源碼(https://github.com/uavorg)

來(lái)源:宜信技術(shù)學(xué)院

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI