Docker logging drivers

一:前言

1.Docker拥有多种日志机制来收集容器及其内部运行的服务的日志信息,这些机制统称为 logging drivers。  Docker daemon 拥有一个默认的 logging driver(json-file),容器默认采用这个logging driver.

2.Docker处理日志的方法是 Docker daemon捕捉每一个容器进程的STDOUT和STDERR, 通过logging driver将它们输出保存在磁盘上。 然后用户就能使用docker logs 来进行查询。

3.这些日志 跟随容器而产生的,如果删除了某个容器,相应的日志文件也会随着被删除。


4. 容器日志的输出形式
  • stdout 标准输出
  • stderr 标准错误
  • 以json格式存放在容器对于到日志文件中
5. docker日志内容类型
  • docker自身运行时Daemon的日志内容
  • docker容器的日志内容
二:logging driver类型


三: 容器日志收集的方式

1.容器外收集。将宿主机的目录挂载为容器的日志目录,然后在宿主机上收集。

2.容器内收集。在容器内运行一个后台日志收集服务。

3.单独运行日志容器。单独运行一个容器提供共享日志卷,在日志容器中收集日志。

4.网络收集。容器内应用将日志直接发送到日志中心,比如java程序可以使用log4j 2转换日志格式并发送到远端。

5.通过修改docker的--log-driver。可以利用不同的driver把日志输出到不同地方,将log-driver设置为syslog、fluentd、splunk等日志收集服务,然后发送到远端。

四:容器日志收集的Sidecar模式

五:Kubernetes中的日志收集架构



  通过在每台node上部署?个以DaemonSet?式运?的fluentd来收集每台node上的?志。Fluentd将docker?志?录 /var/lib/docker/containers 和 /var/log ?录挂载到Pod中,然后Pod会在node节点的 /var/log/pods ?录中创建新的?录,可以区别不同的容器?志输出,该?录下有?个?志?件链接到 /var/lib/docker/contianers ?录下的容器?志输出。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28624388/viewspace-2152682/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28624388/viewspace-2152682/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值