写点什么

AWS 发布 CloudTrail 处理库

  • 2014-11-21
  • 本文字数:1417 字

    阅读完需:约 5 分钟

近日,Amazon Web Services(AWS)发布了AWS CloudTrail 处理库(CPL),这是一个“Java 客户端库,使开发人员可以更简便地构建应用程序,以一种具有容错能力和高扩展性的方式读取和处理CloudTrail 日志文件”。

AWS CloudTrail 记录了一个 AWS 账号所做的所有 API 调用,用于日志记录和审计场景,包括安全分析、更改跟踪、法规遵从性援助和运行故障排除,先前的报道对此有更详细的描述。CloudTrail 是在 re:Invent 2013 大会上推出的,经过 2014 年的扩展,已经支持所有 AWS和大部分服务

照例,AWS 提供了在自定义监控解决方案中集成CloudTrail 的 API 。不过,实现 CloudTrail 事件处理逻辑至少需要与 Amazon S3、Amazon SNS 和 CloudTrail 本身三种相关服务进行交互,同时还要考虑灵活性和容错能力,这是一项繁重的任务。

现在,这个问题已经由一个“新的 AWS SDK for Java 扩展”解决

AWS CloudTrail 处理库,或者 CPL,减少了轮询 Amazon SQS 队列、读取和分析队列消息、下载 CloudTrail 日志文件及分析和序列化事件 [……] 所需要编写的代码。开发人员最少用 10 行代码就可以读取和处理 CloudTrail 日志文件。CPL 以一种灵活且具有容错能力的方式处理瞬态和持久故障 [……]。CPL 以易于扩展的方式构建,可以并行处理任意数量的日志文件。

最小限度的集成只需要实现一个接收CloudTrail 日志数据的EventProcessor 接口:

复制代码
public class SampleEventsProcessor implements EventsProcessor {
public void process(List<cloudtrailevent> events) {
int i = 0;
for (CloudTrailEvent event : events) {
System.out.println(String.format("Process event %d : %s", i++,
event.getEventData()));
}
}
}</cloudtrailevent>

正如 Jason Fulghum 在 Java SDK 博客上的介绍性博文中所阐述的那样,事件可以在这个循环中直接过滤,而通过下面这些专用的接口可以实现更高级的应用场景:

  • EventFilter——提供一个回调接口,确定是否处理日志记录
  • EventProcessor——提供一个回调接口,传递需要处理的日志记录(如上所示)
  • ExceptionHandler——提供一个回调接口,处理日志文件处理时的异常
  • ProgressReporter——提供一个接口,自定义处理过程
  • SourceFilter——提供一个回调函数,确定是否处理日志源

EventFilter 允许开发人员根据 CloudTrailEventData 中的粒度信息有选择地处理事件,比如AWS 域、源服务甚或IP 地址、用户身份,当然还可以是像“DeleteSecurityGroup”这样的事件名。CPL 提供了所有接口的示例实现,其中包括一个只提取EC2 删除API 调用的EventFilter:

复制代码
public class SampleEventFilter implements EventFilter{
private static final String EC2_EVENTS = "ec2.amazonaws.com";
@Override
public boolean filterEvent(CloudTrailEvent event) throws CallbackException {
CloudTrailEventData eventData = event.getEventData();
String eventSource = eventData.getEventSource();
String eventName = eventData.getEventName();
return eventSource.equals(EC2_EVENTS) && eventName.startsWith("Delete");
}
}

AWS CloudTrail 处理库源码可以从GitHub 上下载。 CloudTrail 文档包含一个如何使用CPL 的章节以及 CPL API 参考。开发人员可以从 CloudTrail问题跟踪和AWS CloudTrail 论坛获得技术支持。

查看英文原文:**** AWS Releases CloudTrail Processing Library

2014-11-21 08:391512
用户头像

发布了 1008 篇内容, 共 404.2 次阅读, 收获喜欢 345 次。

关注

评论

发布
暂无评论
发现更多内容

当转转严选订单遇到状态机

转转技术团队

架构 状态机

数字藏品加速破圈,助力产业发现新机遇

智捷云

NFT 区块链数字藏品 数字藏品 智捷云 智捷云科技

用 Flutter 给小姐姐的照片调个颜色滤镜

岛上码农

flutter ios 前端 安卓开发 7月月更

历史的坑,只能尽量填平

技术小生

事故复盘 7月月更

企业遇到知识管理困境该怎么办?这里有解决方案!

Baklib

排队助手 | 2022年6月产品更新日志

天天预约

微信小程序 SaaS应用 排队工具 便民服务

【刷题记录】14.最长公共前缀

WangNing

7月月更

字节跳动数据质量动态探查及相关前端实现

字节跳动数据平台

字节跳动 数据监控 数据探查

通过 MSE 实现基于Apache APISIX的全链路灰度

阿里巴巴云原生

Apache 阿里云 微服务 云原生 灰度发布

在web前端培训中怎么提升前端技术能力

小谷哥

模块2作业

十分钟生成影视级室内设计效果,红星美凯龙设计云如何升级传统家居行业

阿里云弹性计算

gpu 智能家居 异构计算

基于EasyCV复现DETR和DAB-DETR,Object Query的正确打开方式

阿里云大数据AI技术

深度学习 开源 自监督学习

利用小程序运行时技术增强Flutter跨端开发属性

Speedoooo

flutter 小程序 移动开发 小程序容器

关于Java&JavaScript中(伪)Stream式API对比的一些笔记

山河已无恙

Java stream JavaScrip

不同学习方式的web前端程序员有什么区别

小谷哥

在互联网+的潮流中,企业客户服务该何去何从?

Baklib

互联网+ 客户服务

别再说你不知道函数递归了-入门知识

芒果酱

C语言 7月月更

C 语言入门(八)

逝缘~

7月月更

项目越写越大,我是这样做拆分的

小鑫同学

项目架构 7月月更

新星计划Day10【数据结构与算法】 排序算法

京与旧铺

7月月更

零基础小白该如何选择web前端课程呢

小谷哥

web前端技术学习完后怎么找工作呢

小谷哥

零基础可以自学web前端技术吗

小谷哥

【Docker 那些事儿】如何高效地搭建 Docker 私有仓库

Albert Edison

Docker Kubernetes 容器 云原生 7月月更

5个开源组件管理小技巧

SEAL安全

安全 软件供应链 开源组件

SQL 改写系列六:谓词推导

OceanBase 数据库

运营商的时代之旅:种下5.5G的魔豆,攀上数字化的天空花园

脑极体

WhaleDI消息队列稳定性提升实践

鲸品堂

中间件

【技术人才懂的浪漫】TiDB 社区为你准备好了给另一半的“七夕节”礼物,回复:我要挑战,即可参与活动!

TiDB 社区干货传送门

Python异常知多少

迷彩

Python 异常处理 7月月更

AWS发布CloudTrail处理库_Java_Steffen Opel_InfoQ精选文章