在splunk索引数据时,会对数据进行一些自动的解析和提取,比如帮我们提取原始log里的日期,也会对某些格式的数据进行合并,将多行的数据合并为一条记录存储在splunk中,而这些自动提取的过程有时并不符合我们真实的业务逻辑,所以需要我们自己去配置;或者对于有些格式的数据,splunk自己也无法判断如何处理时可能就会出现各种解析错误。下面是总结的一些常见日期格式的格式化配置:
[case1]
#Event coming at Sat Jul 23 22:50:54 EDT 2022
TIME_FORMAT=%a %b %d %H:%M:%S %Z %Y
TIME_PREFIX=Event coming at
[case2]
#event中没有日期类型的
DATETIME_CONFIG=CURRENT
[case3]
#2022-07-26 05:35:36,456 INFO The event is coming.
#Please check event detials
TIME_PREFIX=^
TIME_FORMAT=%Y-%m-%d %H:%M:%S,%3N
LINE_BREAKER=([\r\n]+)\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2},\d{3}\s
#如果event在合并时将多行log合并了,它可能会在第二行里匹配日期,这时就需要把LINE_BREAKER后面加上日期个正则表达式即可。
[case4]
#Jul 26, 2022 4:25:54 AM Event is comin