我创建了一个自定义应用,该应用会自动将日志上传到s3。 有没有办法将这些日志从s3推送到cloudwatch以进行分析和警报? 我知道我可以使用cloudwatch代理直接从应用程序推送到cloudwatch,但是该选项涉及复杂性。 谢谢!
答案 0 :(得分:1)
您可能可以使用Cloudwatch Events来监听S3的更改。不确定是否可以从S3文件中获取数据,或者只是触发器说已添加了新日志。
您还可以使用连接到Lambda或SQS的S3事件通知(https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html),然后从那里创建到Cloudwatch的日志。 (类似于@marcin的建议)
一种更好的解决方案,但是有点超出问题的范围,那就是通过Kinesis Firehose发送您的日志,然后从其中添加Cloudwatch和S3日志。
答案 1 :(得分:0)
我不知道AWS提供的任何现成机制。但是我认为开发相对容易。
也就是说,您可以为从应用程序到S3的新日志文件的PUT创建S3 notification。该事件将触发 lambda函数。该函数将获取文件并使用 AWS SDK ,例如boto3的put_log_events,它将日志事件发送到CloudWatch日志。