常用日志采集框架对比
一、Logstash
Logstash诞生于2009年8月,2013年被ElasticSearch公司收购。Logstash是一个分布式日志收集框架,开发语言是JRuby,经常与ElasticSearch,Kibana配合使用组成著名的ELK技术栈,所谓ELK就是ElasticSearch、Logstash、Kibana这三个组件。
二、Filebeat
Filebeat是一款轻量级日志采集器(同一个公司推出的Logstash替代品),可用于转发和汇总日志与文件。Filebeat内置有多种模块(Nginx、MySQL、Redis、Elasticsearch、Logstash等),可针对常见格式的日志大大简化收集、解析和可视化过程,只需一条命令即可。
三、Flume
Flume诞生于2010年,最早由Cloudrea开发,是一个高可用,高可靠的分布式海量日志采集系统,支持定制各类数据发送方,一般和 kafka 订阅消息系统搭配较多。其设计原理也是基于将数据流,如日志数据从各种网站服务器上汇集起来存储到HDFS,HBase等集中存储系统中。Flume目前有两个版本,OG和NG,区别很大,初始的发行版本叫做FlumeOG,后被apache收购,改名为Apache Flume,收购重构后的版本统称为Flume NG(next generation下一代的意思);所以现在Flume已经是ApacheETL工具集中的一员。
Flume与logstash相比,两者最初的设计目的就不太一样。Flume本身最初设计的目的是为了把数据传入HDFS中(并不是为了采集日志而设计,这和Logstash有根本的区别)。
四、Fluentd
fluentd是一款开源的日志收集工具。基于ruby和C编写,它拥有非常多的插件,可以满足的我们对各种格式的日志进行收集,过滤,解析等。把日志信息变成我们想要的格式。并且,没有找到满足我们的插件,我们可以自己写插件。
fluentd收集日志时,将所有日志看做JSON格式的数据。并且用正则表达式去匹配日志。fluentd自带丰富的日志收集格式。以及可以将日志收集到各种存储的数据库。
fluentd有7种类型的插件:输入、解析器、过滤器、输出、格式化程序、存储和缓冲区。
Fluend-bit是Fluentd的精华版本,纯C编写、大小450kb,更轻量级,主要支持数据的收集和处理功能。
对比
类型
|
Logstash
|
Filebeat
|
Flume
|
Fluentd
|
---|---|---|---|---|
平台 |
Linux&Windows | Linux&Windows | Linux&Windows | Linux&Windows |
运行环境 | java | go | java | ruby |
资源开销 | 大 | 小 | 小 | 非常小 |
配置 | 简单 | 简单 | 较复杂 | 复杂 |
可靠性 | 不稳定 | 稳定 | 高可靠 | 可靠 |
方案
较成熟的日志系统方案:Filebeat → Logstash → ElasticSearch → Kibana
加微信:wonter 发送:技术Q
医疗微信群:
加微信:wonter 发送:医疗Q
更多文章关注公众号:

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决