Рейтинг:0

Не удается найти журналы доступа Amplify в группах журналов CloudWatch

флаг ge

Я создаю панель мониторинга CloudWatch и хочу отслеживать журналы доступа Amplify помимо других показателей. Я могу найти журналы доступа на панели управления Amplify (скриншот ниже), но не могу найти те же журналы в группах журналов CloudWatch. Почему это? я должен включить что-нибудь?

введите описание изображения здесь

Рейтинг:1
флаг gb

Следующий Расширение документации AWS в журналах доступа похоже, что они хранятся только в самой Amplify, и на сегодняшний день невозможно отправить их в журналы CloudWatch.

В документации указано, что вы можете скачать их в формате CSV и загрузить обратно в S3 для анализа (используя Athena). В последнем случае следует сначала создать таблицу, затем запросите его:

ВЫБЕРИТЕ СУММУ (байты) КАК total_bytes
ИЗ журналов
ГДЕ "дата" МЕЖДУ ДАТАМИ "2018-06-09" И ДАТАМИ "2018-06-11"
ПРЕДЕЛ 100;
Рейтинг:0
флаг ge

Как упоминалось здесь[1] в документах aws, Amplify хранит журналы доступа для всех приложений, которые вы размещаете в Amplify. Другими словами, он не хранится ни в одном из ваших журналов CloudWatch и просто виден на панели инструментов Amplify Console, а хранится напрямую и доступен через саму консоль Amplify. Таким образом, вы не сможете найти указанные журналы ни в одной из своих групп журналов CloudWatch. Это также указано на вкладке журнала доступа к консоли Amplify.Нажмите кнопку «Изменить диапазон времени», и вы должны увидеть: «Вы можете получить доступ к журналам за любой двухнедельный период, начиная с даты и времени, указанных ниже. Если вы хотите получить доступ к более старым журналам, вам нужно будет настроить функцию Lambda, которая запускается каждые две недели и сохраняет результаты в S3'. Как мы видим, в отличие от журналов CloudWatch, если мы хотим получить доступ к старым журналам Amplify, мы должны явно экспортировать и хранить их где-то локально или в хранилищах данных, таких как S3.

Если вы хотите выполнить дополнительную обработку этих журналов, вы можете загрузить ее через консоль и сделать это. Если вы хотите создать автоматизированное решение для обработки журналов Amplify Access, вы можете выполнить следующие шаги:

  1. Мы можем использовать вызов AWS Api «GenerateAccessLogs» [2], чтобы получить журналы доступа к веб-сайту за определенный период времени с использованием предварительно подписанного URL-адреса. Обратитесь к самому нижнему разделу этого документа[2] со ссылками на соответствующие команды интерфейса командной строки AWS или вызовы SDK для этого действия. Мы можем использовать этот вызов CLI/API/SDK в наших сценариях или коде для программного извлечения журналов доступа и их сохранения где-нибудь (либо в локальном файле, либо в S3).

  2. Если вы хотите автоматизировать описанный выше экспорт журналов, запланируйте запуск своего сценария локально или вы также можете запускать тот же код (скажем, сценарий Python) через AWS Lambda и запланировать выполнение лямбды каждые две недели через AWS EventBridge.

  3. Как только мы экспортируем журналы доступа, скажем, S3 программно или вручную, мы можем выполнить дополнительную обработку этих данных. Например, как упоминалось в разделах «Анализ журналов доступа» ниже этого раздела здесь[2], вы можете использовать AWS Athena для анализа журналов S3. При необходимости вы также можете вернуть результаты Athena в метрики CloudWatch[3].

Справка

[1] https://docs.aws.amazon.com/amplify/latest/userguide/access-logs.html#using-access-logs

[2] https://docs.aws.amazon.com/amplify/latest/APIReference/API_GenerateAccessLogs.html

[3] https://stackoverflow.com/questions/63715926/creating-a-cloudwatch-metrics-from-the-athena-query-results

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.