写点什么

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

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

关注

评论

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

架构师训练营 -week05- 作业1

lucian

极客大学架构师训练营

LeetCode题解:50. Pow(x, n),迭代分治,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

【建议收藏】10个适合程序员逛的在线社区

田维常

架构师训练营 -week05- 总结

lucian

极客大学架构师训练营

食堂就餐卡系统设计

DL

架构师训练营 1 期 - 第五周作业(vaik)

行之

极客大学架构师训练营

架构师训练营 W01 总结

Geek_f06ede

极客大学架构师训练营

微服务监控:SpringBoot-Micrometer-Influx

远鹏

监控 Influxdb springboot metrics

架构师训练营 - 第五周作业

一个节点

极客大学架构师训练营

第一周UML图

Geek_9527

图解 | 一图摸清Android应用进程的启动

哈利迪

android

第五周作业

alpha

极客大学架构师训练营

技术选型一第五周总结「架构师训练营第 1 期」

天天向善

图解 | Android系统的启动

哈利迪

android

架构师入门感悟一

笑春风

架构师2期week1作业

M.

架构师训练营第 1 期 -week5

习习

第五周学习总结

alpha

极客大学架构师训练营

LeetCode题解:50. Pow(x, n),递归分治,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

技术选型一第五周作业「架构师训练营第 1 期」

天天向善

极客大学 - 架构师训练营 第五周

9527

图解 | 一图摸清Android系统服务

哈利迪

android

4. Validator校验器的五大核心组件,一个都不能少

YourBatman

Hibernate-Validator Bean Validation 数据校验

架构师训练营week1学习总结

花果山

极客大学架构师训练营

第1周作业:食堂就餐卡系统设计

Steven

正式“退休”的Flash,未来我们会怀念它吗?

脑极体

架构师训练营第五周总结

睡不着摇一摇

架构师一期

架构方法学习总结

Sandman

极客大学架构师训练营

1024,属于程序员的一天

白色蜗牛

编程 程序员 Java 分布式 1024

架构师训练营 - 第五周总结

一个节点

极客大学架构师训练营

Architecture Phase1 Week5:HomeWork

phylony-lu

极客大学架构师训练营

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