在 CentOS 下使用 Filebeat 监控文件,一般流程如下(以 Elastic Stack / ELK 场景为例):
# 导入 Elastic GPG 密钥
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
# 创建 yum 源
sudo tee /etc/yum.repos.d/elastic.repo <<EOF
[elastic-8.x]
name=Elastic repository for 8.x packages
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
如果是 CentOS 7,可能需要先启用
epel-release
/etc/filebeat/filebeat.yml
/var/log/nginx/filebeat.inputs:
- type: filestream # 推荐(7.x+)
enabled: true
paths:
- /var/log/nginx/*.log
fields:
log_type: nginx
fields_under_root: true
✅ 旧版本写法(log 类型)(仍可用):
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/nginx/*.log
output.elasticsearch:
hosts: ["localhost:9200"]
output.logstash:
hosts: ["localhost:5044"]
sudo systemctl enable filebeat
sudo systemctl start filebeat
查看状态:
systemctl status filebeat
journalctl -u filebeat -f
或:
tail -f /var/log/filebeat/filebeat
filebeat test config
filebeat test output
paths:
- /var/log/nginx/*.log
- /var/log/app/*.log
exclude_files: ['.gz$', 'error.log']
setup.template.name: "nginx"
setup.template.pattern: "nginx-*"
output.elasticsearch:
hosts: ["localhost:9200"]
index: "nginx-%{+yyyy.MM.dd}"
检查:
enabled: truels -l /var/log/nginx/access.log
✅ 支持(默认跟随)
| 项目 | filestream | log |
|---|---|---|
| 版本 | 7.x+ | 老版本 |
| 性能 | ✅ 更好 | 一般 |
| 推荐 | ✅ | ❌ |
如果你愿意,我可以帮你:
直接贴你的 日志路径 + 使用场景 即可。