Filebeat介绍
Filebeat是一个轻量级的日志采集器,将采集的数据推送到Logstash、ES存储。

Filebeat部署
采用RPM安装
rpm -ivh filebeat-7.9.3-x86_64.rpm
|
配置文件详解:
- type: log
enabled: false
paths: - /var/log/*.log
|
推送到Logstash或ES
output.logstash: hosts: ["192.168.0.11:5044"]
setup.ilm.enabled: false setup.template.name: "microservice-product" setup.template.pattern: "microservice-product-*" output.elasticsearch: hosts: ["localhost:9200"] index: "microservice-product-%{+yyyy.MM.dd}"
|
配置采集指定日志,修改配置文件(适用于一个服务器上采集多个服务日志)
vim /etc/filebeat/filebeat.yml
filebeat.inputs: - type: log enabled: true paths: - /var/log/test/product.log tags: ["nginx"] fields_under_root: true fields: project: microservice app: product
- type: log enabled: true paths: - /var/log/test/gateway.log tags: ["nginx"] fields_under_root: true fields: project: microservice app: gateway output.logstash: hosts: ["192.168.0.11:5044"]
|
启动filebeat服务
systemctl start filebeat.service ps -ef |grep filebeat
|
logstash配置
修改logstash 配置文件
vim /opt/elk/logstash/conf.d/test.conf
input { beats { host => "0.0.0.0" port => 5044 } } filter { if [app] == "product" and [project] == "microservice" { mutate { add_field => { "[@metadata][target_index]" => "microservice-product-%{+YYYY.MM}" } } } else if [app] == "gateway" and [project] == "microservice" { mutate { add_field => { "[@metadata][target_index]" => "microservice-gateway-%{+YYYY.MM.dd}" } } } else { mutate { add_field => { "[@metadata][target_index]" => "unknown-%{+YYYY}" } } } } output { elasticsearch { hosts => "192.168.0.11:9200" index => "%{[@metadata][target_index]}" } }
|
热加载配置
filebeat(部署在要采集日志的机器上):
模拟数据
mkdir /var/log/test echo "this is product" > /var/log/test/product.log echo "this is gateway" > /var/log/test/gateway.log
|
在kibana页面上查看



