【问题标题】:How do I view the python logs for my EB ec2 using the EB cli如何使用 EB cli 查看我的 EB ec2 的 python 日志
【发布时间】:2021-06-04 03:35:29
【问题描述】:

所以我有一个 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

生命周期:终止时删除日志

日志流:启用

NumProcesses: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

如何增加输出最近日志的能力 /opt/python/log

我基本上希望能够查看我的 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 amazon-web-services logging amazon-elastic-beanstalk ebcli


    【解决方案1】:

    您可以尝试将以下内容添加到您的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 应根据您的应用程序进行调整。

    【讨论】:

    • 谢谢 Marcin 我会尝试报告回来
    • 好的,我认为没有正确设置它。反正还没有。如何在 s3 存储桶中手动查找 python 日志?
    • @beautysleep 你能 ssh 到 EB 实例并在那里搜索吗?您的应用位于/var/app/current。那么也许你的日志在那里?
    猜你喜欢
    • 2013-06-06
    • 2015-05-03
    • 2016-11-18
    • 2021-12-25
    • 2015-11-23
    • 2021-01-13
    • 1970-01-01
    • 2015-09-19
    • 1970-01-01
    相关资源
    最近更新 更多