Splunk выберите последнюю запись и группу по идентификатору

Я новичок в splunk-запросе, не мог бы кто-нибудь помочь с этим, пожалуйста. Я пытаюсь получить последнюю запись для каждого идентификатора

Образец данных:

id=Id1 p1=12 p2=32 time=10:13
id=Id2 p1=34 p2=54 time=10:14
id=Id1 p1=1 p2=99  time=11:33
id=Id2 p1=5 p2=67  time=13:00

ожидаемый результат:

Id1 1 99
Id2 5 67


person swapna p    schedule 21.05.2020    source источник


Ответы (2)


Это сделает команда dedup. Он удаляет все повторяющиеся события на основе указанных полей, сохраняя самые свежие.

... | dedup id | ...

Вы также можете использовать stats. В этом примере выбирается самое последнее значение p2 для каждого идентификатора. Команда stats часто быстрее, чем dedup, но страдает побочным эффектом отбрасывания полей, которые она не использует (в примере сохраняются только p2 и id).

... | stats latest(p2) as p2 by id | ...
person RichG    schedule 21.05.2020

В дополнение к ответу RichG,

... | stats latest(*) as * by id | ...

не будет отбрасывать никакие поля.

person Simon Duff    schedule 21.05.2020