使用 AWS CloudTrail 记录 X-Ray API 调用 - AWS X-Ray
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 AWS CloudTrail 记录 X-Ray API 调用

AWS X-Ray 与 AWS CloudTrail 集成,以记录 X-Ray 中用户、角色或 AWS 服务的 API 操作。您可以使用 CloudTrail 实时监控 X-Ray API 请求并将日志存储在 Amazon S3、Amazon CloudWatch Logs 和 Amazon CloudWatch Events 中。X-Ray 支持在 CloudTrail 日志文件中将以下操作记录为事件:

创建跟踪

  1. 打开 CloudTrail 控制台的 Trails (跟踪) 页面

  2. 选择 Create trail

  3. 输入跟踪名称,然后选择要记录的事件类型

    • Management events (管理事件) – 记录创建、读取、更新或删除 AWS 资源的 API 操作。记录调用所有 AWS 服务的所有支持的 API 操作。

    • Data events (数据事件) – 记录针对特定资源的 API 操作,例如 Amazon S3 对象读取或 AWS Lambda 函数调用。您可以选择要监控的存储桶和函数。

  4. 选择 Amazon S3 存储桶和加密设置

  5. 选择 Create

CloudTrail 将您所选类型的 API 调用记录到 Amazon S3 中的日志文件。CloudTrail 日志是 JSON 格式的一系列无序事件。对于支持的 API 操作的每次调用,CloudTrail 会记录请求信息,以及发出请求的实体。日志事件中包含操作名称、参数和 X-Ray 响应,以及请求者的详细信息。

例 X-Ray GetEncryptionConfig 日志条目

{ "eventVersion"=>"1.05", "userIdentity"=>{ "type"=>"AssumedRole", "principalId"=>"AROAJVHBZWD3DN6CI2MHM:MyName", "arn"=>"arn:aws:sts::123456789012:assumed-role/MyRole/MyName", "accountId"=>"123456789012", "accessKeyId"=>"AKIAIOSFODNN7EXAMPLE", "sessionContext"=>{ "attributes"=>{ "mfaAuthenticated"=>"false", "creationDate"=>"2018-9-01T00:24:36Z" }, "sessionIssuer"=>{ "type"=>"Role", "principalId"=>"AROAJVHBZWD3DN6CI2MHM", "arn"=>"arn:aws:iam::123456789012:role/MyRole", "accountId"=>"123456789012", "userName"=>"MyRole" } } }, "eventTime"=>"2018-9-01T00:24:36Z", "eventSource"=>"xray.amazonaws.com", "eventName"=>"GetEncryptionConfig", "awsRegion"=>"us-east-2", "sourceIPAddress"=>"33.255.33.255", "userAgent"=>"aws-sdk-ruby2/2.11.19 ruby/2.3.1 x86_64-linux", "requestParameters"=>nil, "responseElements"=>nil, "requestID"=>"3fda699a-32e7-4c20-37af-edc2be5acbdb", "eventID"=>"039c3d45-6baa-11e3-2f3e-e5a036343c9f", "eventType"=>"AwsApiCall", "recipientAccountId"=>"123456789012" }

userIdentity 元素中包含生成请求的人员的相关信息。身份信息帮助您确定以下内容:

  • 请求是使用根用户凭证还是 IAM 用户凭证发出的。

  • 请求是使用角色还是联合身份用户的临时安全凭证发出的。

  • 请求是否由其他 AWS 服务发出。

要在有可用的新日志文件时获得通知,请配置 CloudTrail 以发布 Amazon SNS 通知。有关更多信息,请参阅为 CloudTrail 配置 Amazon SNS 通知

您还可以将多个 AWS 区域和多个 AWS 账户中的 X-Ray 日志文件聚合到单个 Amazon S3 存储桶中。有关更多信息,请参阅接收多个区域中的 CloudTrail 日志文件从多个账户中接收 CloudTrail 日志文件