滚动更新时,docker日志驱动程序“ json-file”日志丢失

时间:2019-08-19 10:19:23

标签: docker kubernetes

如果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/~,因此,如果上述文件以这种方式工作,该日志将丢失。

我怎么不会迷路?

1 个答案:

答案 0 :(得分:1)

根据您的设置,所有日志.log.1,.log.2都存储在/ var / lib / docker / containers / ...中,根据Docker文档,您可以在{{3 }}:

 "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3",

在/ var / log / containers中,您可以找到指向最后创建的日志文件的链接。

根据daemon.json的文档: 您应该考虑使用 in_tail 选项:

  

in_tail包含在Fluentd的核心中。无需其他安装过程。   当首先用in_tail配置Fluentd时,它将从该日志的结尾而不是开头开始读取。旋转日志后,Fluentd从头开始读取新文件。它跟踪当前的索引节点号。

请参阅类似的flunetd

相关问题