# 创建文件夹
mkdir -p /soft/beats
# 解压文件
tar -zxvf filebeat-7.9.1-linux-x86_64.tar.gz
# 重命名
mv filebeat-7.9.1-linux-x86_64/ filebeat
# 进入文件夹
cd filebeats
# 创建配置文件
vim mogublog.yml #自定义配置文件
添加如下内容 mogublog.yml
filebeat.inputs: # filebeat input输入
- type: stdin # 标准输入
enabled: true # 启用标准输入
setup.template.settings:
index.number_of_shards: 3 # 指定下载数
output.console: # 控制台输出
pretty: true # 启用美化功能
enable: true
启动
在我们添加完配置文件后,我们就可以对filebeat进行启动了
./filebeat -e -c mogublog.yml
image.png
读取文件
我们需要再次创建一个文件,叫 mogublog-log.yml,然后在文件里添加如下内容
filebeat.inputs:
- type: log
enabled: true
paths:
- /soft/beats/logs/*.log
setup.template.settings:
index.number_of_shards: 3
output.console:
pretty: true
enable: true
然后我们再次启动filebeat
./filebeat -e -c mogublog-log.yml
自定义字段
但我们的元数据没办法支撑我们的业务时,我们还可以自定义添加一些字段
filebeat.inputs:
- type: log
enabled: true
paths:
- /soft/beats/logs/*.log
tags: ["web", "test"] #添加自定义tag,便于后续的处理
fields: #添加自定义字段
from: test-web
fields_under_root: true #true为添加到根节点,false为添加到子节点中
setup.template.settings:
index.number_of_shards: 3
output.console:
pretty: true
enable: true
添加完成后,我们重启 filebeat
./filebeat -e -c mogublog-log.yml
输出到ElasticSearch
filebeat.inputs:
- type: log
enabled: true
paths:
- /soft/beats/logs/*.log
tags: ["web", "test"]
fields:
from: test-web
fields_under_root: false
setup.template.settings:
index.number_of_shards: 1
output.elasticsearch:
hosts: ["127.0.0.1:9200"]
image.png
Module
前面要想实现日志数据的读取以及处理都是自己手动配置的,其实,在Filebeat中,有大量的Module,可以简化我们的配置,直接就可以使用,如下:
./filebeat modules list
#启动
./filebeat modules enable nginx
#禁用
./filebeat modules disable nginx
./filebeat -e -c mogublog-nginx.yml
mogublog-nginx.yml
filebeat.inputs:
setup.template.settings:
index.number_of_shards: 3
output.elasticsearch:
hosts: ["192.168.232.150:9200"]
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
es收集到nginx的数据
image.png