Apache Eagle 毕业成为顶级项目

  • Alexandre Rodrigues
  • 尚剑

2017 年 2 月 3 日

话题:安全大数据语言 & 开发AI

Apache Eagle是一个识别大数据平台上的安全和性能问题的开源解决方案,2017 年 1 月 10 日,Apache Eagle 毕业成为Apache顶级项目。

Eagle 首先由eBay在 2015 年 10 月开源,它主要用来即时监测敏感数据访问和恶意活动,并及时采取行动。除了数据活动管理,Eagle 也可以用于节点异常检测, 集群和作业性能分析。

作业性能分析是通过处理YARN应用日志和对 YARN 中所有运行的作业进行快照分析来完成的。Eagle 可以检测单个作业趋势、数据偏斜问题、故障原因和考虑所有运行的作业情况下评估集群的整体性能。Eagle 通过计算每个节点的任务失败率来监测行为异常和需要关注的节点。至于集群性能,Eagle 通过计算每个 YARN 作业占用的资源并把它与横向服务的指标(比如HDFS namenode)来帮助识别整体集群缓慢的原因。

Apache Eagle 依赖于Apache Storm来进行数据活动和操作日志的流处理,并且可以执行基于策略的检测和报警。它提供多个 API:作为基于 Storm API 上的一层抽象的流式处理 API 和 policy engine provider API 的抽象,它将WSO2 的开源 Siddhi CEP engine作为第一类对象。Siddhi CEP engine 支持报警规则的热部署,并且警报可以使用属性过滤和基于窗口的规则(例如,在 10 分钟内三次以上的访问)来定义。

Apache Eagle 中还包括一个基于机器学习的 policy provider。它从过去的用户行为中学习,来将数据访问分类为异常或者正常。这个机器学习 policy provider 评估在Apache Spark框架中离线训练的模型。Eagle 用两种机器学习方法计算用户配置信息:一个方法是密度估计,用来计算每个用户 / 活动的高斯概率密度和一个阈值,另一个方法是特征值分解,通过减少用户和活动的特征维度来提取其行为模式。

数据集成是使用Apache Kafka通过logstash forwarder 代理或通过log4j kafka appender来实现的。来自多个 Hadoop 守护进程(例如,namenode,datanode 等)的日志条目被反馈到 Kafka 并由 Storm 处理。Eagle 支持将数据资产分类为多个灵敏度类型。

Eagle 支持使用Apache HBase和关系数据库持久化警报。警报可通过电子邮件、Kafka 或存储在 Eagle 支持的存储中进行通知。你也可以开发自己的警报通知插件

查看英文原文:Apache Eagle, Originally from eBay, Graduates to top-level project


感谢王纯超对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

安全大数据语言 & 开发AI