2016-04-26 54 views
1

我在Splunk搜索中遇到了一个非常奇怪的问题。我具有从REST API返回一个多级(嵌套)JSON响应的数据输入来:Splunk搜索不会返回字段上的所有事件数据

REST API Response Sample

实体节点具有几个节点,每个节点代表一个接入点。每个接入点都包含一个名为ipAddress的字段。 该API每隔5分钟被调用一次,响应存储在Splunk中。当我从一个事件进行搜索以获得IP地址的列表时,我没有看到它们全部。出于某种原因,就像是Splunk的是只读取里面的实体第一七个节点,因为当我这样做:

source="rest://AccessPointDetailsAPI" | head 1 

Splunk的显示场上只有以下值(7个数值虽然有大约27):

Splunk fields data

我使用演示许可证,如果该事项。为什么我看不到所有的价值?如果我将搜索更改为在响应中查找特定iPAddress,但不在列表中,它将不会返回记录。

感谢和问候,

回答

1

我想我现在明白了这个问题。所以这个事件是一个大JSON,Splunk没有正确解析大JSON上的所有字段。

我们需要告诉Splunk来解析,我们需要SPATH特定领域和指定字段:

yoursearch | spath output=myIpAddress path=queryResponse.entity{}.accessPointDetailsDTO.ipAddress | table myIpAddress 

http://docs.splunk.com/Documentation/Splunk/5.0.4/SearchReference/Spath

但我认为也很重要,要分析是否可能将数据输入需要被分成多个事件而不是一个巨大的事件。