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等方式方便地安装和集成到现有集群中,并提供友好的用户界面进行管理。