如何在AWS上记录EC2操作?

时间:2015-05-12 07:37:34

标签: amazon-web-services amazon-ec2 monitoring

我们在AWS上运行大量实例和ELB。最近我们经历了奇怪的行为我们不知道我们的boto脚本是否负责或AWS是否有故障。这可能也是人为错误。

我们无法知道谁在EC2实例上做了什么,这是一个问题。

这意味着:

  • EC2实例创建/终止
  • EC2实例启动/停止/重启
  • 从ELB注册/注销EC2实例

有没有办法在AWS中开始记录EC2操作?

或者,在SQS或SNS上发送EC2事件?那么我们可以听事件而不是阅读日志吗?

3 个答案:

答案 0 :(得分:4)

CloudTrail服务是您的起点。以下是文档的链接: Logging Amazon EC2 API Calls Using AWS CloudTrail

答案 1 :(得分:0)

是的,正如@Thomas所说,您可以使用cloudTrail记录AWS账户上发生的所有事件。基本上,CloudTrail以JSON格式记录所有AWS API调用,无论是您的应用程序还是使用控制台执行此操作的用户。它还列出了ARN,因此能够跟踪特别运行该命令的人员。可以在控制台中查看日志,也可以使用API​​查看日志。对于控制台,AWS也刚刚推出了一些过滤器。唯一需要做的是为您要监控的区域启用CloudTrail。虽然建议采用良好的IAM策略来避免此类灾难。

可以在cloudtrail上设置cloudwatch日志,以便在发生特定事件时采取措施。

以下是可能对您有所帮助的链接。 http://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_started_top_level.html http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cw_send_ct_events.html

答案 2 :(得分:0)

CloudTrail是门票,但是一旦您获得了数百万个事件,在CloudTrail UI上查看结果就不切实际了。

在这种情况下,您可以将输出管道输出到Kibana / Logstash或sync and grep it