Filebeat 收集日志的那些事儿

本文介绍了Filebeat作为日志收集工具的原因,如性能优势、二次开发便利等,并详细阐述了Filebeat的工作原理,包括数据收集、加工、发送以及如何处理网络阻塞等问题。此外,还提及了Filebeat在beats家族中的角色以及与其他beats组件的关系。
摘要由CSDN通过智能技术生成

女主宣言

最近因为云原生日志收集的需要,我们打算使用Filebeat作为容器日志收集工具,并对其进行二次开发,因此笔者将谈谈 Filebeat 收集日志的那些事儿。本文不涉及过具体的源码分析,希望通过阅读您可以了解filebeat的基本使用方法和原理,姑且算是filebeat的入门吧。

PS:丰富的一线技术、多元化的表现形式,尽在“360云计算”,点关注哦!

1

前言

开源日志收集组件众多,之所以选择Filebeat,主要基于以下几点:

  • 功能上能满足我们的需求:收集磁盘日志文件,发送到Kafka集群;支持多行收集和自定义字段等;

  • 性能上相比运行于jvm上的logstash和flume优势明显;

  • Filebeat基于golang 技术栈,二次开发对于我们来说有一定的技术积累;

  • 部署方便,没有第三方依赖;

2

Filebeat 能做什么

简单来说Filebeat就是数据的搬运工,只不过除了搬运还可以对数据作一些深加工,为业务增加一些附加值。

  • Filebeat可以从多种不同的上游input 中接受需要收集的数据,其中我们最常用的就是 log input,即从日志中收集数据;

  • Filebeat对收集来的数据进行加工,比如:多行合并,增加业务自定义字段,json等格式的encode; 

  • Filebeat将加工好的数据发送到被称为output的下游,其中我们最常用的就是 Elasticsearch 和 Kafka;

  • Filebeat具有ACK反馈确认机制,即成功发送到output后,会将当前进度反馈给input, 这样在进程重启后可以断点续传;

  • Filebeat在发送output失败后,会启动retry机制,和上一次ACK反馈确认机制一起,保证了每次消息至少发送一次的语义;

  • Filebeat在发送output时,由于网络等原因发生阻塞,则在input上游端会减慢收集,自适应匹配下游output的状态。

一图以蔽之。

3

Filebeat 背后的“老大”

说到Filebeat,它其实只是 beats 家族众多成员中的一个。除了Filebea

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值