Splunk Dedup на _time и объединение значений для одного поля в одно событие
Я работаю с данными Exchange 2010. У меня есть MessageID, Отправитель, Получатели и _time. В зависимости от типа события, получатели могут быть разделены (то есть все получатели для данного сообщения не включены в событие, но распределены по нескольким событиям). Вот пример данных:
_time MessageID Sender Recipients
4:25 <12345> Sender1 Recipient1
4:50 <12345> Sender1 Recipient2
Я использую этот запрос для объединения нескольких значений получателей в одно событие по MessageID и отправителю:
index=ExchangeIndex sourcetype=MSExchange:2010:Message tracking
| stats values(Recipients) as recip by MessageID, Sender
| table _time, MessageID, Sender, recip
Это приводит к:
_time MessageID Sender recip
<12345> Sender1 Recipient1; Recipient2
время не заселено, потому что values
не будет работать, если _time был включен в by
заявление, так как каждое событие для определенного MessageID происходит в разное время. Поэтому мне нужно как-то dedup
MessageID (чтобы получить последний _time) и заполнить значения Recipients одновременно.
Я попытался это:
| stats max(_time) as datetime by MessageID, Sender
| stats values(Recipients) as recip by datetime, MessageID, Sender
| table datetime, MessageID, Sender, recip
Но это тоже не работает, и в результате получатель не заполняется:
_time MessageID Sender recip
4:50 <12345> Sender1
Мой желаемый результат выглядит так:
_time MessageID Sender recip
4:50 <12345> Sender1 Recipient1; Recipient2
Как мне этого добиться?
2 ответа
Я думаю, что понимаю, что вы говорите.. Квитанция и отправитель не имеют одинаковую метку времени, поэтому они никогда не могут быть в одном ряду?
Если это так, попробуйте это ниже. Это предполагает, что получатель и отправитель находятся в пределах 10 минут друг от друга
index=ExchangeIndex sourcetype=MSExchange:2010:Message tracking
| bin _time span=10m
| stats values(Recipients) as recp values(MessageID) AS MessageID
values(Sender) AS Sender by _time
Попробуй это:
index=ExchangeIndex sourcetype=MSExchange:2010:Message tracking
stats latest(_time) as latestTime, values(Recipients) as recip by MessageID, Sender
table latestTime, MessageID, Sender, recip
convert ctime(latestTime)