ELK--Filebeat简介

filebeat介绍

filebe主要由两个部分组成:prospector和harversters.这些组件一起工作来读取文件并将时间数据发送到指定的output.
什么是harvesters?
负责读取单个文件的内容,harverste逐行读取每个文件,并将内容发送到output中,每个文件都将启动一个harvesters. haesters负责文件的打开和关闭.这意味着harvesters运行时,文件会保持打开状态.如果在收集过程中,即使删除了这个文件或者对这个文件进行重名名,filebeat依然会对这个文件进行读取,这个时候将会一直占用着文件所对应的磁盘空间,直到harvester关闭.默认情况下,filebeat会一直保持文件的开启状态,直到超过配置的额close_inactive参数,filebeat才会把harvester关闭
关闭harvesters的影响?
file Handler将会被关闭,如果在harvester关闭之前,读取的文件已经删除或者重命名,占用的磁盘资源会被释放.
当时间到达配置的scan_frequency参数,将会重新启动为文件内容的收集
当需要关闭Harvester的时候,可以通过close_*配置项来控制

什么是Prospector?
Prospector负责管理Harvsters,并且找到所有需要进行读取的数据源,如果input_type配置的是log类型,Prospector将会配置的路径下查找所有能匹配上的文件,然后为每一个文建创建一个harvster.每个Prospector都运行在自己的Go routine里
filebe目前支持两种prospector类型:log和stdin.每个Prospector类型可以在配置文件定义多个.log Prospector将会检查每一个文件是否需要启动harvster,启动的harvster是否还在运行.或者该文件是否被忽略.

工作原理

filebeat启动后,会开启若干个”Prospector”搜索配置路径下的日志,针对每一个日志会开启一个”harvester”不停地监控,收集日志中的新增部分,然后把收集到的日志发送给”spooler”,”spooler”负责整合数据信息然后将信息发送到特定的位置(Logstash或者Elasticsearch)

这里写图片描述

完美!!!

猜你喜欢

转载自blog.csdn.net/ljm15832631631/article/details/80164572