Eagle - 來自eBay的分布式實時監(jiān)控及預(yù)警框架
Eagle 是來自eBay的面向大型分布式系統(tǒng)比如Hadoop, Spark 以及Cloud等設(shè)計的通用實時監(jiān)控與與預(yù)警框架。
Eagle主要由基礎(chǔ)的核心框架以及針對不同應(yīng)用領(lǐng)域的諸多app組成,專注于解決大數(shù)據(jù)時代大型分布式系統(tǒng)自身監(jiān)控這個復雜的大數(shù)據(jù)問題,具有高擴展性,高實時性,以及高可用性等特點,同時支持使用機器學習為復雜情況提供預(yù)測分析。

Eagle核心框架提供實時監(jiān)控系統(tǒng)開發(fā)過程中所需要的大部分重要基礎(chǔ)組件,例如:
輕量級分布式流處理框架:以DAG為基礎(chǔ)模型對通用流處理范式進行抽象,在開發(fā)期用戶只需基于DSL API定義監(jiān)控程序的流式處理邏輯,運行期再選擇實際物理執(zhí)行環(huán)境,默認支持單進程和Storm,同時也支持對于其他執(zhí)行環(huán)境的擴展,比如Spark Streaming 或者 Flink等。
實時流聚合引擎:提供簡單易用的實時流聚合規(guī)則定義語法,元數(shù)據(jù)驅(qū)動,動態(tài)部署,實現(xiàn)線性擴展的實時監(jiān)控數(shù)據(jù)流聚合。
分布式Policy引擎:分布式實時預(yù)警規(guī)則執(zhí)行引擎,提供類SQL的描述性規(guī)則定義語法以及機器學習自動等多種擴展,支持預(yù)警規(guī)則的動態(tài)加載和分區(qū)。
存儲和查詢框架:通用監(jiān)控數(shù)據(jù)存儲框架,可用于存儲和查詢?nèi)罩?,指標,警報,事件等多種類型數(shù)據(jù),默認支持HBase,并針對HBase進行多種優(yōu)化和擴展,比如coprocesser,二級索引以及分區(qū)等,也支持其他存儲類型的擴展比如RDBMS等,并提供通用的ORM, REST API以及易用強大的類SQL查詢語法。
可定制化監(jiān)控報表:提供類Notebook的交互式實時可視化分析,也支持進一步選取部分圖標,并定義布局保存為dashboard以供分享或者持續(xù)監(jiān)控。
Eagle 針對不同的應(yīng)用場景提供多種上層應(yīng)用,例如
Eagle JPA: 實時監(jiān)控Hadoop 或者 Spark等平臺上的作業(yè)當前和歷史執(zhí)行狀態(tài),提供多維度不同粒度的性能分析,支持多種異常預(yù)警和性能警告,比如作業(yè)運行時間過長,讀寫過慢,數(shù)據(jù)傾斜,失敗任務(wù)比率過多等,可有效在作業(yè)無法滿足SLA之前提供預(yù)警和性能建議,同時結(jié)合機器學習模型,基于任務(wù)分布或指標變化等協(xié)同預(yù)測任務(wù)或者服務(wù)器節(jié)點等可能潛在的異常,并集成Remediation系統(tǒng)對系統(tǒng)進行自動修復。
Eagle DAM:實時監(jiān)控用戶行為,以保證數(shù)據(jù)安全,支持HDFS, HIVE等不同數(shù)據(jù)類型,提供簡單高效的數(shù)據(jù)流接入Plugin,支持簡單規(guī)則定義語法,結(jié)合機器學習算法對用戶行為建模(User Profiling),自動探測異常用戶行為,可集成Dataguides等對敏感數(shù)據(jù)進行監(jiān)控,也可集成Apache Ranger等對異常用戶行為進行限制。
此外,Eagle 支持以Ambari Plugin等方式方便地安裝和集成到現(xiàn)有集群中,并提供友好的用戶界面進行管理。