使用MongoDB存储Docker日志(续)

2018-01-20 10:46:36来源:http://blog.csdn.net/mydeman/article/details/79111424作者:mydeman的学习日志人点击

分享


在上一篇文章《使用MongoDB存储Docker日志》
中完成了Docker + Fluentd + MongoDB的基本配置。但是在实际的使用过程中,却发现Docker生成的日志并不会立即写入到MongoDB中,有大概1分钟左右的延迟。



查阅Fluentd的文档
得知,有一个flush参数可以控制日志的写入频率,默认的是60s。更改flush_interval参数就可以提高写入频率,具体更改如下:


## match tag=docker.* and dump to console
<match docker.*>
@type mongo
host 127.0.0.1
port 22017
database docker
collection log
<buffer>
flush_mode interval
flush_interval 1s
</buffer>
</match>

刚开始对文档理解不太透彻,增加了flush_interval参数后,并没有发挥作用,第一次更改时,并没有将flush_mode和flush_interval放在buffer结构中。也就是:


## match tag=docker.* and dump to console
<match docker.*>
@type mongo
host 127.0.0.1
port 22017
database docker
collection log
flush_mode interval
flush_interval 1s
</match>

从日志中也可以看出上面的配置,并没有发挥作用:


2018-01-19 14:33:32 +0800 [warn]: parameter '**flush_mode**' in <match docker.*>
@type mongo
host "1270.0.0.1"
port 22017
database "docker"
collection "log"
flush_mode interval
flush_interval 1s
buffer_chunk_limit 8m
time_key time
<inject>
time_key time
time_format %Y-%m-%d %H:%M:%S.%L
</inject>
</match> is not used.

上面说flush_mode并没有起作用。


最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台