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

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