如何解决Docker CE和syslog
Docker日志记录驱动程序是在线指定的,并且存在这些限制。
日志记录驱动程序的限制
Docker Enterprise的用户可以使用“双重日志记录”,这使您可以将docker logs命令用于任何日志记录驱动程序。有关使用docker日志在本地读取许多第三方日志记录解决方案的容器日志的信息,请参阅使用远程日志记录驱动程序时阅读日志。
syslog
gelf
流利的
awslogs
splunk
etwlogs
gcplogs
登录
使用Docker Community Engine时,docker logs命令仅在以下驱动程序上可用:
本地
json文件
journald
读取日志信息需要解压缩旋转的日志文件,这会导致磁盘使用情况暂时增加(直到从旋转文件中读取日志条目为止),并且在解压缩时会增加CPU使用率。
Docker数据目录所在的主机存储的容量决定了日志文件信息的最大大小。
我正在使用Docker CE,但是我对此文档有疑问。这是否意味着使用CE,我根本无法执行syslog?还是只是我无法执行syslog并拥有docker日志?
解决方法
没有什么可以阻止您在容器内使用syslog的,但是您无法使用'docker logs'命令读取这些日志。也没有什么可以阻止您将日志写入stdout并将其通过管道传递到所需的任意数量的日志发件人。
以下文章介绍了如何在docker容器中执行syslog:https://medium.com/better-programming/docker-centralized-logging-with-syslog-97b9c147bd30
考虑到syslog-ng看起来很有趣,考虑到它们提供给msg字段的结构,我认为fluentd和fluent-bit是比syslog更好的选择。流利的位虽然非常好,所以您可能要看看它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。