Splunk HTTP采集是否忽略props.conf?自定义时间字段替换咨询
说法不正确,props.conf同样可以对HTTP采集的数据生效
不管是目录监控上传的数据,还是通过HTTP Event Collector(HEC)采集的数据,只要正确配置props.conf并关联到对应数据源的sourcetype,都能实现用自定义START_TIME字段替换默认_time值的需求。
具体实现步骤:
确认HTTP数据的sourcetype
确保你通过HTTP采集的数据被分配了明确的sourcetype(比如http_custom_data),可以在HEC的配置中指定,或者在发送事件时通过sourcetype参数传递。配置props.conf规则
根据START_TIME字段的格式,选择对应的配置方式:- 如果
START_TIME是原始事件文本中的一部分,直接从原始数据中提取时间:[http_custom_data] # 定位START_TIME字段的起始位置 TIME_PREFIX = "START_TIME":\s*" # 匹配START_TIME的时间格式,根据实际情况调整 TIME_FORMAT = %Y-%m-%dT%H:%M:%S.%3N # 设置最大查找长度,避免无效扫描 MAX_TIMESTAMP_LOOKAHEAD = 25 - 如果
START_TIME已经是被提取好的字段,直接用该字段覆盖_time:[http_custom_data] # strptime的第二个参数要和START_TIME的实际格式完全匹配 EVAL-_time = strptime(START_TIME, "%Y-%m-%d %H:%M:%S")
- 如果
配置的生效位置
- 单实例环境:将
props.conf放在$SPLUNK_HOME/etc/system/local/目录下,或者自定义应用的local目录中。 - 分布式环境:需要将配置部署到索引层(或Heavy Forwarder,如果数据先经过转发处理),因为数据的解析和时间戳提取通常在这些节点完成。
- 单实例环境:将
关键注意事项
如果通过HEC发送事件时本身携带了time参数,Splunk会优先使用该值,但通过props.conf的配置可以强制覆盖,优先使用START_TIME字段的值。
内容的提问来源于stack exchange,提问作者kagarlickij
相关产品推荐
相关产品推荐

