使用订阅实时处理日志数据 - Amazon CloudWatch Logs
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

使用订阅实时处理日志数据

您可以使用订阅来访问来自 CloudWatch Logs 并将其交付给其他服务,例如 Amazon Kinesis 流, Amazon Kinesis Data Firehose 流股,或 AWS Lambda 用于自定义处理、分析或加载到其他系统。当日志事件发送到接收服务时,它们是编码的Base64,并以GZIP格式压缩。

要开始订阅日志事件,请创建接收资源,例如 Kinesis 将交付事件的流。订阅筛选条件定义了筛选条件模式(用于筛选传输到您的 AWS 资源的日志事件),以及有关要将匹配的日志事件发送到的位置的信息。

每个日志组只能有一个与其关联的订阅筛选条件。

注意

如果目标服务返回一个可重试错误,如限制异常或可重试服务异常(如 HTTP 5xx),则 CloudWatch Logs 继续重试传输长达 24 小时。如果错误是不可重试的错误(如 AccessDeniedException 或 ResourceNotFoundException),则 CloudWatch Logs 不会尝试重新传输。

CloudWatch Logs 还会生成有关将日志事件转发到订阅的 CloudWatch 指标。有关更多信息,请参阅 Amazon CloudWatch Logs 指标与维度

Concepts

每个订阅筛选条件都由以下关键元素组成:

日志组名称

要将订阅筛选条件关联到的日志组。上传到此日志组的所有日志事件都会受到订阅筛选器的约束,并且与接收匹配日志事件的目标服务相匹配的筛选器的所有日志事件都将传递到目标服务。

筛选条件模式

一种符号描述,说明 CloudWatch Logs 应如何解释每个日志事件中的数据以及可限制传输到目标 AWS 资源的内容的筛选表达式。有关筛选条件模式语法的更多信息,请参阅筛选条件和模式语法

目标 ARN

要用作订阅源目标的 Kinesis 流、Kinesis Data Firehose 流或 Lambda 函数的 Amazon 资源名称 (ARN)。

角色 ARN

一个 IAM 授予的角色 CloudWatch Logs 将数据放入选定目标的必要权限。此角色不适用于 Lambda 目标,因为 CloudWatch Logs 可以通过 Lambda 函数本身的访问控制设置获得必要的权限。

分配

当目标是 Amazon Kinesis 流时,用于将日志数据分配到目标的方法。默认情况下,日志数据按日志流进行分组。为了实现更均匀的分配,您可以对日志数据进行随机分组。