我有一个经典的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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。