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

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
























