1. 程式人生 > >技本功丨智慧監控,在袋鼠雲日誌運用中都經歷了什麼……

技本功丨智慧監控,在袋鼠雲日誌運用中都經歷了什麼……

 

微信圖片_20181205134458.png

作者:大鵬

袋鼠雲日誌團隊後端開發工程師


傳統監控範圍小,智慧監控效率高,你說到底怎麼用?大鵬給你來支招~

b42170c42abee9abcfa57f4817513a9.png


傳統監控是通過對監控項設定一個固定值(閾值),當監控項指標超過這個閾值時就通知人們關注這個指標項。傳統監控一般適用於一定範圍波動的業務指標:

比如磁碟的使用率,CPU的使用率等,當指標超過一定值時就意味著系統可能出現故障,但是遇到波動範圍比較大的場景時;比如某銀行的交易09:00~18:00之間交易量大,在其他時間交易量可能為0,工作日交易一般,非工作日交易劇增;比如某網站的點選量在白天很大,在深夜點選量可能為0,如果使用傳統監控對上面的場景進行指標監控,往往不能很好的反映系統和業務的狀態,產生很多誤報的情況,增加人工成本,而且甚至會讓人們對告警產生麻木,不信任感。


微信圖片_201812051344582.png

技術架構 

微信圖片_201812051344583.png


模型訓練器:雲日誌以固定頻率採集的業務指標形成時間序列,輸送到模型訓練器中,模型訓練器有一系列的數學模型組成(可動態新增),每個模型都得到預測值,觀察值與預測值之前存在的誤差,對比誤差我們將得到一個與業務最匹配的數學模型。利用這個訓練出的最佳模型,輸入未來時間點,得到預測值,繪製未來業務圖。


異常檢測器:訓練的數學模型預測的值與實際的觀察值存在一定的誤差,這個殘差系列輸送到異常檢測器中,異常檢測器也是由一系列的數學模型組成(可動態新增),模型檢查的誤差點與業務的異常點最匹配的模型將作為異常檢測模型,將後續檢測出的異常點發送給預警系統。

時間序列建模 

採集的時間序列資料並非是散亂,毫無規律的一組資料,它往往伴隨業務的變化而變化,有的具有很強的週期性規則,有的具有相對平滑的趨勢,我們需要利用對應的數學模型來擬合,一下是我們常用的幾種數學模型。


微信圖片_201812051344584.png


對不同特徵的時間序列,不同的數學模型所計算出的誤差也截然不同,我們從以下列表的指標來衡量這些數學模型的匹配度。


微信圖片_201812051344585.png

在經過以上指標衡量預測模型的優劣後,我得到最契合業務的擬合曲線,得到最佳的訓練模型。然後輸入未來時間點得到那個時間點的預測值,然後繪製出預測曲線。

異常檢測

在預測出未來時間點的資料後,如何檢測這個業務資料是否異常,我們也有對應的異常檢測模型,如下表所示:


微信圖片_201812051344586.png


將殘差指標用以上模型計算之後,與過去的業務異常點進行對比,選擇最接近的異常檢測模型,作為後續的異常檢測,當模型檢測數資料異常時,即時傳送預警給巡檢員,防患於未來。


雲日誌裡說乾坤,日誌分析真有用,監控告警樣樣行,爆炒產品來祭天。趕緊動手來參加吧~

大鵬講堂,下次見~

8cebf3834d53e01512e4803e1a21b17.png