發布日期:2022-04-26 點擊率:59
背景介紹
該分享是阿里媽媽Goldeneye業務監控平臺的智能監控解決方案。
這個分享主要包括智能監控的技術實現,以及大規模日志監測數據的自動化接入兩部分。我先介紹一下智能監控部分,下一期分享中我的兩位同事將給大家著重介紹日志分析處理的計算存儲。智能監控現在其他一些公司也有在做,希望通過這次分享能夠給大家帶來一些新的啟發,也歡迎大家能夠提出問題和建議,互相切磋交流經驗。——馬小鵬
相關廠商內容
分享內容的提綱如下:Goldeneye智能監控的業務背景、技術思想、技術實現細節、難點和今后的優化方向。
嘉賓介紹
馬小鵬,阿里媽媽全景業務監控平臺技術負責人。2013 起在阿里從事大規模系統日志分析及應用的研發,曾經主導了直通車廣告主報表平臺和實時報表存儲選型。在加入阿里之前,曾負責網易電商 App 數據統計平臺的研發。
一、Goldeneye智能監控的背景
Goldeneye作為阿里媽媽業務監控平臺,主要在業務日志、數據的實時統計分析基礎上做監控報警以及輔助定位。阿里集團內部也有很多優秀的監控平臺,它們在開放性上做的很好,接入成本也不高,但是監控閾值也是開放給用戶自己設定。這種情況下,對于業務監控人工維護閾值就比較復雜,需要有豐富的經驗來拍定閾值,需要人工持續的維護不同監控項的監控閾值。所以,在業務快速發展的前提下,傳統的靜態閾值監控很容易出現了誤報、漏報的問題,而且人工維護成本高,監控視野局限。Goldeneye就是在這種基礎上,我們試著從大數據應用的角度,去解決業務監控中的問題,由此誕生的。
1. 業務背景:
(1)體量大:Goldeneye現在接入的業務線覆蓋了阿里媽媽主體的90%業務,每天處理的日志量在100T以上,業務監控需要對各業務線的流量分層級實時監控,核心數據以1分鐘為周期,一般監測數據以5分鐘或1小時為周期,監控目標非常多,按人工維護這些監控的閾值、啟停、生效實效等幾乎是達不到的。
(2)變化多:業務監控的監測數據大都是業務指標,不同于系統運維指標,比如RT/QPS/TPS等一般是比較穩定的,業務指標具有周期性變化的特點,比如工作日和節假日的區別、業務營銷策略調整的影響等,在這種情況下人工設定的靜態報警閾值準確性就很難保障了。
(3)迭代快:隨著阿里媽媽資源整合和業務的快速發展,監控目標也經常發生變化,比如流量監控資源位的調整、效果監控的產品類型劃分等,曾經出現過新流量上線后的監控盲點。
2. 技術背景:
圖1 Goldeneye技術背景
通常的業務監控系統或平臺,都是由采集、數據處理、檢測、報警等模塊組成的,Goldeneye也是如此,不過它的技術架構上用了阿里內部的一些技術中間件,比如采集我們使用TimeTunnel(它有agent在各臺日志服務器上拉日志到Topic,并且負責將離線日志放到ODPS上),這部分我不再介紹了。
數據處理我們使用的jstorm和ODPS MR job分別對日志進行實時、離線批處理,主要包括日志解析、校驗、時間周期歸一化、聚合、寫存儲(Hbase)等操作,這部分下一期分享中我的同事會詳細介紹。今天的分享主要集中在閾值預測、監控檢測、報警生成&通知、輔助定位這四部分。
二、技術思想
智能監控就是讓系統在業務監控的某些環節上代替人工執行和判斷的過程。人工維護監控目標和閾值是以經驗為參考的,系統如何自動判斷哪些目標需要監控、自動設定監控目標的閾值水位、不用人力維護,是基于對歷史樣本數據統計分析得出判斷依據。
通過收集監測數據的樣本,并使用智能檢測算法模型,讓程序自動對監控項指標的基準值、閾值做預測,在檢測判斷異常報警時使用規則組合和均值漂移算法,能精確地判斷需要報警的異常點和變點。
1.閾值水位自適應變化
以往我們添加監控有兩種做法:
給指標M1設置一個水位線,低于(或高于)水位,觸發報警;
給指標M1設置同比、環比波動幅度,比如同比波動20%、環比波動10%觸發報警;
以上兩種方式,是平常大家常用的監控方式,但是效果確不理想,這種靜態閾值長期來看沒有適應變化的能力,需要人工維護,而且報警準確性也依賴于同環比數據的穩定性。
我們能否讓系統具備自動適應變化的能力,自動調整閾值水位?就如同手動擋的汽車換成自動擋一樣,可以根據速度自己調節檔位。
2.監控項自動發現
當我們的監控系統具備預測動態閾值的能力后,監控項的維護是否也可以交給系統去做?
可能大家也曾遇到過類似的情況,舊的監控項已經沒有數據了,新的監控目標卻因為各種原因被漏掉,人工維護監控項需要及時同步上下線變更,但是當我們需要監控的目標有一千個、一萬個甚至更多的時候,人力是無法一直跟進這些監控項的維護工作的,或者說這種工作比較單調容易被忽視。
我們能否將判斷如何篩選監控項的規則交給系統,讓它去定期檢查哪些監控項已經實效,哪些監控項需要新增,哪些監控項的閾值需要調節。這種發現規則是穩定的,僅僅是依據發現規則得出的監控項內容在不斷變化而已。
3.過濾誤報時欲擒故縱
當我們的監控系統具備預測動態閾值、自動發現并維護監控項的能力后,如何達到不漏報和不誤報之間的平衡?
對于監控而言,漏報是不可容忍的,但是誤報過多也容易使人麻木。
通常的做法是為了不被誤報干擾至麻木,會把閾值調節得寬松些,但是這種做法容易產生漏報,尤其是下跌不太明顯的情況。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV