写点什么

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:391457
用户头像

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

关注

评论

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

编曲新手可以用什么编曲软件?

奈奈的杂社

Android组件化和插件化开发

寻找生命中的美好

android 组件化 插件化

饿了么EMonitor演进史

阿里巴巴中间件

可观测性 饿了么 emonitor etrace

流程引擎介绍

上海派拉基础研发

流程

LeetCode题解:641. 设计循环双端队列,使用数组,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

使用CrossOver安装第三方软件

懒得勤快

破解class文件的第一步:深入理解JAVA Class文件

华为云开发者联盟

Java JVM 索引 class文件

泉州有了一个水务大脑,用AI守护“绿水青山”

百度大脑

AI

一周信创舆情观察(4.12~4.18)

统小信uos

开发知识 | 即时通讯是怎么做到的?

YonBuilder低代码开发平台

大前端 即时通讯 APP开发 小程序制作 开发技巧

加密原理详解:对称式加密VS非对称式加密

Java架构师迁哥

走完线上 BUG 定位最后一公里

阿里巴巴中间件

可观测性 bug bug修复

聪明人的训练(二十三)

Changing Lin

4月日更

理性看待区块链+大宗商品

CECBC

区块链

2021年处置非法集资部际联席会议:密切关注打着区块链、虚拟货币等旗号的新型风险

CECBC

线程的故事:我的3位母亲成就了优秀的我!

王磊

Java 线程 多线程

阿里巴巴的“双11”高并发秒杀终极版教程!(Java语言设计)

Java 编程 程序员 架构

Rust从0到1-代码组织-模块

rust modules 模块

合约跟单系统搭建,合约一键跟单app

Golang Test

escray

学习 极客时间 Go 语言 4月日更

暴涨暴跌的牛市,普通人怎么和平发育?

CECBC

区块链

GitHub开源:4行代码实现《黑客帝国》数字雨特效

不脱发的程序猿

GitHub 开源 程序人生 4月日更 黑客帝国

全网最全 ECMAScript 攻略

清秋

JavaScript ecmascript 大前端 ES6 Ecma

插件化库VirtualAPK详解

寻找生命中的美好

android 插件化 VirtualAPK

开发环境上云,打造五星级开发体验

CODING DevOps

Kubernetes 云原生 CODING Nocalhost

谈谈 WebRTC 的 SDP Unified Plan

拍乐云Pano

WebRTC

悲观锁与乐观锁的实现(详情图解)

Java架构师迁哥

万字精华:好好巩固你的Nginx知识体系

学Java关注我

Java 编程 架构 程序人生 计算机

视频录制后有噪音怎么办?教你简答几步去除视频噪音!

奈奈的杂社

redis常见应用场景

Sakura

4月日更

架构实战营模块二作业

刁寿钧

架构实战营

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