Docker处理日志的方法&日志收集工具比较
测试logstash:docker run -it mylogstash:0.1.0 logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'
http://www.jianshu.com/p/8384f6cd0f22
https://www.cnblogs.com/richaaaard/p/6109595.html
===========================
Docker处理日志的方法是通过docker engine捕捉每一个容器进程的STDOUT和STDERR,通过为contrainer制定不同log driver 来实现容器日志的收集,
缺省json-file log driver是将容器的STDOUT/STDERR 输出保存在磁盘上,然后用户就能使用docker logs <container>来进行查询
https://www.cnrancher.com/collect-container-log/
============
纵览当前容器日志收集的场景,无非就是两种方式:一是直接采集Docker标准输出,容器内的服务将日志信息写到标准输出,这样通过Docker的log driver可以发送到相应的收集程序中;二是延续传统的日志写入方式,容器内的服务将日志直接写到普通文件中,通过Docker volume将日志文件映射到Host上,日志采集程序就可以收集它。
第一种方式足够简单,直接配置相关的Log Driver就可以,但是这种方式也有些劣势:
- 当主机的容器密度比较高的时候,对Docker Engine的压力比较大,毕竟容器标准输出都要通过Docker Engine来处理。
- 尽管原则上,我们希望遵循一容器部署一个服务的原则,但是有时候特殊情况不可避免容器内有多个业务服务,这时候很难做到所有服务都向标准输出写日志,这就需要用到前面所说的第二种场景模式。
- 虽然我们可以先选择很多种Log Driver,但是有些Log Driver会破坏Docker原生的体验,比如docker logs无法直接看到容器日志。
https://www.cnrancher.com/rancher-logging/
===================
1)日志客户端(Logstash,Fluentd, Logtail)横评
https://yq.aliyun.com/articles/3228?spm=5176.team4.teamshow1.37.faH93Z
2)Logstash 与它的五种替代方案(Filebeat、Fluentd、rsyslog、syslog-ng 以及 Logagent)的比较
http://www.cnblogs.com/richaaaard/p/6109595.html
3)Fluentd是很通用的日志采集程序,拥有优异的性能,相对Logstash来说同等压力下,其内存消耗要少很多。Logging Helper是可以理解微Fluentd的助手,它可以识别容器内的日志卷文件,通知Fluentd进行采集
通过Fluentd我们可以对接很多第三方日志存储体系,但是Fluentd自身并不能完成日志采集的所有场景,所以非常需要Logging Helper的帮助。通过Logging Helper可以定制出一些额外采集规则,比如可以过滤某些容器日志等等
https://www.cnrancher.com/rancher-logging/
=============
https://yq.aliyun.com/articles/3228
ogstash支持所有主流日志类型,插件支持最丰富,可以灵活DIY,但性能较差,JVM容易导致内存使用量高。
fluentd支持所有主流日志类型,插件支持较多,性能表现较好。
logtail占用机器cpu、内存资源最少,结合阿里云日志服务的E2E体验良好,但目前对特定日志类型解析的支持较弱,后续需要把这一块补起来
Docker处理日志的方法&日志收集工具比较的更多相关文章
- 使用 EFKLK 搭建 Kubernetes 日志收集工具栈
转载自:https://mp.weixin.qq.com/s?__biz=MzU4MjQ0MTU4Ng==&mid=2247491992&idx=1&sn=a770252759 ...
- Scribe日志收集工具
Scribe日志收集工具 概述 Scribe是facebook开源的日志收集系统,在facebook内部已经得到大量的应用.它能够从各种日志源上收集日志,存储到一个中央存储系统(可以是NFS,分布式文 ...
- Oracle GI 日志收集工具 - TFA
1.TFA的目的: TFA是个11.2版本上推出的用来收集Grid Infrastructure/RAC环境下的诊断日志的工具,它可以用非常简单的命令协助用户收集RAC里的日志,以便进一步进行诊断:T ...
- 应用SpringAOP及Tlog工具完成日志链路追踪、收集、持久化
一.痛点 目前我司各系统的日志管理比较原始,使用logback打日志到log文件,虽然有服务管理平台,但记录的日志也仅仅是前置机调用后台系统的出入参,当遇到问题时查日志较为麻烦. 登录VPN-打开服务 ...
- Hadoop生态圈-flume日志收集工具完全分布式部署
Hadoop生态圈-flume日志收集工具完全分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 目前为止,Hadoop的一个主流应用就是对于大规模web日志的分析和处理 ...
- 通过Docker部署Java项目的日志输出到宿主机指定目录
之前写过2篇关于Docker部署的文章: 1.超!超!超简单,Linux安装Docker 2.Docker通过阿里云镜像仓库使用Gitlab_CI部署SpringBoot项目 用上篇博客部署Java程 ...
- SQLServer 2008以上误操作数据库恢复方法——日志尾部备份(转)
问题: 经常看到有人误删数据,或者误操作,特别是update和delete的时候没有加where,然后就喊爹喊娘了.人非圣贤孰能无过,做错可以理解,但不能纵容,这个以后再说,现在先来解决问题. 遇到这 ...
- [转]SQLServer 2008以上误操作数据库恢复方法——日志尾部备份
原文出处:http://blog.csdn.net/dba_huangzj/article/details/8491327 问题: 经常看到有人误删数据,或者误操作,特别是update和delete的 ...
- Android开发华为手机无法看log日志解决方法
Android开发华为手机无法看log日志解决方法 上班的时候,由于开发工具由Eclipse改成Android Studio后,原本的华为手机突然无法查看崩溃日志了,大家都知道,若是无法查看日志要它毛 ...
随机推荐
- iOS try catch
最近看一些第三方的代码有@try,一副看不懂的样子,真心没用过,于是查了些资料收集在这里,以后遇到就不会再蒙比了.其实这东西确实不怎么用,下文有解释.Objective-C 异常机制 :-- 作用 : ...
- SaltStack salt 命令
salt 是服务端远程批量操作多台客户端需要使用到的命令,常见用法如下: salt '*' # 指定对所有客户端主机进行操作 salt 'minion01' # 指定对单台客户端主机进行操作 salt ...
- 脚本控制animation的事件
由于动作设计经常修改动作,所以每次改完都要再添加一次animation的事件,所以就直接写了个脚本,当然以后可以做成表格,然后用脚本从表格中读取,然后生成对应的animation事件.在Assets/ ...
- mysql check约束无效
转自http://blog.csdn.net/maxint64/article/details/8643288 今天在mysql中尝试使用check约束时,才知道在MySQL中CHECK约束是无效的, ...
- 在RDLC报表中对纸张的设置
RDLC报表是存放成XML文件格式的,这一点你可以直接打开RDLC报表文件看一下,而且在使用时,通过ReportViewer来读取报表并与数据源进行合成,也就是说RDLC是定义了一个格式,那就不能通过 ...
- oracle闪回数据
方法一 数据删除了: select * from t_test as of timestamp to_timestamp('2011-10-25 13:45:00','yyyy-mm-dd hh2 ...
- 【swagger学习】.net WebApi中使用swagger
我在WebApi中使用swagger的时候发现会出现很多问题,搜索很多地方都没找到完全解决问题的方法,后面自己解决了,希望对于遇到同样问题朋友有帮助.我将先一步一步的演示项目中解决swagger遇到问 ...
- vuex - 学习日记
一.简单理解 简单说vuex,就是用来管理组件状态的数据,并且能在你可掌控的范围下增删改查这些数据. store容器 , state状态 二者关系(包含): 以前我也把vuex里边的state看成是一 ...
- ERROR 1045 (28000): Access denied for user 'mycat'@'localhost' (using password: YES)
创建用户: mysql> grant all on db1.* to mycat@'%' identified by '123456'; Query OK, 0 rows affected (0 ...
- 安装ORACLE_RAC遇到的问题与解决方法
while running: /u01/app/oracle/product/10.2.0/db_1/root.sh Checking to see if Oracle CRS stack is al ...