amazon-web-services-AWS ECS容器日志设计模式

我有一个经典的Scala应用,它会在该位置生成三个不同的日志

/var/log/myapp/log1/mylog.log
/var/log/myapp/log2/another.log
/var/log/myapp/log3/anotherone.log

我将应用程序容器化并正常工作,我可以通过docker volume mount获得这些日志.

现在,将使用自动缩放组将应用程序/容器部署在AWS ECS中.在这种情况下,多个容器可以在一台ecs主机上运行.

我想使用云监视来监视我的应用程序日志.

一种解决方案可以将aws日志代理放入我的应用程序容器中.

有没有更好的方法将那些应用程序日志从容器获取到Cloudwatch日志.

非常感谢您的帮助.

最佳答案
使用docker时,推荐的方法是不登录文件,而是将日志发送到stdout和stderr.这样做可以防止将日志写入容器的文件系统,并且(取决于所使用的日志记录驱动程序)允许您使用docker logs / docker container logs子命令查看日志.

许多应用程序都有一个配置选项可登录到stdout / stderr,但是如果不是这样,则可以创建一个符号链接来重定向输出.例如,Docker Hub uses this approach上的官方NGINX映像.

Docker支持日志记录驱动程序,该驱动程序允许您将日志记录发送到(尤其是)AWS云监视.修改映像以使其记录到stdout / stderr之后,您可以配置AWS日志记录驱动程序.

有关登录Docker的更多信息,请参见“logging” section in the documentation

相关文章

最近一直在开发Apworks框架的案例代码,同时也在一起修复Apw...
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText。...
在《Kubernetes中分布式存储Rook-Ceph部署快速演练》文章中,...
最近在项目中有涉及到Kubernetes的分布式存储部分的内容,也...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...