如何配置Splunk的inputs.conf仅解析多目录下的JSON文件
Splunk 单配置节收集多目录JSON文件的配置方法
1. 统一配置 props.conf
在$SPLUNK_HOME/etc/system/local/或你的自定义应用目录下的props.conf中,定义一个通用的JSON解析源类型,无需为每个目录单独配置:
[my_json_logs] KV_MODE = json NO_BINARY_CHECK = 1 SHOULD_LINEMERGE = false TIME_PREFIX = "timestamp":: # 可选,根据你的JSON日志实际时间字段调整,比如"time":: MAX_TIMESTAMP_LOOKAHEAD = 30
KV_MODE=json:指定Splunk按JSON格式解析日志键值对NO_BINARY_CHECK=1:跳过二进制文件检查,避免JSON文件被误判SHOULD_LINEMERGE=false:JSON日志多为单行结构,关闭行合并防止解析错误
2. 单节配置 inputs.conf 实现多目录收集
在inputs.conf中用单个[monitor]节,通过路径通配符/逗号分隔路径+白名单过滤,实现多目录仅收集JSON文件,并关联上面定义的源类型:
[monitor:///app/logs/app*/] # 若目录无统一前缀,直接用逗号分隔具体路径:[monitor:///app/logs/app1/,/app/logs/app2/,/app/logs/app3/] sourcetype = my_json_logs whitelist = \.json$ disabled = false recursive = true # 可选,默认开启,递归收集子目录下的文件 followTail = 0 # 可选,0表示从文件开头全量收集,1表示仅追新日志
- 路径匹配:目录有统一前缀时用通配符(如
app*)简化配置;目录无规律则直接逗号分隔完整路径 whitelist = \.json$:通过正则仅收集.json后缀的文件,避免无关文件被采集sourcetype = my_json_logs:将所有匹配文件关联到统一的JSON源类型,实现解析规则复用
3. 使配置生效
重启Splunk服务,或通过Splunk Web的「配置重载」功能刷新配置,之后即可统一收集指定目录下的所有JSON文件,并按预设规则解析。
内容的提问来源于stack exchange,提问作者teayogalog
相关产品推荐
相关产品推荐

