在 CentOS 下使用 Filebeat(通常配合 Elasticsearch / Logstash / Kibana,即 ELK)一般流程如下:
sudo rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
sudo cat > /etc/yum.repos.d/filebeat.repo <<EOF
[filebeat]
name=Elasticsearch 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
⚠️ 版本号(8.x)可根据需要修改
配置文件路径:
/etc/filebeat/filebeat.yml
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
- /var/log/messages
output.elasticsearch:
hosts: ["http://localhost:9200"]
output.logstash:
hosts: ["localhost:5044"]
# 设置开机自启
systemctl enable filebeat
# 启动
systemctl start filebeat
# 查看状态
systemctl status filebeat
# 查看日志
journalctl -u filebeat -f
filebeat test config
filebeat test output
filebeat.inputs:
- type: log
paths:
- /var/log/nginx/access.log
- /var/log/nginx/error.log
filebeat.inputs:
- type: container
paths:
- /var/lib/docker/containers/*/*.log
filebeat modules enable nginx
filebeat modules enable system
filebeat setup
paths 是否正确/var/lib/filebeat/registry 是否记录位置chmod 644 /var/log/messages
setenforce 0 # 临时关闭(测试用)
应用日志 → Filebeat → Logstash → Elasticsearch → Kibana
或:
应用日志 → Filebeat → Elasticsearch → Kibana
如果你有 具体场景(如 Nginx、Docker、K8s、日志格式),可以告诉我,我可以给你更精确的配置。