下面以 CentOS 7/8 为例,说明如何使用 Filebeat 收集日志(常见场景:收集系统日志或应用日志,并发送到 Elasticsearch / Logstash)。
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
sudo cat > /etc/yum.repos.d/filebeat.repo <<EOF
[filebeat]
name=Elastic repository for Filebeat
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
sudo yum install filebeat -y
如果是 7.x,把
8.x改成7.x
配置文件路径:
/etc/filebeat/filebeat.yml
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/messages
- /var/log/secure
output.elasticsearch:
hosts: ["http://localhost:9200"]
filebeat.inputs:
- type: log
enabled: true
paths:
- /opt/app/logs/*.log
output.logstash:
hosts: ["logstash:5044"]
sudo filebeat setup
sudo systemctl enable filebeat
sudo systemctl start filebeat
查看状态:
systemctl status filebeat
journalctl -u filebeat -f
# 或
tail -f /var/log/filebeat/filebeat
filebeat.inputs:
- type: log
paths:
- /var/log/nginx/access.log
- /var/log/nginx/error.log
filebeat.inputs:
- type: log
paths:
- /opt/app/app.log
multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
multiline.negate: true
multiline.match: after
如果 ES / Logstash 在远程:
firewall-cmd --add-port=9200/tcp --permanent
firewall-cmd --reload
如果你告诉我:
我可以给你一份 可直接用的配置文件。