You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Fluent-Bit中配置将日志路径设为Splunk的source字段?

问题解决:Fluent-Bit转发Splunk时设置source为日志路径

1. 为什么event_source $path配置不生效?

你遗漏了tail输入插件的Path_Key配置项。Fluent-Bit的tail插件默认不会将日志文件路径添加到每条日志的记录字段中,直接引用$path会取不到有效值,导致Splunk自动使用HEC令牌对应的默认source名称。

修正后的INPUT配置

添加Path_Key path,让插件自动将当前读取的文件路径写入日志记录的path字段:

[INPUT]
Name              tail
Tag               jsm_on_centos8-2
Path              /home/dujas/fluent-bit/conf/inputs/atlassian-jira-snip3.log
Path_Key          path  # 新增:将日志文件路径存入path字段
DB                /home/dujas/fluent-bit/db/test.db
Read_from_Head    True
Buffer_Chunk_Size 20480KB
Buffer_Max_Size   20480KB
multiline.parser  jsm

修改后,OUTPUT中的event_source $path就能正确引用到日志文件路径,Splunk事件的source会显示为目标日志路径。

2. 通配符路径场景的解决方案

当Path使用通配符(如/home/dujas/logs/*.log)时,上述Path_Key配置依然完全适用——它会自动识别每条日志对应的实际文件路径,并将其写入path字段。OUTPUT中的event_source $path会动态适配每条日志的来源文件,无需手动逐个配置路径。

兼容旧版本Fluent-Bit的备选方案(版本<1.8)

如果你的Fluent-Bit版本低于1.8(不支持Path_Key),可以通过Tag_Regex结合record_modifier过滤器实现:

[INPUT]
Name              tail
Tag               jsm_on_centos8-2_*
Path              /home/dujas/logs/*.log
Tag_Regex         ^jsm_on_centos8-2_(.*)$  # 用正则捕获文件路径到tag分组
DB                /home/dujas/fluent-bit/db/test.db
Read_from_Head    True
Buffer_Chunk_Size 20480KB
Buffer_Max_Size   20480KB
multiline.parser  jsm

[FILTER]
Name              record_modifier
Match             *
Record            path $TAG:1  # 从tag的第一个分组提取路径存入path字段

[OUTPUT]
# 保持原有配置,event_source仍用$path

内容的提问来源于stack exchange,提问作者joker57

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 14:05:30