浅谈用MongoDB存储Docker日志

日志是系统很重要的一个组成部分,通过日志可以及时发现系统中存在的问题,也可以为修复问题提供线索。Docker提供了多种插件方式管理日志,本文就对使用MongoDB     存储   Docker日志的过程做个记录。

 数据流

Docker产生的日期 发送到 FluentD,然后FluentD在转存到MongoDB。

配置Fluentd

前提:操作系统是CentOS7,已安装MongoDB3.4

 1.安装Fluentd

CentOS 7的软件库并没有包含Fluentd的安装包,所以需要手动安装。在CentOS使用的软件td-agent。

上面命令会在/etct/yum.repo.d/目录中,创建一个td-agent的安装库 td.repo,然后自动安装td-agent。安装完毕后设为自动启动。

如果在启动过程中出现问题,可以查看位于/var/log/td-agent/下日志文件td-agent.log

 2. 配置将docker日志转存到MongoDB

转存到MongoDB需要插件支持,但是默认情况下td-agent是没有安装该插件的,需要安装。

编辑/etc/td-agent/td-agent.conf,增加

重启td-agent。

 3.启动容器

启动容器的命令改为:

运行完毕后,可以到MongoDB中查看日志。

 解决写入延迟

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

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

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

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

上面说flush_mode并没有起作用。

好了,操作步骤以及实际案例就介绍到这里,希望今天的内容对你所帮助!

浅谈用MongoDB存储Docker日志_设计制作_存储技术
35
69
0
36

相关资讯

  1. 1、励志人物微电影《信仰的力量》在烟台杀青!1789
  2. 2、王晶新作《老板娘》被批烂片?挺刺激的,王导从来没让人失望过3817
  3. 3、《延禧攻略》两个不起眼的小彩蛋,早已暗示魏璎珞和娴妃命运走向3571
  4. 4、《暗恋·橘生淮南》首播,胡一天胡冰卿演技过关,柠檬酸剧情好看3125
  5. 5、演坏人最成功的六位,第一位不敢出门,最后一位真是让人恨之入骨4914
  6. 6、胡一天、李一桐《我的时代,你的时代》开启机器人时代的高甜爱情2504
  7. 7、《300勇士:帝国崛起》:激情基情双核驱动4500
  8. 8、同样是寸头杨颖撞脸老公,宁静酷到没朋友,最后这位让人肃然起敬1381
  9. 9、总制片人李学政:《巡回检察组》不想沾《人民的名义》的“光”4708
  10. 10、扫黑决战定档5月1日,五一档要上15部电影,网友:住在电影院了3987
全部评论(0)
我也有话说
0
收藏
点赞
顶部