Экспорт журналов Cloudwatch в оригинальном формате - PullRequest
0 голосов
/ 02 июля 2019

Я ищу способ экспортировать журналы CW в их первоначальном виде в s3. Я использовал консоль для экспорта журналов на несколько дней из группы журналов, и похоже, что в каждой строке была добавлена ​​временная метка, что нарушало первоначальное форматирование JSON. Я искал, чтобы импортировать это в клей как файл json для тестового сценария преобразования. Используемые исходные данные форматируются как обычная строка json при импорте в cloudwatch и обычно обрабатывают данные, которые выглядят следующим образом:

{ "a": 123, "b": "456", "c": 789 }

После экспорта и распаковки данных это выглядит как

2019-06-28T00:00:00.099Z { "a": 123, "b": "456", "c": 789 }

Что прерывает чтение строки как строки json, так как она больше не является стандартным форматом.

Набор данных достаточно большой (100 ГБ +) для этого прогона и, возможно, будет увеличиваться в будущем, поэтому, на мой взгляд, выполнение команды CLI и локальная обработка каждой строки неосуществимы. Есть ли какой-нибудь известный способ сделать то, что я ищу?

Спасибо

1 Ответ

1 голос
/ 06 июля 2019

Метки времени добавляются автоматически при отправке журналов в CloudWatch.Все события журнала, присутствующие в CloudWatch, имеют временную метку.

Вы можете создать фильтр подписки для Kinesis Firehose, а в Kinesis с помощью лямбда-функции вы можете сформировать события журнала (удалить временную метку), а затем сохранить журналы в S3..

https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Subscriptions.html

...