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

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