Splunk Search не возвращает все данные о событиях в поле

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

Образец ответа REST API

Узел сущности имеет несколько узлов, каждый узел представляет одну точку доступа. Каждая точка доступа содержит поле ipAddress. Этот API вызывается каждые 5 минут, а ответ сохраняется в Splunk. Когда я выполняю поиск, чтобы получить список IP-адресов одного события, я не получаю их всех. По какой-то причине Splunk читает только первые семь узлов внутри объекта, потому что когда я это делаю:

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

Splunk отображает в поле только следующие значения (7 значений, хотя их около 27):

Данные полей Splunk

Я использую демо-лицензию, если это важно. Почему я не вижу всех значений? Если я изменю свой поиск, чтобы искать определенный iPAddress в ответе, но не в списке, он не будет возвращать записи.

Спасибо и привет,


person Martin Garcia    schedule 26.04.2016    source источник


Ответы (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

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

person Martin Garcia    schedule 29.04.2016