问题描述
我已经使用负载均衡器和最多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 (将#修改为@)