用 Filebeat 和用 Logstash 推送日志到 Elasticsearch 有什么区别?

Filebeat 轻量采集转发(资源占用小、解析能力弱),Logstash 功能全面(解析/转换/富化强、资源占用大)。典型架构是 Filebeat 采集 + Logstash 处理 + ES 存储。本文讲清两者分工与选型。

最佳实践
用 Filebeat 和用 Logstash 推送日志到 Elasticsearch 有什么区别?封面

一句话分工:Filebeat 是轻量采集器(读文件、转发,几乎不做处理);Logstash 是重型管道(grok 解析、字段增删、富化、多路输出)。资源紧张的采集端用 Filebeat,需要复杂清洗的中间层用 Logstash。

对比表

维度 Filebeat Logstash
定位 轻量日志采集器 数据处理管道
资源占用 极小(Go,几十 MB) 大(JVM,数百 MB 起)
解析能力 基础(dissect/grok 处理器) 完整(grok/mutate/ruby…)
背压处理 有(对下游反压) 有(队列)
多输出 单输出 多输出

典型组合

Filebeat(每台机器,采集) → Logstash(集中清洗) → ES → Kibana

流量小、日志结构化良好(JSON)时 Filebeat 直连 ES 也完全可行。

观测云对照

观测云 DataKit 一个采集器同时覆盖两者职责:轻量采集 + 内置 Pipeline 清洗(grok/脱敏/富化),直传云端——不再需要 Filebeat + Logstash 双层结构。

常见问题(FAQ)

Q:Filebeat 能完全替代 Logstash 吗? JSON 日志等无需复杂处理的场景可以;需要多路输出、重度转换时仍需 Logstash 或等价层。

Q:Filebeat→Logstash 之间会丢吗? 不会,Filebeat 有 ACK 与重发机制。

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台