ELFK日志分析系统之Filebeat

ELFK日志分析系统之Filebeat

一、Filebeat简介

Filebeat有两个主要组成部分组成:prospector(探勘者)和harvesters(矿车)。这些组件一起来工作来读取文件并将时间数据发送到指定的output。

  • prospector:负责找到所有需要进行读取的数据源。
  • harvesters:负责读取单个文件的内容,并将内容发送到output中,负责文件的打开和关闭。

二、Filebeat的工作方式

启动filebeat时,它将启动一个或多个输入,这些输入将在日志数据指定的位置中查找。对于filebeat都会启动收集器。每个收集器都会读取单个日志以获取新内容,并将新日志数据发送到filebeat,libbeat将聚集事件,并将聚集的数据发送到指定的filebeat配置的输出。

三、Filebeat工作原理

filebeat可以保持每个文件的状态,并且频繁地把文件状态从注册表中更新到磁盘。这里所说的文件状态是用来记录上一Harvster读取文件时读到的位置,以保证能刚把全部的日志数据都都取出来,然后发送到output。如果在某一时刻,作为output的ElasticSearch或者Logstash变成了不可用,Filebeat将会把最后的文件读取位置保存下来,知道output重新可用的时候,快速的恢复文件数据的读取。在filebeat运行的时候,每个Prospector的状态信息都会保存在内存里。如果filebeat出现了重启,完成重启以后,会从注册文件里回复重启之前的状态信息,让filebeat继续从之前已知的位置开始读取数据。

四、Filebeat用途

适用于集群环境下、服务多、且部署在不同机器。

1、为什么要用filebeat来收集日志?而不直接用logstash来收集日志信息?

因为logstash是jvm跑的,资源消耗比较大,启动一个logstash就需要消耗500兆左右的内存(这就是logstash为什么启动这么慢的原因),而filebeat只需要10兆左右的资源。常用的ELK日志收集方案中,大部分的做法就是将所有的节点的日志内容通过filebeat发送到logstash,logstash根据配置文件进行过滤。然后将过滤的文件发送到elasticsearch中,通过kibana去展示。

2、filebeat结合logstash带来好处

  • 通过logstash,具有基于磁盘的自适应缓冲系统,该系统将吸收传入的吞吐量,从而减轻Elasticsearch持续写入数据的压力。
  • 将其提取数据源(例如数据库,s3对象储存或消息队列)中提取。
  • 将数据发送到多个目的地,例如s3,HDFS(Hadoop分布式文件系统)或写入文件。
  • 使用条件数据流逻辑组成更复杂的处理管道。

3、Filebeat和Logstash的区别

LogstashFilebeat
内存
CPU
插件
功能从多种输入端采集并实时解析和转换数据并输出到多种输出端传输
轻重相对较重轻量级二进制文件
过滤能力强大的过滤能力有过滤能力但是弱
进程一台服务器只允许一个logstash进程,挂掉之后需要手动拉起
原理Logstash使用管道的方式进行日志的搜集和输出,分为输入input处理filter(不是必须的)输出output,每个阶段都有不同的替代方式开启进程后会启动一个或多个探测器(prospectors)去检测指定的日志目录或文件,对于探测器找出的每一个日志文件,filebeat启动收割进程(harvester) ,每一个收割进程读取一个日志文件的新内容,并发送这些新的日志数据到处理程序(spooler),处理程序会集合这些事件,最后filebeat会发送集合的数据到你指定的地点
集群单节点单节点
输出到多个接收方支持6.0之前支持
二次开发或者扩展开发
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值