我有一个经典的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子命令查看日志.
原文链接:https://www.f2er.com/docker/532734.html许多应用程序都有一个配置选项可登录到stdout / stderr,但是如果不是这样,则可以创建一个符号链接来重定向输出.例如,Docker Hub uses this approach上的官方Nginx映像.
Docker支持日志记录驱动程序,该驱动程序允许您将日志记录发送到(尤其是)AWS云监视.修改映像以使其记录到stdout / stderr之后,您可以配置AWS日志记录驱动程序.
有关登录Docker的更多信息,请参见“logging” section in the documentation