sudo yum update -y
yum-utils(用于管理仓库)和wget(用于下载文件)。sudo yum install -y yum-utils wget
x86_64)和Elastic Stack兼容性,从Elastic官网下载对应版本的Filebeat(推荐使用RPM包,便于管理)。wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.6.2-x86_64.rpm
rpm命令安装下载的包。sudo rpm -ivh filebeat-8.6.2-x86_64.rpm
注:安装后,Filebeat主程序位于
/usr/share/filebeat,配置文件位于/etc/filebeat/filebeat.yml。
编辑主配置文件:使用文本编辑器(如vim)修改/etc/filebeat/filebeat.yml,核心配置包括输入源、输出目标和索引模板。
# 定义输入源(监控系统日志)
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
- /var/log/messages
- /var/log/syslog
# 定义输出目标(发送到Elasticsearch)
output.elasticsearch:
hosts: ["localhost:9200"] # 若Elasticsearch在远程服务器,替换为对应IP
username: "elastic" # 若启用了X-Pack安全认证,需填写用户名
password: "your_password" # 若启用了X-Pack安全认证,需填写密码
# 可选:配置索引模板(优化索引结构)
setup.template.settings:
index.number_of_shards: 3 # 索引分片数(根据数据量调整)
index.codec: best_compression # 使用最佳压缩算法节省存储空间
提示:若需监控特定应用日志(如Nginx),可将
paths修改为应用日志路径(如/var/log/nginx/*.log)。
验证配置语法:使用Filebeat内置命令检查配置文件是否有错误。
sudo filebeat test config -e
systemctl命令启动Filebeat。sudo systemctl start filebeat
sudo systemctl enable filebeat
sudo systemctl status filebeat
若状态显示为active (running),则表示启动成功。查看Elasticsearch索引:通过Elasticsearch API检查是否创建了Filebeat索引(索引名称通常为filebeat-*)。
curl -X GET "localhost:9200/_cat/indices?v&pretty"
若看到类似filebeat-8.6.2-2025.10.02的索引,说明数据已成功采集。
查看Filebeat日志:若需调试,可通过以下命令查看实时日志。
sudo journalctl -u filebeat -f
若安装时未自动创建Systemd服务文件,可手动创建(适用于源码安装或自定义路径):
sudo vim /etc/systemd/system/filebeat.service
添加以下内容(根据实际路径调整):
[Unit]
Description=Filebeat
Wants=network-online.target
After=network-online.target
[Service]
User=root
Group=root
ExecStart=/usr/share/filebeat/filebeat -e -c /etc/filebeat/filebeat.yml
Restart=always
[Install]
WantedBy=multi-user.target
保存后,执行以下命令启用服务:
sudo systemctl daemon-reload
sudo systemctl enable filebeat
9200端口(TCP),允许Filebeat访问。sudo firewall-cmd --add-port=9200/tcp --permanent
sudo firewall-cmd --reload
setsebool -P var_log_t_filebeat 1)。bulk_max_size(批量发送大小)、max_procs(并发数)等参数,提升采集效率。