Ich arbeite mit Exchange 2010 Daten. Ich habe die MessageID, Absender, Empfänger und _time. Abhängig vom Ereignistyp können Empfänger aufgeteilt werden (d. H. Alle Empfänger für eine bestimmte Nachricht sind nicht im Ereignis enthalten, sondern sind auf mehrere Ereignisse verteilt). Hier ist ein Beispiel für die Daten:Splunk Dedup von _time und Werte für ein Feld in ein Ereignis kombinieren
_time MessageID Sender Recipients
4:25 <12345> Sender1 Recipient1
4:50 <12345> Sender1 Recipient2
Ich benutze diese Abfrage an mehrere Empfänger Werte in ein Ereignis, das von MessageID und Sender zu kombinieren:
index=ExchangeIndex sourcetype=MSExchange:2010:Message tracking
| stats values(Recipients) as recip by MessageID, Sender
| table _time, MessageID, Sender, recip
Daraus ergibt sich:
_time MessageID Sender recip
<12345> Sender1 Recipient1; Recipient2
_time ist nicht ausgefüllt, da values
nicht funktionieren würde, wenn _time in der by
-Anweisung enthalten wäre, da jedes Ereignis für eine bestimmte MessageID auftritt eine andere Zeit. Daher muss ich irgendwie dedup
MessageID (um die neueste _time zu bekommen) und die Empfänger Werte gleichzeitig stopfen.
ich versucht, dies:
| stats max(_time) as datetime by MessageID, Sender
| stats values(Recipients) as recip by datetime, MessageID, Sender
| table datetime, MessageID, Sender, recip
Aber diese entweder nicht funktioniert, und es ergibt sich recip bevölkert nicht werden:
_time MessageID Sender recip
4:50 <12345> Sender1
Meine gewünschte Ausgabe wie folgt aussieht:
_time MessageID Sender recip
4:50 <12345> Sender1 Recipient1; Recipient2
Wie soll ich das erreichen?