从CloudWatch日志导出任务中获取单个且排序的导出日志数据是否可行?

0

【以下的问题经过翻译处理】 目前我使用 CreateExportTask API 来备份我的日志数据。

问题在于,在S3上导出的数据(针对单个日志组)会被分为几个文件,并且每个文件的时间戳都是无序的。

我想知道是否有办法通过导出任务获取一个单一有序的文件,或者我需要编写一个脚本来合并和排序导出的数据。

编辑)

导出的文件按照以下方式进行分割:

  • 000000.gz
  • 000001.gz
  • 000002.gz

所有文件都是无序的(前5行的时间戳):

  1. 2021-12-03T11:13:34.909Z
  2. 2021-12-03T11:13:57.499Z
  3. 2021-12-03T11:14:34.909Z
  4. 2021-12-22T15:28:14.909Z // 突然跳转
  5. 2021-12-22T15:31:14.909Z
1 Antwort
0

【以下的回答经过翻译处理】 你好,感谢您联系我们!

目前,使用 CreateExportTask API 将日志从 CloudWatch 导出到 S3,无序的日志文件是预期行为。

因此,需要手动使用脚本将文件排序和合并,或使用标准的 Linux 工具时可以使用下面的命令:

例如 1:

sort -k1 "000000 (1)" > 000000_sorted.txt

例如 2:

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

将“.”替换为从 S3 导出下载的 .gz 文件名,您还可以将其与另一个 stdout 命令管道连接到另一个文件,以便您可以保存排序输出。

可以确认,有一个开放的功能请求,允许在使用 CreateExportTask 时产生有序的结果。虽然无法明确此功能何时发布,但您可以关注我们的 最新消息 和 博客 页面以获取任何新功能公告!

profile picture
EXPERTE
beantwortet vor 6 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen