Exchange 2013 Messagetracking

Exchange 2013 nutzt die gleiche Funktion um die Übertragung von Nachrichten zu verfolgen wie Exchange 2007 und 2010. Auch die PowerShell befehle sind die gleichen. Da sich aber die Rollen mit Exchange 2013 verändert haben, durchlaufen die Mails nun natürlich andere Zwischenstationen.

Tracking 2007/2010

Ich habe für verschiedene Wege hier einmal die Logs zusammen gefasst, die bei einer Mail geschrieben werden.

Konfiguration
Alle Logs wurden in einer Umgebung mit 1x Exchange 2013 und 1xExchange 2010 gemacht. Sie sehen also keine redundanten Wege einer HochverfügbarkeitsUmgebung. Sie sehen aber die HAREDIRECTFAIL-Meldungen mangels HA Umgebung.
192.168.200.1  Internet Gateway
192.168.200.12 Exchange 2013 Server
192.168.200.10 Exchange 2010 Server.
Es werden NUR die Logs des Exchange 2013 gezeigt

Hinweis:
Wer mit Get-Messagetrackinglog arbeitet, findet NICHT immer die Einträge in der richtigen Reihenfolge vor. Fast immer sind bei ausgehenden Mails die beiden Einträge vom Client zum Store (RECEIVE STORE) und die Benachrichtigung vom Store zum Hub (SUBMIT STORE) verzögert. Der Timestamp ist aber korrekt, so dass ein einfaches " | sort timestamp |" dazwischen die Ordnung herstellt.
Weiterhin bietet es sich für Tests an, den Testfall als "Betreff" zu verwenden, da Get-Messagetrackinglog nach dem Betreff filtern kann.

Alle Auswertungen wurden mit folgendem Befehl generiert.

get-messagetrackinglog -messagesubject "testname"| `
   sort timestamp | `
   ft timestamp,eventid,source,connec*,totalbytes,serverip,OriginalClientIp -AutoSize

Aktivieren

Per Default ist das Exchange Message Tracking auf allen Servern aktiviert. Sie können das recht einfach überprüfen.

[PS] C:\Windows\system32>Get-TransportService | fl messagetr*

MessageTrackingLogEnabled               : True
MessageTrackingLogMaxAge                : 30.00:00:00
MessageTrackingLogMaxDirectorySize      : 1000 MB (1,048,576,000 bytes)
MessageTrackingLogMaxFileSize           : 10 MB (10,485,760 bytes)
MessageTrackingLogPath                  : C:\Program Files\Microsoft\Exchange
                                          Server\V15\TransportRoles\Logs\MessageTracking
MessageTrackingLogSubjectLoggingEnabled : True

Per Default protokolliert Exchange die letzten 30 Tage in 10 MB großen Dateien. Das Protokollverzeichnis darf aber maximal 1000 MB groß werden. Die ältesten Dateien werden bei Größenüberschreitung oder nach Alter gelöscht. die 30 Tage ist daher keine garantierte Mindesthaltbarkeit 

Sie können das Messagetracking über die Powershell oder auch das ECP abschalten:

Ex2013 lokal

Dieser Test zeigt wie eine Mail auf dem gleichen Server übertragen wird.

Timestamp           EventId        Source      ConnectorId                            TotalBytes ServerIp
---------           -------        ------      -----------                            ---------- --------
7/4/2013 3:14:36 PM RECEIVE        STOREDRIVER                                              7429 fe80::fdf3:c513:ee8a:81df%13
7/4/2013 3:14:36 PM HAREDIRECTFAIL SMTP                                                     8131
7/4/2013 3:14:37 PM SUBMIT         STOREDRIVER
7/4/2013 3:14:37 PM RECEIVE        SMTP        MSX2013\Default MSX2013                      8131 192.168.200.13
7/4/2013 3:14:40 PM AGENTINFO      AGENT                                                    9361
7/4/2013 3:14:45 PM SEND           SMTP        Intra-Organization SMTP Send Connector       9468 192.168.200.13
7/4/2013 3:14:45 PM DELIVER        STOREDRIVER                                              9462

Ex2013 -> Internet

Hier sendet der Server eine Mail von einem lokalen Postfach über einen Smarthost zum Internet.

Timestamp            EventId        Source      ConnectorId              TotalBytes ServerIp
---------            -------        ------      -----------              ---------- --------
3/11/2013 8:47:56 PM RECEIVE        STOREDRIVER                                8550 fe80::fdf3:c513:ee8a:81df%13
3/11/2013 8:47:56 PM HAREDIRECTFAIL SMTP                                       9115
3/11/2013 8:47:56 PM SUBMIT         STOREDRIVER
3/11/2013 8:47:56 PM RECEIVE        SMTP        MSX2013\Default MSX2013        9115 192.168.200.13
3/11/2013 8:47:57 PM AGENTINFO      AGENT                                      9681
3/11/2013 8:47:58 PM TRANSFER       ROUTING                                    7200
3/11/2013 8:48:21 PM SEND           SMTP        Internet MSX2013 -> INET       7208 192.168.200.1

Interessant ist hier, dass die Mail anscheinend kleiner wird. Da wäre es schon mal interessant, per Pipelinetracing die Veränderungen genauer zu analysieren. Ich vermute der Exchange 2013 Server entfernt einige Einträge im Header, ehe die Mail den Server verlässt.

Internet -> Ex2013

In der Gegenrichtung empfängt der Server eine Mail aus dem Internet:

Timestamp            EventId        Source      ConnectorId                            TotalBytes ServerIp       OriginalClientIp
---------            -------        ------      -----------                            ---------- --------       ----------------
3/11/2013 8:33:46 PM HAREDIRECTFAIL SMTP                                                     5783
3/11/2013 8:33:47 PM RECEIVE        SMTP        MSX2013\Default MSX2013                      5783 192.168.200.13 192.168.200.1
3/11/2013 8:33:48 PM AGENTINFO      AGENT                                                    6841
3/11/2013 8:33:49 PM SEND           SMTP        Intra-Organization SMTP Send Connector       6948 192.168.200.13
3/11/2013 8:33:49 PM DELIVER        STOREDRIVER                                              6948                192.168.200.1

Interessant ist, dass die "OriginalClientIP" beim letzten Eintrag mit protokolliert wird.

Internet -> Ex2013 -> Ex2010

Der Empfang einer Mail aus dem Internet erfolgt auch über den "Default MSX2013"-Connector aber wird dann nach der Verarbeitung durch den AGENT (Mail wird größer) umgehend an den Exchange 2010 Server weiter gegeben.

Timestamp            EventId        Source ConnectorId                            TotalBytes ServerIp       OriginalClientIp
---------            -------        ------ -----------                            ---------- --------       ----------------
3/11/2013 8:01:09 PM HAREDIRECTFAIL SMTP                                                1365
3/11/2013 8:01:10 PM RECEIVE        SMTP   MSX2013\Default MSX2013                      1365 192.168.200.13 192.168.200.1
3/11/2013 8:01:10 PM AGENTINFO      AGENT                                               2233
3/11/2013 8:01:10 PM SEND           SMTP   Intra-Organization SMTP Send Connector       2294 1192.168.200.10
3/11/2013 8:03:13 PM HADISCARD      SMTP                                                2294

Ex2013 -> Ex2010 -> Internet

Vor der Umstellung des Mailroutings kann auch ein Exchange 2013 Server über einen Exchange 2010-Server Mails in das Internet senden.

Timestamp            EventId        Source      ConnectorId                            TotalBytes ServerIp
---------            -------        ------      -----------                            ---------- --------
7/5/2013 10:25:30 AM RECEIVE        STOREDRIVER                                              6809 fe80::fdf3:c513:ee8a:81df%13
7/5/2013 10:25:36 AM SUBMIT         STOREDRIVER
7/5/2013 10:25:36 AM HAREDIRECTFAIL SMTP                                                     7371
7/5/2013 10:25:36 AM RECEIVE        SMTP        MSX2013\Default MSX2013                      7371 192.168.200.13
7/5/2013 10:25:37 AM AGENTINFO      AGENT                                                    7921
7/5/2013 10:25:37 AM TRANSFER       ROUTING                                                  5787
7/5/2013 10:25:37 AM SEND           SMTP        Intra-Organization SMTP Send Connector       5789 1192.168.200.10
7/5/2013 10:27:15 AM HADISCARD      SMTP                                                     5789

Ex2010 -> Ex2013 (nur Ex2013 Seite)

Wenn ein Exchange 2010 Benutzer eine Mail an einen Exchange 2013 Postfach sendet, dann sieht das wie folgt aus:

Timestamp            EventId        Source      ConnectorId                            TotalBytes ServerIp       OriginalClientIp
---------            -------        ------      -----------                            ---------- --------       ----------------
3/11/2013 2:21:49 PM HAREDIRECTFAIL SMTP                                                    11709
3/11/2013 2:21:50 PM RECEIVE        SMTP        MSX2013\Default MSX2013                     11709 192.168.200.13 192.168.102.42
3/11/2013 2:21:50 PM AGENTINFO      AGENT                                                   11786
3/11/2013 2:22:02 PM SEND           SMTP        Intra-Organization SMTP Send Connector      13296 192.168.200.13
3/11/2013 2:22:02 PM DELIVER        STOREDRIVER                                             13290                192.168.102.42

SMTP-Header

Auch wenn Sie in die SMTP-Header der Mail schauen, finden Sie die Stationen der Mail. Hier am Beispiel einer per SMTP, die in interner Server (MSXPRTG) an Exchange 2010 gesendet hat und dann über einen Exchange 2013 Server zum Internetprovider gegangen ist.

Received: from mail.msxfaq.de (gate.msxfaq.de [88.62.20.245])
 by mx.kundenserver.de with ESMTP (Nemesis); Sat, 13 Jul 2013 01:51:34 +0200
Received: from MSX2013.msxfaq.de (192.168.200.13) by MSX2013.msxfaq.de
 (192.168.200.13) with Microsoft SMTP Server (TLS) id 15.0.620.29; Sat, 13 Jul
 2013 01:51:26 +0200
Received: from MSX2010.msxfaq.de (192.168.200.10) by MSX2013.msxfaq.de
 (192.168.200.13) with Microsoft SMTP Server (TLS) id 15.0.620.29 via Frontend
 Transport; Sat, 13 Jul 2013 01:51:26 +0200
Received: from MSXPRTG (192.168.200.1) by MSX2010.msxfaq.de
 (192.168.200.10) with Microsoft SMTP Server id 14.3.123.3; Sat, 13 Jul 2013 01:51:25 +0200
From: <frank.carius@example.com>
To: <ex2010@msxfaq.de>

Auch hier ist gut zu sehen, dass die Exchange 2013 Rolle gleich zwei Zeilen addiert. Einmal der "Frontend Transport" (als Proxy) und noch mal der SMTP-Transport auf der Mailboxrolle.

Weitere Links