загрузка пользовательских журналов в s3 в cloudwatch для мониторинга показателей

#amazon-web-services #amazon-s3 #amazon-cloudwatch

#amazon-веб-сервисы #amazon-s3 #amazon-cloudwatch

Вопрос:

Я создал пользовательское приложение, которое автоматически загружает журналы в s3. Есть ли способ отправить эти журналы в cloudwatch из s3 для анализа и оповещения? Я знаю, что могу использовать агент cloudwatch для отправки непосредственно в cloudwatch из приложения, но с этим вариантом связаны сложности. Спасибо!

Ответ №1:

Вероятно, вы могли бы использовать события Cloudwatch для прослушивания изменений в S3. Не уверен, можете ли вы получить данные из файла S3 или просто триггер, сообщающий, что добавлен новый журнал.

Вы также можете использовать уведомления о событиях S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html ) подключается либо к lambda, либо к SQS, и оттуда создает журналы в Cloudwatch. (аналогично тому, что было предложено @marcin)

Лучшим решением, но выходящим за рамки вопроса, было бы отправить ваши журналы через Kinesis Firehose и оттуда добавить журналы Cloudwatch и S3.

Ответ №2:

Я не знаю ни о каком готовом механизме для этого, предоставляемом AWS. Но я думаю, что это может быть относительно легко разработать.

А именно, вы можете создать уведомление S3 для переноса нового файла журнала из вашего приложения в S3. Событие вызовет лямбда-функцию. Функция получит файл и, используя AWS SDK, например, put_log_events от boto3, отправит события журнала в журналы CloudWatch.