为什么Splunk无法识别这些字段?

时间:2018-12-03 18:59:32

标签: splunk

我是Splunk的新手,如果需要提供更多信息,请原谅我。

我正在生成用于跟踪一些网站指标的日志,最终目的是在值发生变化时向我发送警报。

我正在将日志转发到Splunk Indexer。我的日志采用以下格式:

fetchTime: 2018-12-02T18:33:56.621Z
fooVersion: 3.2.1
requestedUrl: https://cats.com/
finalUrl: https://cats.com/
accessibilityScore: 0.70
fetchTime: 2018-12-02T18:34:50.345Z
fooVersion: 3.2.1
requestedUrl: https://example.com/
finalUrl: https://example.com/
accessibilityScore: 0.90
fetchTime: 2018-12-03T18:35:50.750Z
fooVersion: 3.2.1
requestedUrl: https://cats.com/
finalUrl: https://cats.com/
accessibilityScore: 0.72
fetchTime: 2018-12-03T18:36:06.868Z
FooVersion: 3.2.1
requestedUrl: https://example.com/
finalUrl: https://example.com/
accessibilityScore: 0.88

如我所愿,事件在Splunk中出现:

Splunk event screenshot

但是我希望Splunk可以轻松地将它们标识为“有趣的字段”。

我的日志格式有问题吗?我应该做一个自定义的字段提取器,因为它不能识别它们吗?还是在Splunk中配置不正确?

谢谢。

1 个答案:

答案 0 :(得分:4)

由于未提取任何字段,因此未列为“有趣的字段”。 Splunk希望找到键=值格式的字段。如果数据不是这种格式(如您的格式),则需要在props.conf文件中进行设置,以告诉Splunk如何解释数据。从以下内容开始:

[mysourcetype]
TIME_PREFIX = fetchTime: 
TIME_FORMAT = %Y-%m-%dT%H:%M:%S.%3N%Z
MAX_TIMESTAMP_LOOKAHEAD = 24
SHOULD_LINEMERGE = true
BREAK_ONLY_BEFORE = ^fetchTime
TRANSFORM-fields = mysourcetypefields

在transforms.conf中添加:

[mysourcetypefields]
REGEX = ([^:]+):\s(\S+)
FORMAT = $1::$2