首页/云/可观测性速查/Filebeat 采集配置入门
日志平台52 条

Filebeat 采集配置入门

Filebeat 按输入声明要采集的文件路径:字段富化、多行合并、输出目标都在同一份配置里;先 test config 再启动是稳定运行的基本功。

可观测性速查云更新于 2026-10-13

Filebeat 采集配置是什么

Filebeat 通过 inputs 声明要采集的文件或日志源,并配置字段富化、多行合并与输出目标。它以轻量著称:记录读取位置(registry)保证重启后不重复采集,是日志平台上最常用的边车(sidecar)采集器。先 test config 再启动,是它稳定运行的基本功。

基本信息

配置文件/etc/filebeat/filebeat.yml
输入类型filestream(7.16+;旧版为 log)
采集位置记录在 registry 中,重启续采
字段富化fields + fields_under_root
输出目标elasticsearch / logstash / kafka
校验命令filebeat test config / test output

典型使用场景

  • 采集应用日志目录下的 .log 文件并送到 Elasticsearch
  • 给不同来源的日志加 service、env 字段,便于后续过滤
  • 用 multiline 合并 Java 异常堆栈,保证一条日志完整
  • 先送到 Logstash 做解析,再由 Logstash 写入 ES
  • 用 processors 做字段裁剪与 drop,控制入库数据量
  • 配合容器日志路径采集 Pod 的标准输出

filebeat.yml 示例

filebeat.yml 示例
filebeat.inputs:
  - type: filestream            # 7.16+ 推荐类型(旧版为 log)
    paths:
      - /var/log/app/*.log
    fields:
      service: api              # 自定义维度字段
    fields_under_root: true     # 让字段置于顶层而非 fields.*
    multiline:                   # 合并异常堆栈
      pattern: '^[0-9]{4}-'
      negate: true
      match: after

output.elasticsearch:
  hosts: ["http://es:9200"]
  index: "filebeat-%{+yyyy.MM.dd}"

校验与运行

校验与运行
filebeat test config -c /etc/filebeat/filebeat.yml   # 配置语法
filebeat test output                                  # 输出连通性
filebeat -e -c /etc/filebeat/filebeat.yml             # 前台带日志运行

关键配置项

配置项作用说明
paths采集路径支持通配,避免匹配到轮转文件
fields附加字段加服务、环境等维度
fields_under_root字段位置true 时置于顶层
multiline多行合并堆栈日志必备
processors行级处理裁剪、脱敏、drop
output.*输出目标只启用一个主输出
fields 默认挂在 fields.* 下,fields_under_root: true 后置于顶层,便于后续按字段过滤与做索引路由。
registry 文件记录每个文件的读取偏移,不要随意删除;删除会导致重启后从头重采,产生大量重复日志。
multiline 的 pattern 与 negate 组合决定合并规则:常见做法是以时间戳开头为新行、其余行追加到上一行之后。
旧版 Filebeat 用 type: log 与 filebeat.prospectors,升级到 7.16+ 后应迁移为 filestream 输入,两者配置键并不完全兼容。

易错点

  • 通配过宽把轮转备份文件(.1、.gz)也采进来,排除规则要显式写
  • 改了输出目标未重启服务不生效,先让 test output 通过再逐步上线
  • multiline 规则写错会把多条无关日志并成一条,或把堆栈拆散,需按真实样例验证
  • 删除 registry 会导致全量重采,重复数据既占存储又干扰统计
  • 同时启用多个主输出会互相干扰,输出目标应只保留一个(可用多目标发送除外)
  • 容器日志路径与宿主机路径映射不一致时采集为空,配置前先确认实际挂载点

数据来源与参考

  • Elastic 官方文档 · Filebeat configuration
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌