我们在AWS上运行大量实例和ELB。最近我们经历了奇怪的行为我们不知道我们的boto脚本是否负责或AWS是否有故障。这可能也是人为错误。
我们无法知道谁在EC2实例上做了什么,这是一个问题。
这意味着:
有没有办法在AWS中开始记录EC2操作?
或者,在SQS或SNS上发送EC2事件?那么我们可以听事件而不是阅读日志吗?
答案 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。