对于,大规模运行的容器集群来说,日志不能集中管理是一件很痛苦的事情。不能合理的收集,管理检索应用日志,在应用发生了故障的时候将无法很好的追溯问题发生的原因。 
docker日志收集目前的方案较多,本文就不去探究究竟是那种方案更好。目前开源elk的日志收集技术堆栈使用的较为广泛,各大互联网公司也有基于elk技术栈进行日志收集的案例。其中,elk种的logstash,是用来收集,格式化,然后将日志存入elasticsearch中,供查询统计。本文即将讨论的是,使用fluentd替换elk中的logstash。这里就不详细展开讨论fluentd和logstash孰优孰劣。为了使docker的日志能够存储到elastic search,需要解决的就是如何导出docker的日志。 
查看docker文档,docker支持使用fluentd作为容器日志的driver。下面,就来详细的说明,如何安装fluentd,并配置docker使用fluentd在存储日志。step by step。

1)步骤1:安装fluentd 
配置运行环境 
1. 使用ntp通过各个节点的时间,以便各个节点记录的日志时间戳保持一致 
2. 设置文件描述符的数量至65536。 可以使用ulimit -n查询当前支持的最大。如果不是65536,可以修改/etc/security/limits.conf 中的”root soft nofile”,”root hard nofile”数值至65536,然后reboot操作系统 
3. 优化内核网络参数。/etc/sysctl.conf

    net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_tw_reuse = 1net.ipv4.ip_local_port_range = 10240    65535
  • 2)安装fluentd (本文仅仅给出了rhel/centos)
curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh
systemctl  start td-agent

flutend安装完成后,默认的配置文件路径在/etc/td-agent/td-agent.conf。

3) 测试 
td-agent默认将配置收集来自http的日志,并将日志转储到/var/log/td-agent/td-agent.log

curl -X POST -d 'json={"json":"message"}' http://localhost:8888/debug.test

如果在,/var/log/td-agent/td-agent.log中看到了2016-03-26 11:50:29 +0800 debug.test: {“json”:”message”} 则表明fluent安装成功。至此,fluent安装完成。下面, 
配置看看,如果配置docker将日志转发给fluted。

步骤2: 配置fluent接收docker日志 
在/etc/td-agent/td-agent.conf中增加,并重启td-agent,systemctl restart td-agent

      <match docker.**> type stdout</match>

步骤3: 配置docker使用fluent为log-driver 
配置docker转储日志有两种方法,指定特定的容器或者配置docker daemon将所有容器日志均存储到fluent中。 
方法1:指定容器

docker run --log-driver=fluentd --log-opt fluentd-address=myhost.local:24224

方法2: 设置全局log-driver

docker daemon --log-driver=fluentd

至此,已经成功将docker的日志交给fluent处理。接下来的工作是,配置将fluent的日志转发给elasticsearch进行处理。

参考: 
http://docs.fluentd.org/articles/install-by-rpm 
https://docs.docker.com/engine/admin/logging/fluentd/

使用fluentd管理docker日志相关推荐

  1. Spring Boot应用集成Docker并结合Log4j2、Kafka、ELK管理Docker日志

    Preface 原文链接: http://yangbingdong.com/2018/spring-boot-docker-elk/ 微服务架构下,微服务在带来良好的设计和架构理念的同时,也带来了运维 ...

  2. docker image存储路径_使用fluentd作为docker日志驱动收集日志

    前言 docker默认的日志驱动是json-file,每一个容器都会在本地生成一个/var/lib/docker/containers/containerID/containerID-json.log ...

  3. docker 日志_Docker容器日志管理最佳实践

    博客园:https://www.cnblogs.com/operationhome/p/10907591.html 本文所有内容基于: Docker-CE Server Version: 18.09. ...

  4. 使用MongoDB存储Docker日志(续)

    在上一篇文章<使用MongoDB存储Docker日志>中完成了Docker + Fluentd + MongoDB的基本配置.但是在实际的使用过程中,却发现Docker生成的日志并不会立即 ...

  5. fluentd收集K8S日志并以K8S的container_name作为索引名存入Elasticsearch中

    fluentd收集K8S日志并以K8S的container_name作为索引名存入Elasticsearch中 参考地址 https://faun.pub/how-to-create-custom-i ...

  6. docker常用命令 | game2048网页游戏 | nginx镜像 | 数据卷管理 | docker网络管理 | 构建apache镜像 | Dockerfile常用的命令

    DOCKER https://www.docker.com http://www.runoob.com/docker/docker-command-manual.html docker命令大全 镜像用 ...

  7. 使用Kubernetes V1来管理Docker的扩展

    Kubernetes是一款开源的项目,管理Linux容器集群,并可将集群作为一个单一的系统来对待.其可跨多主机来管理和运行Docker容器.提供容器的定位.服务发现以及复制控制.它由Google发起, ...

  8. 使用logrotate管理nginx日志文件

    本文转载自:http://linux008.blog.51cto.com/2837805/555829 描述:linux日志文件如果不定期清理,会填满整个磁盘.这样会很危险,因此日志管理是系统管理员日 ...

  9. 《ELK Stack权威指南(第2版)》一3.8 Docker日志

    本节书摘来自华章出版社<ELK Stack权威指南(第2版)>一书中的第3章,第3.8节,作者 饶琛琳  更多章节内容可以访问云栖社区"华章计算机"公众号查看. 3.8 ...

最新文章

  1. python opencv image 转 c++ avframe
  2. 08年最热门七大技术和最紧缺的IT人才
  3. 台式电脑计算机硬盘清理,台式电脑重装系统win7清理磁盘碎片的方法
  4. Cocos2dx学习笔记(1) Ref类型数据 垃圾回收机制
  5. 医院(jzoj 1611)
  6. 我的第一个C++程序,还像个C++c程序的样子吧
  7. Python:学习笔记之PyQt5
  8. python最常用的版本是_在下列选项中,( ) 是最常用的 Python版本,也称之为CIassicPython。_学小易找答案...
  9. 调用微信接口方法说明--JS-SDK
  10. AT24C16 读写
  11. 学习编译原理的总结1
  12. 【在线学习版】欢迎使用Markdown编辑器(可以多开网页看着编辑)
  13. 去天翎咨询myapps2.4的问题
  14. Date时间里的GMT是什么意思
  15. 如何官网下载Eclipse历史版本
  16. Canvas如何等待所有图片加载完成才开始绘图
  17. 加速网站访问的一些实践体会
  18. Web实验六 JavaScript实验
  19. [渝粤教育] 中国地质大学 城镇规划 复习题 (2)
  20. 基于JAVA线上动漫周边商城计算机毕业设计源码+数据库+lw文档+系统+部署

热门文章

  1. windows installer无法启动
  2. 如何成为一名优秀的UI/UX设计师?
  3. POJ 2152 Fire(树形DP)
  4. 11--Rails数据交互3
  5. 创建本地yum源的方法
  6. 用79种语言说爱琪琪格
  7. 桶排序 Bin Sort
  8. 基于Python编写的简易翻译器
  9. 三维重建学习(5):简单地从数学原理层面理解双目立体视觉
  10. android 微信跨境支付,微信跨境支付.pdf