Loading

日志收集系列:Filebeat(二)

2. Filebeat

2.1 什么是Filebeat

Filebeat是用于转发和集中日志数据的轻量级传送工具。Filebeat监视您指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或 Logstash进行索引。

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

Filebeat 并不依赖于 ElasticSearch,可以单独存在。我们可以单独使用Filebeat进行日志的上报和搜集。filebeat 内置了常用的 Output 组件, 例如 kafka、ElasticSearch、redis 等,出于调试考虑,也可以输出到 console 和 file 。我们可以利用现有的 Output 组件,将日志进行上报。


2.2 Filebeat工作流程

工作流程图如下:

image-20230806144427636

其工作流程如下:

  1. 当启动 Filebeat 程序时,它会启动一个或多个查找器去检测指定的日志目录或文件。
  2. 对于查找器 prospector 所在的每个日志文件,FIlebeat 会启动收集进程 harvester。
  3. 每个 harvester 都会为新内容读取单个日志文件,并将新日志数据发送到后台处理程序,后台处理程序会集合这些事件。
  4. 最后发送集合的数据到 output 指定的目的地。

除了图中提到的各个组件,整个 filebeat 主要包含以下重要组件:

  • Crawler:负责管理和启动各个 Input
  • Input:负责管理和解析输入源的信息,以及为每个文件启动 Harvester。可由配置文件指定输入源信息。
  • Harvester: Harvester 负责读取一个文件的信息。
  • Pipeline: 负责管理缓存、Harvester 的信息写入以及 Output 的消费等,是 Filebeat 最核心的组件。
  • Output: 输出源,可由配置文件指定输出源信息。
  • Registrar:管理记录每个文件处理状态,包括偏移量、文件名等信息。当 Filebeat 启动时,会从 Registrar 恢复文件处理状态。

2.3 安装并使用Filebeat

在一台web01主机上进行安装filebeat

rpm -ivh --nosignature https://mirrors.tuna.tsinghua.edu.cn/elasticstack/7.x/yum/7.10.2/filebeat-7.10.2-x86_64.rpm

下载地址:https://mirrors.tuna.tsinghua.edu.cn/elasticstack/7.x/yum/


修改配置文件

[root@web01 ~]# cat /etc/filebeat/filebeat.yml
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/secure

output.elasticsearch:
  hosts:
    - "es01.yinjay.com:9200"
    - "es02.yinjay.com:9200"
    - "es03.yinjay.com:9200"

写入hosts解析

cat >> /etc/hosts <<EOF
10.0.0.90 es01.yinjay.com
10.0.0.91 es02.yinjay.com
10.0.0.92 es03.yinjay.com
EOF

启动filebeat并设置开机自动

systemctl start filebeat.service
systemctl enable filebeat.service

查看ES集群,已经收集过来了!

image-20230806151933181

posted @ 2023-09-16 10:14  YinJayChen  阅读(73)  评论(0编辑  收藏  举报