如何解决如何使用 EB cli 查看我的 EB ec2 的 python 日志
所以我有一个 AWS EB 环境,应用程序部署并在运行于 64 位 Amazon Linux 2 的 Python 3.7 上正常运行。 软件配置:
日志组:/aws/elasticbeanstalk/env-uploadedenvname-env
环境属性:APP_VERSION、ENABLE_COOL_NEW_FEATURE、FLASK_DEBUG、MONGO_URI、PYTHONPATH
生命周期:终止时删除日志
日志流:启用
进程数:1
线程数:15
代理服务器:Nginx
保留:3 天
旋转日志:已启用
WsgiPath:应用程序
X-Ray 守护进程:已禁用
在 AWS CloudWatch 中,日志组如下:
/aws/elasticbeanstalk/env-uploadedenvname-env/var/log/eb-engine.log
/aws/elasticbeanstalk/env-uploadedenvname-env/var/log/eb-hooks.log
/aws/elasticbeanstalk/env-uploadedenvname-env/var/log/httpd/access_log
/aws/elasticbeanstalk/env-uploadedenvname-env/var/log/httpd/error_log
/aws/elasticbeanstalk/env-uploadedenvname-env/var/log/Nginx/access.log
/aws/elasticbeanstalk/env-uploadedenvname-env/var/log/Nginx/error.log
/aws/elasticbeanstalk/env-uploadedenvname-env/var/log/web.stdout.log
当我跑步时
eb logs
我得到了
的日志/var/log/eb-engine.log
/var/log/web.stdout.log
/var/log/Nginx/access.log
/var/log/Nginx/error.log
我的 .ebextensions 包含一个名为 python.config 的文件
option_settings:
aws:elasticbeanstalk:application:environment:
FLASK_DEBUG: true
APP_VERSION: v3.1.0
ENABLE_COOL_NEW_FEATURE: false
MONGO_URI: gvhbjhygjhjuyghjbjhugjbjhbjn
我基本上希望能够查看我的 Python 应用程序的日志,以便我可以在开发中调试源代码中的问题。
编辑 1
在 Elastic Beanstalk > env-uploadedenvname-env > 配置 > 软件 > S3 日志存储被禁用,所以我启用它 & 实例日志流式传输到 CloudWatch Logs 被禁用,所以我启用了它。
**编辑并结束问题 问题不是我看不到输出,它总是在 /var/log/web.stdout.log 文件中,但是当我压缩文件以将其上传到 EB 环境时,我正在使用该文件压缩它经理。这会导致上传问题,因为 procfile 被放置在应用程序旁边而不是内部。 效果看起来好像没有日志文件,但实际上应用程序从未通过 procfile。
解决方案是
cd path/to/application
zip -r my_application_code.zip .
现在,当我将 zip 文件上传到 EB 控制台时,procfile 会正确生成,并且应用程序日志文件可以正常在 web.stdout.log 中找到。
感谢您的帮助。
解决方法
您可以尝试将以下内容添加到您的 python.config
,或者创建新的配置文件,例如mylogs.config
:
files:
"/opt/elasticbeanstalk/config/private/logtasks/bundle/applogs.conf" :
mode: "000755"
owner: root
group: root
content: |
/opt/python/log/*.log
/opt/python/log/*.log
应根据您的应用进行调整。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。