2016-04-26 2 views
1

У меня очень странная проблема в моем поиске Splunk. У меня есть входные данные, поступающий из API REST, который возвращает многоуровневый ответ на (вложенный) JSON:Splunk Search не возвращает все данные о событиях в поле

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

Но я думаю, что также важно для анализа, если возможно, входные данные должны делиться на несколько событий, а не на одно огромное событие.

Смежные вопросы