Filebeat是Elastic公司开发的一款免费开源的轻量级日志收集器,属于Elastic Stack(原ELK Stack)的一部分,具有轻量级、高性能、模块化、高可靠性、自动发现等诸多优势,帮助用户从各种来源收集日志数据,将数据发送到Elasticsearch、Logstash或其他目标,以便进行搜索、分析和可视化。本文主要带大家来看一下Filebeat的介绍、工作原理,同时为用户详细介绍Filebeat安装配置教程。
一、Filebeat介绍
Filebeat是一个开源的日志收集器,用于轻量级地收集、转发和集中日志数据。它可以从多种来源收集日志,包括文件系统、标准输出、syslog等,并将它们发送到各种后端存储和分析系统,如Elasticsearch、Logstash等。
二、Filebeat工作原理
Filebeat由两个主要组件组成:Harvester和Prospector和Libbeat。
Harvester的主要职责是读取单个文件的内容。读取每个文件,并将内容发送到the output。
Prospector的主要职责是管理harvester并找到所有要读取的文件来源。如果输入类型为日志,则查找器将查找路径匹配的所有文件,并为每个文件启动一个harvester。
Libbeat主要提供核心功能,如配置管理、输出管理等。
当用户启动Filebeat时,它会启动一个或在为日志数据指定的位置中查找的更多输入。为Filebeat找到的每个日志,Filebeat都会启动一个收割机。每收割机读取新内容的单个日志,并将新日志数据发送到Libbeat,聚合事件并将聚合数据发送到输出用户已为文件节拍配置的。
三、Filebeat安装配置教程
1、进入Filebeat官网(https://www.elastic.co/cn/beats/filebeat),找到Filebeat,进行下载。
2、载完成后,解压filebeat-8.10.1-linux-x86_64.tar.gz到一个目录中,如/opt/filebeat/。
3、检查该目录下的内容,确保有filebeat可执行文件。
4、打开系统的环境变量配置文件。对于大多数Linux发行版,可以编辑~/.bashrc或/etc/profile。
sudo nano /etc/profile
5、在文件末尾添加Filebeat安装目录的路径:
export PATH=$PATH:/opt/filebeat/
6、保存并退出后,应用环境变量变化:
source /etc/profile
7、打开filebeat.yml配置文件进行编辑:
sudo nano /opt/filebeat/filebeat.yml
8、设置输入(input)部分,指定日志文件的路径,如下:
filebeat.inputs:
-type: log
enabled: true
paths:
-/var/log/*.log
9、配置输出(output)部分,设置Elasticsearch的地址和索引名,如下:
output.elasticsearch:
hosts:["localhost:9200"]
index: "filebeat-logs-%[+yyyy.MM.dd}"
10、打开一个新的系统服务文件:
sudo nano /etc/systemd/system/filebeat.service
11、添加以下内容,确保路径正确:
[Unit]
Description=Filebeat log data shipper
Documentation=https://www.elastic.co/products/beats/filebeat
[Service]
ExecStart=/opt/filebeat/filebeat -e -c/opt/filebeat/filebeat.yml
Restart=alwaysStartLimitIntervalSec=0
[Install]
WantedBy=multi-user.target
保存并退出编辑器。
12、更新Systemd的配置:
sudo systemctl daemon-reload
13、启动Filebeat服务,并确保它在引导时自动启动:
sudo systemctl start filebeat
sudo systemctl enable filebeat
14、使用Systemd命令查看Filebeat的运行状态:
sudo systemctl status filebeat
检查Filebeat日志以确保没有错误:
sudo journalctl -u filebeat -f
15、使用curl命令查询Elasticsearch索引,确认数据是否成功导入:
curl "localhost:9200/_cat/indices?v"
查看Filebeat配置的日志文件,确保它们被正确读取和发送。