当我通过web界面或“eb logs”请求弹性beanstalk环境的日志文件时,我得到日志文件/var/log/eb-version-deployment.log,/ opt / python /的内容log / httpd.out,/ var / log / cfn-hup.log和其他几个。
有没有办法将额外的日志(如test_output.log)添加到Web界面和“eb日志”收集的日志中?
答案 0 :(得分:22)
Elastic Beanstalk在此文件夹中查找有关哪些日志尾部的配置文件:
/opt/elasticbeanstalk/tasks/taillogs.d/
我的盒子上有一些文件
[ec2-user@ip taillogs.d]$ ls -al
total 32
drwxr-xr-x 2 root root 4096 Sep 27 05:49 .
drwxr-xr-x 6 root root 4096 Sep 27 05:49 ..
-rw-r--r-- 1 root root 58 Sep 27 05:49 eb-activity.conf
-rw-r--r-- 1 root root 35 Sep 27 05:49 eb-version-deployment.conf
-rw-r--r-- 1 root root 16 Oct 15 03:44 httpd.conf
-rw-r--r-- 1 root root 16 Oct 15 03:44 nginx.conf
-rw-r--r-- 1 root root 26 Oct 15 03:44 nodejs.conf
-rw-r--r-- 1 root root 29 Oct 15 03:44 npm.conf
每个人都有一行,如下:
/var/log/nodejs/nodejs.log
或
/var/log/nginx/*
使用.ebextensions
添加配置文件来拖尾自己的日志:
files:
"/opt/elasticbeanstalk/tasks/taillogs.d/my-app-logs.conf":
mode: "000755"
owner: root
group: root
content: |
/var/log/my-app.log
更多信息:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.logging.html#health-logs-extend
答案 1 :(得分:4)
是的!有一种方法。你永远不应该ssh到你的Elastic Beanstalk实例。
我们通过检查eb-activity.log
文件找到了。
根据您的环境类型(我使用Beanstalk中的Python),您可以放置日志文件的位置会有所不同。您需要检查eb-activity.log
。
例如,使用Python环境类型,在eb-activity.log
中,您应该看到:
[2015-09-15T20:29:36.102Z] INFO [2403] - [Initialization/PreInitStage0/PreInitHook/01setuplogs.sh] : Completed activity. Result:
+ mkdir -p /opt/elasticbeanstalk/tasks/taillogs.d /opt/elasticbeanstalk/tasks/sytemtaillogs.d /opt/elasticbeanstalk/tasks/bundlelogs.d /opt/elasticbeanstalk/tasks/publishlogs.d
+ /opt/elasticbeanstalk/bin/log-conf -n python '-l/opt/python/log/*' -t taillogs,systemtaillogs,bundlelogs
+ /opt/elasticbeanstalk/bin/log-conf -n python-app '-l/opt/python/log/app.out.*' -t publishlogs
+ /opt/elasticbeanstalk/bin/log-conf -n supervisord '-l/opt/python/log/supervisord.log.*' -t publishlogs
+ /opt/elasticbeanstalk/bin/log-conf -nhttpd '-l/var/log/httpd/*' -f /opt/elasticbeanstalk/containerfiles/beanstalkhttpd
以上显示Beanstalk为以下任何文件配置日志记录:
也就是说,如果您将日志文件放在/opt/python/log/
中,Beanstalk会在您“请求日志”时找到它并显示它。我将我的日志文件放在/opt/python/log/
中,因为它可以由WSGI组(运行我的应用程序)访问。如果你顺便使用Ruby环境类型,这会略有不同。您仍然可以检查eb-activity.log
哪些目录设置为记录。