在Ubuntu上使用Filebeat进行日志解析,主要步骤如下:
安装Filebeat
通过APT包管理器安装:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt-get update && sudo apt-get install filebeat
配置日志路径
编辑配置文件 /etc/filebeat/filebeat.yml,在 filebeat.inputs 中指定要解析的日志文件路径,例如:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/syslog
- /var/log/nginx/*.log
处理多行日志(可选)
若需合并多行日志,可在输入配置中添加 multiline 选项,例如:
multiline.pattern: '^\[' # 匹配以[开头的行作为新日志起始
multiline.negate: true
multiline.match: after
解析特定格式日志(如JSON)
若日志为JSON格式,可通过 decode_json_fields 处理器解析:
processors:
- decode_json_fields:
fields: ["message"]
target: "" # 解析结果存入根字段
输出到Elasticsearch或Logstash
output.elasticsearch:
hosts: ["localhost:9200"]
index: "filebeat-%{+YYYY.MM.dd}"
output.logstash:
hosts: ["localhost:5044"]
启动并验证
启动服务并检查状态:
sudo systemctl start filebeat
sudo systemctl status filebeat
通过Elasticsearch或Kibana查看解析后的日志数据。
说明:
fields 和 fields_under_root 添加自定义字段,辅助分类检索。