首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在docker-compose中设置和调用'awslogs‘?

如何在docker-compose中设置和调用'awslogs‘?
EN

Stack Overflow用户
提问于 2020-10-18 16:07:47
回答 1查看 124关注 0票数 0

我有亚马逊网络服务的EC2与CloudWatch设置为描述的here

我的web服务器是基于docker-compose的。如何配置CloudWatch和呼叫记录?注意:我没有在AWS中设置ECS。

EN

回答 1

Stack Overflow用户

发布于 2020-10-18 16:07:47

因此,我发现使用python的监视塔并按如下方式配置我的docker-compose.yml非常容易:

代码语言:javascript
复制
web:
    
...
    logging:
      driver: "awslogs"
      options:
        awslogs-region: <region>
        awslogs-group: <CloudWatch group>
        awslogs-stream: <CloudWatch group stream> 

然后在py文件中添加以下行:

代码语言:javascript
复制
logging.basicConfig(level=logging.INFO)

app = Flask(__name__)

try:
        session = boto3.Session(
            aws_access_key_id=os.environ['AWS_ACCESS_KEY_ID'],
            aws_secret_access_key=os.environ['AWS_SECRET_ACCESS_KEY'],
            region_name=os.environ['AWS_REGION']
        )
        handler = watchtower.CloudWatchLogHandler(
            boto3_session=session,
            log_group=os.environ.get('AWS_CLOUDWATCH_LOG_GROUP', "my-group"),
            stream_name=os.environ.get('AWS_CLOUDWATCH_LOG_STREAM', "my-group-stream"),
            create_log_group=False
        )
        app.logger.addHandler(handler)
except Exception as cerr:
    app.logger.error("CloudWatch logging setup failed: %s", cerr)

然后您可以简单地添加一行,如下所示:

代码语言:javascript
复制
app.logger.info("In root Page")

您可以在控制台的CloudWatch/LogGroups/my-group/my-group-stream中查看所有日志

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64411097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档