2016-04-26 51 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

但我認爲也很重要,要分析是否可能將數據輸入需要被分成多個事件而不是一個巨大的事件。