Eagle是eBay开源的一个分布式实时安全监控方案。通过离线训练模型集合实时流引擎监控,能立即监测出对敏感数据的访问或恶意的操作,并立即采取应对的措施。下图是Eagle的架构。
Eagle的数据行为监控方案可用于如下几类典型场景:
-
监控Hadoop中的数据访问流量
-
检测非法入侵和违反安全规则的行为
-
检测并防止敏感数据丢失和访问
-
实现基于策略的实时检测和预警
-
实现基于用户行为模式的异常数据行为检测
Eagle特点
-
高实时: 我们充分理解安全监控中高度实时和快速反应的重要性,因此设计Eagle之初,我们竭尽可能地确保能在亚秒级别时间内产生告警,一旦综合多种因素确订为危险操作,立即采取措施阻止非法行为。
-
可伸缩:在eBay Eagle 被部署在多个大型Hadoop集群上,这些集群拥有数百PB的数据,每天有8亿以上的数据访问时间,因此Eagle必须具有处理海量实时数据的高度可伸缩能力。
-
简单易用:可用性也是Eagle产品的核心设计原则之一。通过Eagle的Sandbox,使用者仅需数分钟便可以设置好环境并开始尝试。为了使得用户体验尽可能简单,我们内置了许多很好的例子,只需简单地点击几步鼠标,便可以轻松地完成策略地创建和添加。
-
用户Profile:Eagle 内置提供基于机器学习算法对Hadoop中用户行为习惯建立用户Profile的功能。我们提供多种默认的机器学习算法供你选择用于针对不同HDFS特征集进行建模,通过历史行为模型,Eagle可以实时地检测异常用户行为并产生预警。
Eagle框架
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 支持以AmbariPlugin等方式方便地安装和集成到现有集群中,并提供友好的用户界面进行管理。
转自:http://jiezhu2007.iteye.com/blog/2286579