Java应用程序的AWS Elastic Beanstalk默认CloudWatch日志位置

问题描述

我已经使用负载均衡器和最多2个EC2实例在AWS Elastic Beanstalk环境中部署了JAR文件。

我的环境似乎正在使用新的统一CloudWatch代理,而不是旧的CloudWatch Logs代理

在控制台的环境配置中,我打开了“实例日志流式传输到CloudWatch Logs”,现在在CloudWatch Logs中,我得到以下组:

  • /aws/elasticbeanstalk/myapp-myenv/var/log/eb-engine.log
  • /aws/elasticbeanstalk/myapp-myenv/var/log/eb-hooks.log
  • /aws/elasticbeanstalk/myapp-myenv/var/log/nginx/access.log
  • /aws/elasticbeanstalk/myapp-myenv/var/log/nginx/error.log
  • /aws/elasticbeanstalk/myapp-myenv/var/log/web.stdout.log

这很好。值得注意的是,Web服务器访问位于access.log中,甚至我的JAR文件的STDOUT控制台输出也位于web.stdout.log中。到目前为止一切顺利。

现在让我们说我希望我的JAR应用程序生成一个日志文件,并在CloudWatch Logs中自动将其拾取。我已经读过Elastic Beanstalk EC2 logging documentation,上面说我可以在应用程序中捆绑特殊的.ebextensions来指示新的日志记录位置“ [i]如果您的应用程序在不属于默认值的位置生成日志,您的环境平台的配置”。

短期而言,我不想创建一个.ebextensions文件。关于“……位置……默认配置的一部分……”的部分引起了我的兴趣。

Elastic Beanstalk Java平台日志是否存在默认位置?换句话说,是否存在一些/var/log/app/之类的默认位置,我可以将我的应用程序日志简单地存储到该位置(例如(通过环境变量配置),并让带有新的统一代理的CloudWatch Logs自动选择它们,而无需创建.ebextensions文件? (作为第二好的解决方案,有没有办法我可以使用AWS控制台配置位置?)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)