使用 Fluentd 管理 Docker 日志(2)

在一个在线环境,实际的日志内容可以被发送到一个 elasticsearch 集群,并使用 kibanagraylog2 查看。二选一,这也有使用 JSON 工作的主机服务。

因为容器 ID 在随着工作变化的,我创建了一个简单的称为 docker-gen 的 golang 工程,它可以使用模板从运行中的 docker 容器数据中生成任意文件。在这个工程中的 fluentd 模板示例被用于生成以上的样本。

尽管没有展示,docker-gen 也能生成 logrotate 配置文件来轮转容器的 JSON 文件来避免在主机上��有磁盘空间运行。希望,docker 项目能在未来的发行版中添加这个。

总结

这个方法提供了一下好处:

主机可以使用一个单独的收集 agent 转发任何容器的日志到一个中央日志服务器.

不需要要求应用程序使用 syslog 或是写日志到特定的卷。

主机可以访问容器日志以及任何在容器文件系统上的日志文件。

主机可以为容器轮转日志。

这个方法的一个缺点就是它直接访问 docker 文件系统而没有使用 API,这意味着它在未来可能出现问题,因为如果未来 docker 版本改变了它怎样在主机文件系统存储容器日志的话。

Docker安装应用(CentOS 6.5_x64)  

Ubuntu 14.04安装Docker   

Ubuntu使用VNC运行基于Docker的桌面系统 

阿里云CentOS 6.5 模板上安装 Docker  

Ubuntu 15.04下安装Docker   

在Ubuntu Trusty 14.04 (LTS) (64-bit)安装Docker  

Docker 的详细介绍请点这里
Docker 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/1066d5efb87c284778fe538ba6e79f9b.html