Какой сервис AWS регистрирует события взаимодействия с пользовательским приложением через Lambda, может быть, Cloudwatch? - PullRequest
0 голосов
/ 07 июня 2018

Мы разрабатываем сервер API (graphql, prisma, node), работающий в Lambda (развернутый через Apex Up ).

Мы хотели бы регистрировать некоторые пользовательские события, такие как:

  • Успешный вход в систему
  • Ошибка входа в систему
  • Пользователь предпринял действия X

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

Просто интересно, лучше ли нам хранить этот материал прямо в Cloudwatch.Является ли Cloudwatch подходящим для данных, которые мы хотели бы классифицировать, а затем проанализировать / запросить позже по user_id и event_type?

Есть ли что-то еще более подходящее для AWS или иным образом?

1 Ответ

0 голосов
/ 07 июня 2018

CloudWatch - хорошее место для хранения необработанных необработанных журналов.Однако вы не можете запросить CloudWatch для пользовательских полей (например, user_id или event_type).

Что вы можете сделать, это использовать фильтры подписки CloudWatch для отправки журналов из CloudWatch в KinesisПоток для дальнейшей обработки.Затем вы можете подписать лямбда-функцию на ваш поток Kinesis .

В функции Lamba вы можете делать что угодно с каждой записью журнала.Вот некоторые идеи:

  • Хранить записи журнала в формате Parquet на S3, к которым впоследствии можно будет обращаться с помощью Redshift Spectrum
  • Анализировать записи журнала и отправлять их в базу данных Redshift
  • Анализировать записи в журнале и отправлять их в кластер ElasticSearch, чтобы запрашивать их с помощью Kibana
  • и т. Д.
...