当前位置: > > > Filebeat日志采集器使用详解1(基本介绍、安装配置)

Filebeat日志采集器使用详解1(基本介绍、安装配置)

一、基本介绍

1,Beats 家族介绍

(1)早期的 ELK 架构中使用 Logstash 收集、解析日志,但是 Logstash 对内存、CPU I/O 等资源的消耗比较高。相比 LogstashBeats 所占用的系统 CPU 和内存几乎可以忽略不计。

(2)目前 Beats 家族中有 8 个成员,具体如下:
  • Auditbeat:收集审计日志数据
  • Filebeat:收集日志文件数据
  • Functionbeat:收集云服务相关数据
  • Heartbeat:收集系统运行时的数据
  • Metricbeat:指收集系统 CPU 和内存指标数据
  • Packetbeat:收集网络流量数据
  • Winlogbeat:收集 Windows 事件日志数据
  • Journalbeat:收集 journald 日志数据

2,Filebeat 介绍

(1)Filebeat 是日志文件的轻量级采集工具,主要应用在对数据采集工具性能消耗要求比较低的场景中。
(2)Filebeat 监视你指定的日志文件或位置,收集日志事件,并将它们转发给 ElasticsearchLogstash
3)Filebeat 是使用 Go 语言开发的,不需要依赖任何环境,直接在 Linux 环境中安装部署即可使用。
Filebeat 和 Logstash 的渊源:
  • Logstash 是在 JVM 中运行的,资源消耗比较大,所以 Logstash 的作者 后来又用 Go 语言写了一个 功能较少但是资源消耗也较小的轻量级工具 Logstash-forwarder
  • Logstash 的作者只有一个人,后来他加入了 Elastic 公司,Elastic 公司有一个专门的 Go 语言团队正在开发一个开源项目 Packetbeat。参考 Packetbeat 项目的命名格式,Logstash 的作者将 Logstash-forwarder 重命名为 Filebeat

3,Filebeat 的工作流程

(1)在启动 Filebeat 时会启动一个或多个 Input(输入)。
(2)这些 Input 将在指定的目录下查找满足条件的日志文件。
(3)对于 Input 所找到的每个日志文件,Filebeat 都会启动一个 Harvester(收集器)。
(4)每个 Harvester 都会读取单个日志文件以获取新日志数据,并将新日志数据聚集(缓存)起来。
(5)当满足指定条件时,Filebeat 会将聚集的日志数据发送到输出介质中。

4,Filebeat 组件


(1)Input 组件:用于指定数据源获取数据,常见的插件有 stdinlogsyslogkafka 等。
  • stdin:从标准输入(默认是键盘)读取数据,一次读取一行数据。
  • log:监控指定目录下的日志文件,采集日志文件中的新增数据。
  • syslog:采集 Syslog 日志服务器中的日志数据。
  • kafka:采集 Kafka 消息队列中的数据。

(2)Processor 组件:用于处理数据,常见的插件有 add_fieldsdrop_fieldsdrop_eventdecode_json_fields 等。
  • add_fields:向数据中添加字段。
  • drop_fields:从数据中删除字段。
  • drop_event:过滤满足条件的数据。
  • decode_json_fields:解析 JSON 格式数据中的字段。

(3)Output 组件:用于指定数据输出目的地,常见的插件有 consoleelasticsearchlogstashkafka 等。
  • console:将数据输出到控制台。
  • elasticsearch:将数据输出到 Elasticsearch 的指定 Index 中。
  • logstash:将数据输出到 Logstash 中。
  • kafka:将数据输出到 Kafka 的指定 Topic 中。

附:Filebeat 的安装配置

(1)访问 Filebeat 的官网地址(点击访问),选择合适的版本下载,比如我这里下载的是 7.17.15 版本:
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.15-linux-x86_64.tar.gz

(2)然后将 Filebeat 安装包解压即可:
tar -zxvf filebeat-7.17.15-linux-x86_64.tar.gz

(3)这样就安装好了,Filebeat 可以实现零配置安装,使用起来非常方便。此时我们不需要启动任何进程,只有在配置好采集任务之后才需要启动 Filebeat
评论0