目前使用Amazon Web服务,我成功地在Elastic Beanstalk(具有绿色群集运行状况)上将多个应用程序部署为Docker容器。
但是,当我尝试使用控制台获取日志时出现问题; 当我做“请求日志”时,没有发现日志。 当我在请求日志后返回仪表板时,出现了一个新的事件/错误:
[Instance:i-123456789]命令在实例上失败。 返回码:1输出:bundleLogs.py –conf-path'/opt/elasticbeanstalk/tasks/bundlelogs.d/*'–location-prefix'resources / environments / logs / bundle /'无法执行任何方法publish_contents_from_filename的目标对象。 有关更多详细信息,请使用控制台或EB CLI检查/var/log/eb-activity.log。
试图解决这个问题,我SSH进入我的集群,并使用下面的命令来find我的Docker容器中的日志:
sudo docker exec myinstance cat /var/log/logstash_activity.log
我的日志按预期发现。
试着更多地了解这个错误,我查看了/var/log/eb-activity.log并find了以下几行:
[2015-07-06T12:54:30.137Z] INFO [26993] - [CMD-BundleLogs] : Starting activity... [2015-07-06T12:54:30.363Z] INFO [26993] - [CMD-BundleLogs/AddonsBefore] : Starting activity... [2015-07-06T12:54:30.363Z] INFO [26993] - [CMD-BundleLogs/AddonsBefore] : Completed activity. [2015-07-06T12:54:30.363Z] INFO [26993] - [CMD-BundleLogs/BundleLogs] : Starting activity... [2015-07-06T12:54:30.364Z] INFO [26993] - [CMD-BundleLogs/BundleLogs/BundleLogs] : Starting activity... [2015-07-06T12:54:30.627Z] INFO [26993] - [CMD-BundleLogs/BundleLogs/BundleLogs] : Activity execution failed, because: bundleLogs.py --conf-path '/opt/elasticbeanstalk/tasks/bundlelogs.d/*' --location-prefix 'resources/environments/logs/bundle/' Unable to execute method publish_contents_from_filename on any of the target objects (Executor::NonZeroExitStatus) [2015-07-06T12:54:30.627Z] INFO [26993] - [CMD-BundleLogs/BundleLogs/BundleLogs] : Activity failed. [2015-07-06T12:54:30.627Z] INFO [26993] - [CMD-BundleLogs/BundleLogs] : Activity failed. [2015-07-06T12:54:30.627Z] INFO [26993] - [CMD-BundleLogs] : Completed activity. Result: Command CMD-BundleLogs failed.
错误信息并没有帮助我很多。
在我的Dockerrun.aws.json的“Logging”字段中,我给出了path“/ var / log”,因为它是包含我的应用程序日志等的文件夹。 我也尝试了值“/var/log/logstash_activity.log”没有更多的成功。
为什么Beanstalk控制台找不到我的应用程序的日志?
老问题,但我只是想到了我们的应用程序。 你使用什么用户策略? 如果您正在使用ReadOnly ,则默认策略“ AWSElasticBeanstalkReadOnlyAccess ”不包含日志下载function。 在aws文档中,可以为用户创build一个IAM策略的示例来启用此function。
请参阅“创build自定义用户策略”下的http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.managed-policies.html 。 最后一个例子显示了在ReadOnlyAccess策略中已经提供的必要的S3权限,以便捆绑和下载日志。