0

Мой пользовательский процесс - это периодический процесс обработки журналов доступа S3 (имеющих эти 18 полей) и нажатия на стол в RDS. Я использую конвейер данных AWS для выполнения этой задачи каждый день, чтобы обрабатывать журналы предыдущего дня.протоколы доступа к процессу s3 с использованием базы данных AWS

я решил разделить задачу на два вида деятельности 1. Командная оболочка Активность: Для обработки журналов доступа s3 и создать файл CSV 2. Улей активность: Для чтения данных из CSV-файла и вставить в таблицу RDS.

В моем ведомости s3 есть много файлов журналов, поэтому первое действие выходит из строя из-за ошибки в памяти при постановке. Однако я не хочу создавать все журналы, для меня достаточно записи журнала предыдущего дня. Я искал в Интернете, но не получил никакого решения. Как мне это достичь? Является ли мое решение оптимальным? Существует ли какое-либо решение лучше этого? Любые предложения будут полезны

Спасибо заранее

ответ

0

Вы можете определить S3 данных метки времени использования узла. Напр. Вы можете сказать, что путь к каталогу

s3: // yourbucket/# {формат (@scheduledStartTime, 'YYYY-MM-DD-HH-мм-сс')}

Поскольку файлы журналов должны иметь временную метку в названии (или они могут быть организованы по временным каталогам).

Это создаст только файлы, соответствующие этому шаблону.

+0

Вот список выражений, которые вы можете использовать: http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-pipeline-reference-functions-datetime.html –

+0

Спасибо за ур ответ .. Когда я дал выражение, которое пытается сопоставить с точным именем, но в файлах журналов есть некоторый префикс, добавленный к отметке времени. Я пытался давать регулярные выражения, а многие другие методы ничего не работали, не могли найти никакой информации в aws docs .. Знаете ли вы каким-то образом делать то, что я хочу? – ramya

+0

Я узнал, что дата-линия AWS не поддерживает обработку регулярных выражений. Когда вы разрешаете ведение журнала для ведра, возможно ли ежедневно создавать папки и размещать журналы доступа в этот день в S3? Если это возможно, как мне это достичь? – ramya

0

Возможно, вы можете воссоздать решение, которое уже выполнено Logstash (или, точнее, стек ELK).

http://logstash.net/docs/1.4.2/inputs/s3

Logstash может потреблять S3 файлы.

Вот поток на чтение журналов доступа из S3

https://groups.google.com/forum/#!topic/logstash-users/HqHWklNfB9A

Мы используем Splunk (не бесплатно), который имеет те же возможности, через его AWS плагин.

0

Могу ли я спросить, почему вы нажимаете журналы доступа на RDS? ELK может стать отличным решением для вас. Вы можете создать его самостоятельно или использовать ELK-as-a-service из Logz.io (я работаю для Logz.io).

Это позволяет вам легко определить ведро S3, получить все ваши журналы, регулярно читаемые из ковша и попавшие в ELK, и просматривать их в предварительно сконфигурированных информационных панелях.

+0

Я нажимаю RDS по двум причинам: 1) Я хочу запускать запросы на сохраненные данные и выполнять анализ по мере необходимости. 2) Я хочу хранилище настойчивости. Я вообще не знаю, что такое ELK. Посмотрите на него благодаря – ramya

Смежные вопросы