

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon SQS 中的日志记录和监控
<a name="logging-and-monitoring"></a>

Amazon Simple Queue Service 与 [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) 集成，后者是一项服务，可提供由用户、角色或 AWS 服务 服务所采取操作的记录。CloudTrail 将 Amazon SQS 的所有 API 调用作为事件捕获。捕获调用中包括通过 Amazon SQS 控制台的调用和对 Amazon SQS API 操作的代码调用。借助通过 CloudTrail 收集的信息，您可以确定向 Amazon SQS 发出的请求、发出请求的 IP 地址、请求的发出时间以及其他详细信息。

每个事件或日志条目都包含有关生成请求的人员信息。身份信息有助于您确定以下内容：
+ 请求是使用根用户凭证还是用户凭证发出的。
+ 请求是否代表 IAM Identity Center 用户发出。
+ 请求是使用角色还是联合用户的临时安全凭证发出的。
+ 请求是否由其他 AWS 服务 发出。

当您创建账户并可以自动访问 CloudTrail **事件历史记录**时，CloudTrail 在您的 AWS 账户 中处于活动状态。CloudTrail **事件历史记录**提供对 AWS 区域 中过去 90 天的已记录管理事件的可查看、可搜索、可下载和不可变记录。有关更多信息，请参见《AWS CloudTrail 用户指南》的 [使用 CloudTrail 事件历史记录](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)**。查看**事件历史记录**不会收取 CloudTrail 费用。

要持续记录您的 AWS 账户 过去 90 天的事件，请创建跟踪或 [CloudTrail Lake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html) 事件数据存储。

**Amazon CloudWatch 警报**  
在您指定的时间段监控单个指标，并根据该指标在多个时间段内相对于设定阈值的数值，采取一项或多项操作。例如，您可以将 CloudWatch 警报配置为向 Amazon SNS 主题发送通知，或触发向 Amazon SQS 队列发送消息的操作。CloudWatch 警报不会仅仅因为处于特定状态就执行操作；状态必须发生变化并在定义的若干个时间段内保持不变。  
有关更多信息，请参阅[为 Amazon SQS 指标创建 CloudWatch 警报](set-cloudwatch-alarms-for-metrics.md)和[使用 Amazon 为死信队列创建警报 CloudWatch](dead-letter-queues-alarms-cloudwatch.md)。

**Amazon CloudWatch Logs**  
通过配置处理消息的应用程序或 Lambda 函数，将日志发送到 CloudWatch Logs，监控、存储和访问与 Amazon SQS 相关的日志文件。您可以利用这些日志分析消息处理过程、调试问题并监控 Amazon SQS 工作流的性能。  
有关更多信息，请参阅 [使用记录亚马逊简单队列服务 API 调用 AWS CloudTrail](logging-using-cloudtrail.md)。

**Amazon CloudWatch Events**  
使用 Amazon CloudWatch Events 检测 AWS 环境中的变更或特定事件，并将它们路由到 Amazon SQS 队列。这让您能够捕获事件数据、触发工作流或存储事件以供后续处理。  
有关更多信息，请参阅本指南中的 [使用亚马逊自动将 AWS 服务发送到亚马逊 SQS 的通知 EventBridge](sqs-automating-using-eventbridge.md)以及《Amazon EventBridge 用户指南》**中的 [EventBridge is the evolution of Amazon CloudWatch Events](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cwe-now-eb.html)。

**AWS CloudTrail 日志**  
CloudTrail 会详细记录用户、角色或 AWS 服务 服务在 Amazon SQS 上执行的操作。借助这些日志，您可以跟踪 API 调用（如 [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)、[https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html) 或 [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteQueue.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteQueue.html)），并提供关键信息，包括请求发起者、发生时间以及来源 IP 地址。  
有关更多信息，请参阅 [使用记录亚马逊简单队列服务 API 调用 AWS CloudTrail](logging-using-cloudtrail.md)。

**AWS Trusted Advisor**  
Trusted Advisor 使用为 AWS 客户服务的最佳实践，帮助您优化 Amazon SQS 使用。它会审查您的 Amazon SQS 队列并提供切实可行的建议，以增强安全性、提高消息处理可靠性并降低成本。例如，它可能会建议启用死信队列或改进队列访问策略，以确保安全操作。  
有关更多信息，请参阅《支持 用户指南》**中的 [AWS Trusted Advisor](https://docs.aws.amazon.com/awssupport/latest/user/getting-started.html#trusted-advisor)。

**CloudTrail 跟踪**  
通过*跟踪记录*，CloudTrail 可将日志文件传送至 Simple Storage Service (Amazon S3) 存储桶。使用 AWS 管理控制台 创建的所有跟踪均具有多区域属性。您可以通过使用 AWS CLI 创建单区域或多区域跟踪。建议创建多区域跟踪，因为您可记录您账户中的所有 AWS 区域 的活动。如果您创建单区域跟踪，则只能查看跟踪的 AWS 区域 中记录的事件。有关跟踪的更多信息，请参阅《AWS CloudTrail 用户指南》**中的[为您的 AWS 账户 创建跟踪](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)和[为组织创建跟踪](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-trail-organization.html)。  
通过创建跟踪，您可以从 CloudTrail 免费向您的 Amazon S3 存储桶传送一份正在进行的管理事件的副本，但会收取 Amazon S3 存储费用。有关 CloudTrail 定价的更多信息，请参阅 [AWS CloudTrail 定价](https://aws.amazon.com/cloudtrail/pricing/)。有关 Amazon S3 定价的信息，请参阅 [Amazon S3 定价](https://aws.amazon.com/s3/pricing/)。

**CloudTrail Lake 事件数据存储**  
*CloudTrail Lake* 允许您对事件运行基于 SQL 的查询。CloudTrail Lake 可将基于行的 JSON 格式的现有事件转换为 [Apache ORC](https://orc.apache.org/) 格式。ORC 是一种针对快速检索数据进行优化的列式存储格式。事件将被聚合到*事件数据存储*中，它是基于您通过应用[高级事件选择器](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-concepts.html#adv-event-selectors)选择的条件的不可变的事件集合。应用于事件数据存储的选择器用于控制哪些事件持续存在并可供您查询。有关 CloudTrail Lake 的更多信息，请参阅《AWS CloudTrail 用户指南》**中的[使用 AWS CloudTrail Lake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html)。  
CloudTrail Lake 事件数据存储和查询会产生费用。创建事件数据存储时，您可以选择要用于事件数据存储的[定价选项](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-manage-costs.html#cloudtrail-lake-manage-costs-pricing-option)。定价选项决定了摄取和存储事件的成本，以及事件数据存储的默认和最长保留期。有关 CloudTrail 定价的更多信息，请参阅 [AWS CloudTrail 定价](https://aws.amazon.com/cloudtrail/pricing/)。