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 )关注我们。
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论