如果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/~
,因此,如果上述文件以这种方式工作,该日志将丢失。
我怎么不会迷路?
答案 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