[转帖]Fluentd 的优缺点
https://zhuanlan.zhihu.com/p/129375187
以前在不少场合浅度使用过 Fluentd,将日志汇聚到一个地方。它给我的大体印象是
简单且能解决问题
直到最近遇到一个业务量稍大、逻辑较复杂的场景,Fluentd 的优点和缺点明显地展现了出来。
优点
它的日志采集方式非常丰富,有 tail、http、命令等等。方便地将日志采集起来。特别是 tail,考虑到了文件名包含日期的日志,日志的轮转等方面,让人觉得十分放心。
Fluentd 中 tag,label 两个概念使得可以实现灵活的处理逻辑。比如通过 rewrite_tag_filter 插件实现根据数据内容修改此数据的 tag,这条数据后续进入对应 tag 的处理逻辑,相当于路由功能;通过第三方插件 record_splitter 可用于拆分包含批量操作的日志;通过 copy 与 relabel 插件可将一条数据复制到两条流水线上。
作为一个日志传输工具,Fluentd 考虑到了传输过程中的很多问题,比如接收方跟不上时的可以设置缓存,接收方不可达时的可设置候选接收方(secondary),可设置多个接收方。
Fluentd 有丰富的插件,基本上想要的功能都有插件实现。因为插件都是 Ruby 脚本,编写的门槛很低,所以即使没有现成插件很多人也敢自己编写。
缺点
首先是性能。Fluentd 的宣传里有高性能这一项,可能相对于 logstash 的确好很多,但还是不太够。在实际使用中,解析 -> 转换 -> 入库 整个过程性能并不理想。比如实现上面提及的 rewrite_tag, split, copy 然后写入数据库,单进程每秒 2000 条日志,CPU 100%,内存占用 2-3GB。而且受限于 Ruby 的 GIL,它并不能真正多线程。多进程也受限于插件是否支持。
总之,Fluentd 的性能既因为 Ruby 消耗过多计算和内存资源,又因为 Ruby 难以受益与多核。对数据吞吐量大的业务来说它是很昂贵的。灵活和性能并不完全冲突,比如 Nginx 足够灵活,性能也足够强。
除了性能,Fluentd 的插件质量也不够好,第三方插件大多是使用者根据自己业务需要编写,只为实现特定需求,没有足够的泛化,也没有足够的测试和性能评估。不少常用的插件也以额外安装的方式添加,带来不必要的麻烦。
另外就是配置文件,一个 filter 里只能做一个转换,比如:
<filter a.tag>
@type parse
...
</filter>
<filter a.tag>
@type transform_record
...
</filter>
总觉得没有下面这样来的干脆
<filter a.tag>
<item>
@type parse
...
</item>
<item>
@type stransform_record
...
</item>
</filter>
最后
我觉得 Fluentd 在数据量不大的场景下还是很不错的,省心省事。
如果转换逻辑简单数据量很大,那可以考虑 Fluentd 的小伙伴 Fluent Bit,性能更高,占用资源少很多,但插件少一点。
如果转换逻辑较复杂,数据量很大,可以在采集端使用 Fluentd/Fluent Bit,数据汇聚处自己写程序。
[转帖]Fluentd 的优缺点的更多相关文章
- [转帖]LCD与LED的区别之背光原理与优缺点对比介绍
LCD与LED的区别之背光原理与优缺点对比介绍 http://m.elecfans.com/article/620376.html 时下液晶面板与液晶电视技术已经达到炉火纯青的境界,并已经成为大屏幕平 ...
- [转帖]KMS 是什么 以及 优缺点
产品激活 比如Windows激活 , office激活 等激活的原理是什么? KMS等激活工具安全吗? http://www.cnblogs.com/flowerslip/p/8370832.html ...
- 【转载】IE6 PNG透明终极解决方案(打造W3Cfuns-IE6PNG最强帖)
原文地址:http://www.w3cfuns.com/thread-297-1-1.html 本文版权归W3Cfuns.com所有,转载需在文章页面明显位置以链接的方式给出原文链接,否则W3Cfun ...
- [转帖]批处理-For详解
批处理-For详解 https://www.cnblogs.com/DswCnblog/p/5435300.html for 循环的写法 感觉非常好. 今天下午的时候简单测试了下. 多学习提高 非常重 ...
- DDD CQRS架构和传统架构的优缺点比较
明天就是大年三十了,今天在家有空,想集中整理一下CQRS架构的特点以及相比传统架构的优缺点分析.先提前祝大家猴年新春快乐.万事如意.身体健康! 最近几年,在DDD的领域,我们经常会看到CQRS架构的概 ...
- [NodeJS] 优缺点及适用场景讨论
概述: NodeJS宣称其目标是“旨在提供一种简单的构建可伸缩网络程序的方法”,那么它的出现是为了解决什么问题呢,它有什么优缺点以及它适用于什么场景呢? 本文就个人使用经验对这些问题进行探讨. 一. ...
- emmet,jade,haml, slim,less,sass,coffeescript等的实战优缺点
摘要: 文章背景,来自于群内周五晚上的一次头脑风暴式的思维碰撞交流活动. 随着前端技术的蓬勃发展, 各种新技术随着生产力的需要不断的涌入我们的视野, 那今天探讨的话题是这些新时代的前端兵器谱: 一. ...
- kubernetes部署Fluentd+Elasticsearch+kibana 日志收集系统
一.介绍 1. Fluentd 是一个开源收集事件和日志系统,用与各node节点日志数据的收集.处理等等.详细介绍移步-->官方地址:http://fluentd.org/ 2. Elastic ...
- sql server的优缺点
sql server的优点众多,让其在数据库领域独占鳌头,成为最受欢迎的数据库系统,其优缺点也自然是喜爱者们所关注的,首先了解一下它的历史: sql server是一个关系型数据库管理系统,最初是由M ...
- 单页Web应用优缺点
一.定义单页 Web 应用 (single-page application 简称为 SPA) 是一种特殊的 Web 应用.它将所有的活动局限于一个Web页面中,仅在该Web页面初始化时加载相应的HT ...
随机推荐
- 云MSP技本功|redis的5种对象与8种数据结构之字符串对象(下)
简介: 引言 本文是对<redis设计与实现(第二版)>中数据结构与对象相关内容的整理与说明.本篇文章只对对象结构,1种对象--字符串对象.以及字符串对象所对应的两种编码--raw和emb ...
- C# 如何读取Excel文件
当处理Excel文件时,从中读取数据是一个常见的需求.通过读取Excel数据,可以获取电子表格中包含的信息,并在其他应用程序或编程环境中使用这些数据进行进一步的处理和分析.本文将分享一个使用免费库来实 ...
- JavaFx设置图标(二)
JavaFx设置图标(二) JavaFX 从入门入门到入土系列 JavaFx设置图标,需要注意,我这里是Maven管理项目 需要将图片放到resources/img/avatar.jpg下 impor ...
- CSS3学习笔记-过渡
学习CSS3过渡(Transitions)是为了在元素状态之间创建平滑的动画效果.下面是一些关于CSS3过渡的学习笔记: 过渡基础语法: 使用transition属性来定义过渡效果. 通过指定过渡的属 ...
- MongoDB 安装、配置及详细使用教程
环境:win10 下载地址 :https://pan.baidu.com/s/1a0SwRv9er3HTewzcI8nWgQ 提取码:dyyx 下载后,将该文件夹放在C盘的根目录下,然后 ...
- 2023-11-29:用go语言,给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。 需保证 返回结果的字典序最小。 要求不能打乱其他字符的相对位置)。 输入:s = “cba
2023-11-29:用go语言,给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次. 需保证 返回结果的字典序最小. 要求不能打乱其他字符的相对位置). 输入:s = &quo ...
- 文心一言 VS 讯飞星火 VS chatgpt (19)-- go语言的slice和rust语言的Vec的扩容流程是什么?
go语言的slice和rust语言的Vec的扩容流程是什么? 文心一言: 在Go语言中,slice(切片)和Rust语言中的Vec都是用于存储一组固定长度的元素的数据结构.它们的扩容流程略有不同,下面 ...
- SaaS 营销,如何利用 RPA 实现自动化获客?
大家好,这次给大家带来如何利用 RPA 实现自动化获客. 一.RPA 是什么?难吗? RPA 对大家来说,可能挺陌生的,其实它很简单. Robotic Process Automation(简称 RP ...
- Istio与Kubernetes:资源管理与协同解析
本文分享自华为云社区<istio资源介绍以及和kubernetes资源扭转关系>,作者:可以交个朋友. 一.istio原理 Istio的原理是拦截 Kubernetes 中创建 Pod 的 ...
- 万字详解什么是生成对抗网络GAN
摘要:这篇文章将详细介绍生成对抗网络GAN的基础知识,包括什么是GAN.常用算法(CGAN.DCGAN.infoGAN.WGAN).发展历程.预备知识,并通过Keras搭建最简答的手写数字图片生成案. ...