如何解决如何在docker-compose中设置和调用“ awslogs”?
我已经按照here中所述设置了带有CloudWatch的AWS EC2。
我的Web服务器是基于docker-compose的服务器。如何配置CloudWatch和通话记录? 注意:我没有在AWS中设置ECS。
解决方法
所以我发现使用python的s望塔并按如下所示配置我的docker-compose.yml很容易:
web:
...
logging:
driver: "awslogs"
options:
awslogs-region: <region>
awslogs-group: <CloudWatch group>
awslogs-stream: <CloudWatch group stream>
然后在您的py文件中,添加以下行:
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)
然后,您可以像这样简单地添加一行:
app.logger.info("In root Page")
您可以在控制台的CloudWatch / LogGroups / my-group / my-group-stream中查看所有日志
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。