写点什么

大数据 ELK(二十):FileBeat 是如何工作的

作者:Lansonli
  • 2022 年 10 月 10 日
    广东
  • 本文字数:582 字

    阅读完需:约 2 分钟

大数据ELK(二十):FileBeat是如何工作的

FileBeat 是如何工作的

FileBeat 主要由 input 和 harvesters(收割机)组成。这两个组件协同工作,并将数据发送到指定的输出。

一、input 和 harvester

1、inputs(输入)

input 是负责管理 Harvesters 和查找所有要读取的文件的组件。如果输入类型是 log,input 组件会查找磁盘上与路径描述的所有文件,并为每个文件启动一个 Harvester,每个输入都独立地运行。

2、Harvesters(收割机)

Harvesters 负责读取单个文件的内容,它负责打开/关闭文件,并逐行读取每个文件的内容,并将读取到的内容发送给输出,每个文件都会启动一个 Harvester。但 Harvester 运行时,文件将处于打开状态。如果文件在读取时,被移除或者重命名,FileBeat 将继续读取该文件。

二、FileBeats 如何保持文件状态

FileBeat 保存每个文件的状态,并定时将状态信息保存在磁盘的「注册表」文件中,该状态记录 Harvester 读取的最后一次偏移量,并确保发送所有的日志数据。如果输出(Elasticsearch 或者 Logstash)无法访问,FileBeat 会记录成功发送的最后一行,并在输出(Elasticsearch 或者 Logstash)可用时,继续读取文件发送数据。在运行 FileBeat 时,每个 input 的状态信息也会保存在内存中,重新启动 FileBeat 时,会从「注册表」文件中读取数据来重新构建状态。

在/export/server/es/filebeat-7.6.1-linux-x86_64/data 目录中有一个 Registry 文件夹,里面有一个 data.json,该文件中记录了 Harvester 读取日志的 offset。


发布于: 刚刚阅读数: 3
用户头像

Lansonli

关注

微信公众号:三帮大数据 2022.07.12 加入

CSDN大数据领域博客专家,华为云享专家、阿里云专家博主、腾云先锋(TDP)核心成员、51CTO专家博主,全网六万多粉丝,知名互联网公司大数据高级开发工程师

评论

发布
暂无评论
大数据ELK(二十):FileBeat是如何工作的_Filebeat_Lansonli_InfoQ写作社区