【发布时间】:2019-08-20 19:00:28
【问题描述】:
如果 max-file 值设置为 2,则创建两个文件,如下所示。
11111-json.log
11111-json.log.1
但是这里,当11111-json.log文件大小为max-size时,11111-json.log的内容被移动到11111-json.log.1,11111-json.log的大小变为零。
/var/log/容器
此时我丢失了最后一个日志。
/var/log/container 路径中的日志最终会链接到/var/lib/docker/containers/~,所以如果上面提到的文件这样工作,日志将会丢失。
我怎么不会迷路?
【问题讨论】:
-
感谢您的回复。我已经将 fluentD 配置为守护程序集。读取
/var/log/container中的日志,但在/var/lib/docker/containers/~/11111-json.log中的日志文件更改为11111-json.log-1时丢失数据。 -
您缺少哪些日志数据? fluentd 应该观察旋转的(旧)文件 5 秒钟,以便在从(新)空白文件读取之前将任何内容刷新到它。
-
/var/log/container/中的 11111.log 文件链接了/var/lib/docker/containers/~/11111-json.log文件。当/var/lib/docker/containers/~/11111-json.log文件达到max-size并重命名为/var/lib/docker/containers/~/11111-json.log-1时,fluentD尚未读取的最后一条日志不在/var/log/container/11111.log中。 -
可能在你的尾部配置中增加
rotate_wait。见this answer
标签: docker kubernetes