1. 安装Filebeat
首先在Linux系统上安装Filebeat。不同发行版的安装命令不同:
sudo apt-get update && sudo apt-get install filebeatsudo yum install filebeat 或通过官网下载RPM包安装。2. 配置Filebeat监控系统日志
配置文件默认路径为/etc/filebeat/filebeat.yml,核心是修改filebeat.inputs部分,指定要监控的系统日志文件路径。常见配置示例如下:
*.log监控/var/log/目录下所有日志文件,ignore_older参数可忽略超过72小时的旧日志(避免处理陈旧数据)。filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
ignore_older: 72h
syslog(通用系统日志)、auth.log(认证日志,CentOS中为secure)等关键文件,可直接指定路径。filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/syslog
- /var/log/auth.log # CentOS中替换为/var/log/secure
exclude_files参数排除压缩文件(如.gz)或其他无关文件,减少资源消耗。filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
exclude_files: ['\.gz$']
3. 可选:优化配置(处理器、模块)
decode_json_fields处理器提取message字段中的内容,将其转换为结构化数据(便于后续分析)。filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/app.json.log
processors:
- decode_json_fields:
fields: ["message"]
target: "" # 解析后的字段存入根对象
system模块,包含针对Linux系统日志(如syslog、auth、kernel)的预定义配置(如字段映射、索引模板),可简化配置流程。启用方法:sudo filebeat modules enable system,之后修改filebeat.yml中的output部分即可。4. 配置输出目标
Filebeat需将收集的日志发送到后端服务(如Elasticsearch或Logstash),在filebeat.yml中配置:
9200,索引名称可使用动态格式(如filebeat-%{+yyyy.MM.dd},按日期分割索引)。output.elasticsearch:
hosts: ["localhost:9200"]
index: "filebeat-%{+yyyy.MM.dd}"
5044)。output.logstash:
hosts: ["localhost:5044"]
5. 启动与验证Filebeat
systemctl命令启动Filebeat,并设置为开机自启。sudo systemctl start filebeat
sudo systemctl enable filebeat
systemctl status filebeat确认服务是否运行正常(显示“active (running)”即为成功)。journalctl -u filebeat -f实时查看Filebeat的运行日志。curl http://localhost:9200/_search)或Kibana,检查是否接收到系统日志数据。6. 可选:调整系统参数(提升监控性能)
若监控大量日志文件,可能需调整Linux系统的inotify参数(限制单个用户可监控的文件数量)。编辑/etc/sysctl.conf,添加或修改以下行:
fs.inotify.max_user_watches=524288
运行sudo sysctl -p使配置生效。