Групповые события по взаимодействию для анализа в Splunk
У меня есть ряд событий JSON различной формы, проиндексированных в Splunk (как JSON). У них есть идентификатор корреляции, чтобы связать события в "взаимодействия".
Пример набора данных:
{ "correlationId": 1, "type": "start", "qty": 10, "product": "product-1", "client": "client-1" }
{ "correlationId": 1, "type": "mid", "price": 100 }
{ "correlationId": 1, "type": "mid", "price": 101 }
{ "correlationId": 1, "type": "end", "buy": "true , "qty": 1 }
Не каждое событие будет завершено (может не иметь середины или конца)
Представьте, что я ищу каждое "взаимодействие", у которого есть конец: покупка, последняя цена> 10, извлечение полей: начальное кол-во, конечное кол-во, цена, продукт, клиент
Возможен ли такой запрос?
Я могу сделать простую группировку по статистике: status values(*) by correlationId
, что делает группу для меня, но я не могу понять, как фильтровать в этой группе между различными событиями.
Есть ли идея объединить ее в одну запись, назвав каждое поле вручную? Если да, то как мне справиться с тем, что некоторые поля одинаковы, но имеют разные значения для типов событий или повторяющихся типов событий?