Ubuntu下Filebeat配置文件为/etc/filebeat/filebeat.yml
,以下是关键配置项详解:
输入配置(filebeat.inputs
)
定义日志来源,常用类型为log
(文件日志),示例:
filebeat.inputs:
- type: log
enabled: true
paths: ["/var/log/*.log"] # 监控路径,支持通配符
exclude_files: [".gz$"] # 排除.gz压缩文件
include_lines: ["^ERR", "^WARN"] # 仅包含匹配行(正则)
exclude_lines: ["^DEBUG"] # 排除匹配行
multiline.pattern: "^\[" # 多行日志匹配模式(如以[开头的日志)
multiline.match: after # 匹配行追加到前一行之后
输出配置(output
)
output.elasticsearch:
hosts: ["localhost:9200"] # ES地址
index: "filebeat-%{+yyyy.MM.dd}" # 索引名,支持日期动态生成
output.logstash:
hosts: ["localhost:5044"] # Logstash地址
模块配置(filebeat.modules
)
启用预定义模块简化常见日志采集(如系统日志、Nginx日志),示例:
filebeat.modules:
- module: system
metricsets: ["process"] # 采集系统进程日志
period: 10s # 采集周期
全局配置
logging.level: info
(可选debug
/error
)spool_size: 1024
# 缓冲区大小(事件数)idle_timeout: 10s
# 空闲超时刷新数据高级配置
processors
):添加元数据,如主机信息、云标签:processors:
- add_host_metadata: ~
- add_cloud_metadata: ~
multiline
配置合并多行日志(如Java异常堆栈)。修改配置后,重启服务生效:
sudo systemctl restart filebeat
验证配置正确性:
sudo filebeat test config # 测试语法
sudo journalctl -u filebeat -f # 查看实时日志
更多细节参考官方文档:Filebeat Configuration。