Как поместить файлы журналов в формате ключ-значение в красное смещение (из S3 или напрямую с серверов приложений)

У меня есть журналы в формате ключ-значение. Эти пары "ключ-значение" могут меняться для разных журналов. Хочу сделать аналитику по нему.. Поскольку он неструктурирован, подумал, что мне следует поставить dynamodb, но тогда для аналитики лучше использовать красное смещение. Мне также, возможно, не придется сохранять все ключи-значения в красном смещении, но это необязательно. Несколько вариантов, о которых я думал:

  1. Поместите журналы в S3. Затем используйте команду копирования; но я не смог найти способ преобразовать ключ-значение в формат JSON в команде COPY, потому что для копирования требуется только json или csv!
  2. Используйте Kinesis Stream, чтобы получать файлы журналов в потоковом режиме. Но тогда как лучше всего использовать эти файлы журналов? Через клиентскую библиотеку Lambda или Kinesis! Один из вариантов, о котором я думал, - это средство форматирования агента kinesis для форматирования файлов в JSON, но это не очень гибко. А после чего!
  3. Поместите файлы журнала в журналы CloudWatch! Но тогда как его потреблять

person Deepak Singhal    schedule 07.07.2016    source источник


Ответы (2)


Amazon AWS опубликовал очень интересный блог по этому поводу. Посмотрите, соответствует ли это вашим требованиям.

ETL Обработка журналов веб-сервера с помощью AWS EMR и DataPipeline

Для работы в режиме реального времени вы также можете посмотреть реконструированный Kinesis Firehose Stream. Что переносит ваши данные прямо в S3 или Redshift. Вы можете изменить своего производителя или издателя Kinesis, чтобы преобразовать журналы в json или csv для выполнения операции загрузки.

Пожалуйста, прокомментируйте ниже для получения дополнительной помощи.

person Murtaza Kanchwala    schedule 13.07.2016

Если у вас есть данные в S3, попробуйте использовать шаблон «Загрузка данных из S3 в Redshift» в AWS Data Pipeline. Этот шаблон позаботится о загрузке данных из S3 в Redshift.

Примечание. Он может использовать EMR и поэтому может запускать EC2 для обработки данных, пока не загрузит их в красное смещение.

person omuthu    schedule 08.07.2016