写点什么

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

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

关注

评论

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

SRv6在5G移动网络中的部署方式

穿过生命散发芬芳

8月月更 SRv6

vue高频面试题合集(四)附答案

helloworld1024fd

Vue

转转用例平台系列 - 脑图组件2.0

转转技术团队

测试开发 测试用例平台开发

STM32入门开发 NEC红外线协议解码(超低成本无线传输方案)

DS小龙哥

8月月更

MYSQL最朴素的监控方式

京东科技开发者

MySQL 数据库 数据 监控数据

史上最全的Java并发系列之Java中的13个原子操作类

自然

多线程 并发 Java core 8月月更

估价器测试工具的实现

转转技术团队

测试工具

数据结构——栈

工程师日月

8月月更

Spring 全家桶之 Spring Data JPA(二)

小白

8月月更

浅谈营销型企业站文案应该如何写

石头IT视角

RocketMQ顺序消息

急需上岸的小谢

8月月更

编译调试插件功能总结

乌龟哥哥

8月月更

复盘:如何更好的进行技术面试

老张

面试

slb与nat及eip的相关联

肖飞码字

负载均衡 NAT 弹性公网IP

shell脚本之格式化输出

Albert Edison

Linux centos 运维 shell脚本编程 8月月更

极狐GitLab冷知识:使用 Gitlab Webhook 触发 Pipeline

郭旭东

极狐GitLab JIHULAB 101

面试官怒了:多级缓存不了解怎么行,那可是数量级的提升?

知识浅谈

缓存 8月月更

快的不止一点点!阿里强推的“Redis速成手册”也太香了吧

程序知音

Java 数据库 redis 程序员 后端技术

基于AQS实现自己的同步工具

自然

多线程 并发 8月月更

真会玩!用手机吹气球你见过不?

岛上码农

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

Spring Cloud Sleuth简述

阿泽🧸

8月月更 Spring Cloud Sleuth

第一个spark应用开发详解(java版)

程序员欣宸

Java spark 8月月更

C++运算符重载(四)之赋值运算符重载

CtrlX

c++ C# 后端 函数重载 8月月更

史上最全的Java并发系列之Java中的并发工具类

自然

多线程 并发 8月月更

Android进阶(十一)Android系统架构讲解

No Silver Bullet

android 系统架构 8月月更

版本管理工具git的使用总结

TimeFriends

8月月更

每日一R「04」常用的智能指针

Samson

8月月更 ​Rust

云原生事件驱动引擎(RocketMQ-EventBridge)应用场景与技术解析

阿里巴巴云原生

阿里云 RocketMQ 云原生

架构实战营模块四作业

zhihai.tu

vue高频面试题合集(三)附答案

helloworld1024fd

用好JAVA中的函数式接口,轻松从通用代码中剥离掉业务定制逻辑

程序知音

Java 编程 程序员 后端

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