支持自定义字段的方式
在 Ubuntu 上的 Filebeat 支持通过多种方式为事件添加自定义字段,常见做法包括:
- 在输入上直接定义 fields 与 fields_under_root(将字段提升到事件根层级)。
- 使用 processors.add_fields 在采集管道中追加或覆盖字段。
- 通过 环境变量 动态注入字段值(便于在不同主机上复用同一配置)。
- 利用 tags 为事件添加标签(适合分类与筛选)。
快速配置示例
- 使用 fields 添加字段(可选放到根层级)
- 将字段放在 fields 下(默认行为)
filebeat.inputs: - type: log enabled: true paths: - /var/log/*.log fields: env: prod region: cn-beijing - 将字段提升到根层级(设置 fields_under_root: true)
filebeat.inputs: - type: log enabled: true paths: - /var/log/*.log fields: env: prod region: cn-beijing fields_under_root: true
- 将字段放在 fields 下(默认行为)
- 使用 processors.add_fields 追加/覆盖字段
processors: - add_fields: fields: team: "backend" project: "order-service" - 使用环境变量注入字段值
# 在系统环境或 /etc/profile 中导出变量 export SERVER_IP=192.168.1.10 # 在配置中引用 filebeat.inputs: - type: log enabled: true paths: - /var/log/*.log fields: host_ip: ${SERVER_IP}提示:远程执行 systemctl/脚本重启时,确保以 login shell 加载环境变量(如使用 bash -l),否则 Filebeat 可能读取不到变量导致启动失败。
字段放置与作用域说明
- 放在输入级 fields:仅对当前输入生效;若设置 fields_under_root: true,字段会提升到事件根层级,便于直接检索与聚合。
- 放在 processors.add_fields:可全局统一添加,也可按条件添加;适合在输出到 Elasticsearch/Logstash 前统一规范化字段。
- 使用 tags:添加字符串数组标签,便于筛选与可视化分组,但不替代结构化字段的查询与分析能力。
在 Ubuntu 上的应用与验证步骤
- 编辑配置文件(常见路径:/etc/filebeat/filebeat.yml),按需添加 fields 或 processors。
- 验证配置并重启服务:
sudo filebeat test config -c /etc/filebeat/filebeat.yml sudo systemctl restart filebeat sudo journalctl -u filebeat -f - 若输出到 Elasticsearch/Logstash,在 Kibana 中刷新索引模式后,即可在 Discover 中检索到新增字段。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1483115.html