

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

# 使用订阅实时处理日志数据
<a name="Subscriptions"></a>

您可以使用订阅来访问来自 CloudWatch 日志的实时日志事件源，并将其传输到其他服务，例如 Amazon Kinesis 流、Amazon Data Firehose 流，或者 AWS Lambda 用于自定义处理、分析或加载到其他系统。当将录入事件发送到接收它们的服务时，它们会经过 base64 编码并使用 gzip 格式进行压缩。

您还可以使用 CloudWatch 日志集中化将来自多个账户和地区的日志数据复制到一个中心位置。有关更多信息，请参阅 [跨账户跨区域日志集中化](CloudWatchLogs_Centralization.md)。

要开始订阅日志事件，请创建接收资源，例如 Amazon Kinesis Data Streams 流，事件将在其中传送。订阅筛选器定义了筛选器模式，用于筛选哪些日志事件会传递到您的 AWS 资源，以及有关将匹配的日志事件发送到何处的信息。日志事件在摄取后不久（通常不到三分钟）就会发送到接收资源。

**注意**  
如果具有订阅的日志组使用日志转换，则会将筛选模式与日志事件的转换版本进行比较。有关更多信息，请参阅 [在摄取期间转换日志](CloudWatch-Logs-Transformation.md)。

您可以在账户级别和日志组级别创建订阅。每个账户对于每个区域可以有一个账户级订阅筛选条件。每个日志组最多只能有两个与其关联的订阅筛选条件。

**注意**  
如果目标服务返回可重试的错误，例如限制异常或可重试的服务异常（例如 HTTP 5xx），则 CloudWatch 日志会继续重试传送长达 24 小时。 CloudWatch 如果错误是不可重试的错误（例如或），则日志不会尝试重新传送。 AccessDeniedException ResourceNotFoundException在这些情况下，订阅筛选器最多会被禁用 10 分钟，然后 CloudWatch Logs 会重试向目标发送日志。在此禁用期间，将跳过日志。

CloudWatch 日志还会生成有关将日志事件转发给订阅的 CloudWatch 指标。有关更多信息，请参阅 [使用 CloudWatch 指标进行监控](CloudWatch-Logs-Monitoring-CloudWatch-Metrics.md)。

 您还可以使用 CloudWatch 日志订阅将日志数据近乎实时地流式传输到 Amazon S OpenSearch ervice 集群。有关更多信息，请参阅将[ CloudWatch 日志数据流式传输到 Amazon OpenSearch 服务](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_OpenSearch_Stream.html)。

仅标准日志类中的日志组支持订阅。有关日志类的更多信息，请参阅 [日志类](CloudWatch_Logs_Log_Classes.md)。

**注意**  
订阅筛选条件可能会批量记录事件以优化传输并减少对目的地的调用量。不保证使用批处理，但会尽可能地使用。

要按计划对日志数据进行批处理和分析，请考虑使用[使用计划查询自动分析日志](ScheduledQueries.md)。计划查询会自动运行 CloudWatch Logs Insights 查询，并将结果传送到 Amazon S3 存储桶或 Amazon EventBridge 事件总线等目的地。

**注意**  
订阅过滤器可确保事件至少一次传送，而重复的事件可能偶尔会发生。

**Topics**
+ [概念](subscription-concepts.md)
+ [日志组级别订阅筛选条件](SubscriptionFilters.md)
+ [账户级订阅筛选条件](SubscriptionFilters-AccountLevel.md)
+ [跨账户跨区域订阅](CrossAccountSubscriptions.md)
+ [混淆代理问题防范](Subscriptions-confused-deputy.md)
+ [防止日志递归](Subscriptions-recursion-prevention.md)