2017-11-21 1 views
0

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?

Antwort

0

Ich denke, ich sehe, was Sie sagen .. Die Quittung und Absender haben nicht den gleichen Zeitstempel, so dass sie nie in der gleichen Reihe sein können?

Wenn ja, dann dies unter versuchen .. Dies setzt voraus, den Empfang und die Absender sind innerhalb von 10 Minuten von einander

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 
0

Try this:

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) 
Verwandte Themen