docker容器日志收集方案汇总评价总结
2024-08-25 03:34:06
docker日志收集方案有太多,下面截图罗列docker官方给的日志收集方案(详细请转docker官方文档)。很多方案都不适合我们下面的系列文章没有说。
经过以下5篇博客的叙述简单说下docker容器日志采集方案
docker容器日志收集方案(方案一 filebeat+本地日志收集)
docker容器日志收集方案(方案二 filebeat+syslog本地日志收集)
docker容器日志收集方案(方案三 filebeat+journald本地日志收集)
docker容器日志收集方案(方案四,目前使用的方案)
docker容器日志收集方案(方案N,其他中间件传输方案)
docker日志收集方案基本归为两类:
1、本地存储
2、远程输出
由于docker的特殊性大部分采用的都是远程即时输出方案,比如阿里云,亚马逊云,都有自己的插件
各有优劣势,不过总体趋势肯定是远程即时传输方式,如果网络有压力,进行日志压缩传输。
本地存储然后在扫描传输实际上是把积压问题放在了虚拟机上面。这种方案是基于虚拟机时代虚拟化技术的方案
如果在容器内部放置日志扫描程序,首先会导致容器运行两个进程,这是docker官方不推荐的(https://docs.docker-cn.com/engine/admin/multi-service_container/),
会造成不必要的麻烦引起问题不便追查(黑盒),增加了使用难度。
其实我们还可以通过容器卷来吧日志输出到指定目录但是使用集群之后,
容器卷是建立在操作系统文件系统之上的,就需要针对卷做可移植操作,
同样是使用成本增加,因为如果使用的是docker集群要保证每台宿主机能访问相同的卷,
我们要做集中存储(集中存储我们数据库才有这个待遇啊!!!)
对于docker容器虚拟化技术有几个特点
1、容器在集群宿主之间会漂移,每漂移一次容器ID会变更,所以跟着容器相关都会换掉,当然给容器起的名字不会换掉,不过那只是在集群中标记(更直白的说这个名字是存储在第三方键值对进行对应的是docker引擎维护的)。
2、容器是黑盒封闭性的,把日志先输出到容器内部不符合新一代容器技术的理念,处理不好会造成大量垃圾文件。
最新文章
- iOS报错[__NSCFNumber length]: unrecognized
- 编写高质量代码:改善Java程序的151个建议(第2章:基本类型___建议26~30)
- 微信录音接口的调用以及amr文件转码MP3文件的实现
- avi文件打开出现花屏、打开不了问题
- 手机移动端alert替换方案
- 12G服务器在BIOS中收集阵列卡日志(TTY日志)的方法
- hdu 1078 FatMouse and Cheese
- 支持向量机(SVM)算法
- Centos7 mysql-community-5.7.11编译安装
- linux中sudoers别名规则
- wordpress学习二:源码目录结构和启动流程
- 【转】SharePoint工作流中常用的方法
- mysql merge表介绍
- json与jsonp区别浅析(json才是目的,jsonp只是手段) (转)
- mysql pdo数据库连接
- Swift类中如何创建一个对外只读对内可读写的属性
- PGM:图模型学习概述
- DirectX11 With Windows SDK--21 鼠标拾取
- 逻辑读为何消耗CPU?
- 分布式事务Hmily TCC源码--学习整合
热门文章
- TLS 1.3 VS TLS 1.2,让你明白 TLS 1.3 的强大
- 强如 Disruptor 也发生内存溢出?
- 免费SSL证书(支持1.0、1.1、1.2)
- asp.net core系列 26 EF模型配置(实体关系)
- Lucene 01 - 初步认识全文检索和Lucene
- 封装cookie设置和获取的简易方法
- Asp.Net Core中利用Seq组件展示结构化日志功能
- Java多线程之Executor框架和手写简易的线程池
- linux中文件的三种time(atime,mtime,ctime)
- Java开发知识之Java的异常处理