Filebeat 是属于 Beats 家族的日志传送器——一组安装在主机上的轻量级传送器,用于将不同类型的数据传送到 ELK 堆栈中进行分析。每个节拍都专用于传送不同类型的信息——例如,Winlogbeat 传送 Windows 事件日志,Metricbeat 传送主机指标等等。Filebeat,顾名思义,提供日志文件。
在基于 ELK 的日志管道中,Filebeat 扮演日志代理的角色——安装在生成日志文件的机器上,跟踪它们,并将数据转发到 Logstash 进行更高级的处理,或直接转发到 Elasticsearch 中进行索引。因此,Filebeat 不是 Logstash 的替代品,但在大多数情况下可以而且应该串联使用。
一、filebeat 安装
1.配置yum源,进入到目录下,创建一个以 .repo 为结尾的文件
cd /etc/yum.repos.d
touch elastic.repo
2.将如下信息添加进去,保存并退出
[filebeat]
name=Elasticsearch repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=0
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
3.使用命令安装filebeat
yum -y install filebeat
4.修改filebeat配置
vi /etc/filebeat/filebeat.yml
找到 Filebeat inputs位置,将type改为log,enabled改为true,paths部分则是需要收集日志的目录位置,使用通配符*进行文件筛选
找到outputs部分,可以看到这里有多种不同的输出系统,这里选择输出到 Logstash,配置host之后记得将其他的输出配置给注释掉,配置后保存并退出
5.启动 FileBeat
# 找到filebeat执行文件目录下
cd /usr/share/filebeat/bin
# 指定配置文件来启动filebeat(日志文件在logs/下)
./filebeat -c /etc/filebeat/filebeat.yml &
# 检查是否启动成功
ps -aux | grep filebeat
二、Logstash 配置
1.修改logstash配置文件,添加beats组件,然后保存并退出
input {
beats{
host => "XXXX" #如果是同一台机器,则无需此项
port => "5044"
}
}
output { #输出消费redis队列中的日志到ES
elasticsearch {
hosts => ["XXX:9200"]
index => "redis-systemlog-%{+YYYY.MM.dd}"
user => "elastic"
password => "password"
}
}
2.重启Logstash,这里我用的是docker进行创建,所以重启容器
docker restart logstash
版权归原作者 Edward.Li 所有, 如有侵权,请联系我们删除。