Docker容器内应用的日志收集方案

日志对开发和维护的重要性不言而喻。分布式应用中的日志分布在多台机器上,所以我们需要将日志采集到一个地方来集中管理。目前比较常见的日志方案是ElK,主要包括三大组件:Elasticsearch, Logstash和Kibana。这里主要说一下使用logstash收集Docker容器里应用的日志。

容器中应用的日志,其生命周期和容器相同。主要要两个去向:标准输出stdout到主机/var/lib/docker/containers//***-json.log文件中,***是应用在容器中的id;写日志到磁盘文件。

主要有以下两种收集方法:1.对于第一种写在容器里面的日志,其路径中的***是id,应用每次在容器里跑起来其id是不同的,这样不容易确定日志的路径。我们需要将应用的日志输出到固定目录并通过 -V 命令挂载出来到主机磁盘(转化成第二种日志去向),这样我们就可以通过Logstash采集宿主机固定目录的日志。2.另外一种方式我看阿里云也在采用,运行一个日志收集容器。借助docker的Volume功能。在host机器上开辟一个固定目录D;产生日志的容器将日志文件所在目录mount到D目录下的子目录中;收集日志的容器再把目录D mount到自己容器内。分享一下阿里云案例链接:https://yq.aliyun.com/articles/303

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值