如果应用程序重新启动,如何在AWS中保持日志?

我使用Docker在AWS中运行一个Spring引导应用程序。 有时亚马逊必须重新启动一个硬件。 然后,Beanstalk中的实例的Environment Health进行降级,警告并重新启动。

我确实需要过去7天的应用程序日志,但由于未预见的AWS硬件问题而重新启动,因此我丢失了信息。 我怎样才能避免它,使AWS即使在重新启动后保存我所有的日志?

确实,将日志归档到S3可以大部分工作,但您可能需要考虑安装和configurationCloudWatch Logs代理 – http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/QuickStartEC2Instance.html

这会将日志直接传输到CloudWatch并在终止时保存。 你也可以考虑很多其他的解决scheme,如Sumo Logic,ELK,Splunk等。

您应该始终构build解决scheme,以便即使在硬件崩溃时也能做好准备。 一个可能的解决scheme可能是在旋转日志文件时将它们发送到S3存储桶。 你可以创build一个cron-job来做到这一点。