将日志数据导出到 Amazon S3 - Amazon CloudWatch 日志

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

将日志数据导出到 Amazon S3

本章为您提供了信息,以便您可以将日志数据从日志组导出到 Amazon S3 存储桶进行自定义处理和分析,或加载到其他系统。您可以将数据导出到同一账户或其他账户中的存储桶。

您可执行以下操作:

  • 将日志数据导出到由 SSE-KMS in AWS Key Management Service ()AWS KMS加密的 S3 存储桶

  • 将日志数据导出到已启用 S3 对象锁定且具有保留期的 S3 桶

注意

仅标准日志类中的日志组支持导出到 Amazon S3。有关日志类的更多信息,请参阅 日志类

要开始导出进程,您必须创建一个用于存储导出的日志数据的 S3 存储桶。您可以将已导出的文件存储在您的 S3 桶中,并定义 Amazon S3 生命周期规则以自动存档或删除已导出的文件。

您可以将使用 AES -256 或-加密的存储桶导出到 S3 存储桶。SSE KMS不支持导出到使用 DSSE-KMS 加密的存储桶。

可将多个日志组或多个时间范围的日志导出至同一个 S3 存储桶中。要分开每个导出任务的日志数据,您可以指定一个前缀,以便用作所有导出对象的 Amazon S3 键前缀。

注意

不确保会对导出文件中的日志数据块进行基于时间的排序。您可以使用 Linux 实用程序对导出的日志字段数据进行排序。例如,以下实用程序命令对单个文件夹中所有 .gz 文件中的事件进行排序。

find . -exec zcat {} + | sed -r 's/^[0-9]+/\x0&/' | sort -z

以下实用程序命令对多个子文件夹中的.gz 文件进行排序。

find ./*/ -type f -exec zcat {} + | sed -r 's/^[0-9]+/\x0&/' | sort -z

此外,您还可以使用其他 stdout 命令将排序后的输出通过管道传输到另一个文件进行保存。

日志数据可能需要长达 12 小时才能用于导出。导出任务在 24 小时后超时。如果导出任务超时,请在创建导出任务时缩短时间范围。

有关日志数据的近实时分析,请参阅 使用 “日志见解” 分析 CloudWatch 日志数据使用订阅实时处理日志数据

概念

开始之前,请熟悉以下导出概念:

日志组名称

与导出任务关联的日志组的名称。该日志组中的日志数据将导出至指定的 S3 桶中。

从(时间戳)

所需的时间戳,表示为自 1970 年 1 月 1 日 00:00:00 以来的毫秒数。UTC日志组中在此时间或之后提取的所有日志事件都将被导出。

至 (时间戳)

所需的时间戳,表示为自 1970 年 1 月 1 日 00:00:00 以来的毫秒数。UTC日志组中该时间之前获得的所有日志事件都会被导出。

目标存储桶

与导出任务关联的 S3 桶的名称。此存储桶用于导出指定日志组中的日志数据。

目标前缀

可选属性,用作所有导出对象的 Amazon S3 键前缀。这有助于在您的存储桶中创建类似于文件夹的组织结构。