Diagnose von Transport-Agentproblemen mit der Pipelineablaufverfolgung

 

Gilt für: Exchange Server 2007 SP1, Exchange Server 2007

Letztes Änderungsdatum des Themas: 2007-02-12

Pipelineablaufverfolgung ist ein Diagnosefeature in Microsoft Exchange Server 2007, mit dessen Hilfe Diagnoseinformationen zu E-Mail-Nachrichten bei ihren Eintreffen bei Transport-Agents, die für SMTP-Ereignisse (Simple Mail Transfer Protocol) in der Transportpipeline registriert sind, erfasst werden können. Exchange erfasst ausführliche Informationen über die Änderungen, die jeder der Transport-Agents auf die Nachrichten in der Transportpipeline anwendet, in Snapshotdateien der Nachrichten. Wenn Transportregeln konfiguriert sind, zeichnet Exchange Server auch alle Aktionen auf, die von jeder Transportregel an diesen Nachrichten ausgeführt werden.

Die Pipelineablaufverfolgung wird serverweise in der Organisation konfiguriert und kann auf Computern aktiviert werden, auf denen die Serverfunktionen Hub-Transport und Edge-Transport installiert sind.

Wenn die Pipelineablaufverfolgung aktiviert und mit dem Standardspeicherort für die Pipelineablaufverfolgungs-Protokolldatei verwendet wird, wird das Verzeichnis C:\Programme\Microsoft\Exchange Server\TransportRoles\Logs\PipelineTracing erstellt. Dieses Verzeichnis enthält die Unterverzeichnisse MessageSnapshots und RulesTracking.

Implementieren der Pipelineablaufverfolgung

Die Pipelineablaufverfolgung ist darauf ausgelegt, Nachrichten zu protokollieren, die nur von der SMTP-E-Mail-Adresse eines bestimmten Absenders gesendet werden. Die SMTP-Adresse des Absenders kann ein Postfach sein, das sich innerhalb oder außerhalb Ihrer Exchange-Organisation befindet. Vor dem Aktivieren der Pipelineablaufverfolgung müssen Sie eine SMTP-Absenderadresse für die Pipelineablaufverfolgung angeben. Die SMTP-Absenderadresse kann mithilfe des Parameters PipelineTracingSenderAddress für das Cmdlet Set-TransportServer für die Pipelineablaufverfolgung konfiguriert werden.

Im Anschluss an die Konfiguration der SMTP-Absenderadresse für die Pipelineablaufverfolgung kann der Speicherort der Pipelineablaufverfolgungs-Protokolldateien nach Bedarf geändert werden. Die Pipelineablaufverfolgungs-Protokolldateien müssen auf dem lokalen Computer gespeichert werden. Es können weder UNC-Dateipfade (Universal Naming Convention) noch zugeordnete Laufwerke verwendet werden.

CautionAchtung:
Die Pipelineablaufverfolgung kopiert den vollständigen Inhalt von E-Mail-Nachrichten, die von der E-Mail-Adresse des Absenders gesendet werden. Um die unerwünschte Preisgabe vertraulicher Informationen zu vermeiden, müssen Sie für den Speicherort der Pipelineablaufverfolgungs-Protokolldatei geeignete Sicherheitsberechtigungen festlegen.
CautionAchtung:
Die Pipelineablaufverfolgung sollte nicht für längere Zeiträume aktiviert werden, da sie ausführliche Protokolldateien erstellt, die schnell anwachsen können. Überwachen Sie bei aktivierter Pipelineablaufverfolgung immer den verfügbaren Speicherplatz auf dem Datenträger.

Der Speicherort der Pipelineablaufverfolgungs-Protokolldateien kann mithilfe des Parameters PipelineTracingPath für das Cmdlet Set-TransportServer konfiguriert werden. Weitere Informationen finden Sie unter Set-TransportServer.

Weitere Informationen zum Aktivieren der Pipelineablaufverfolgung sowie zum Konfigurieren der Absenderadresse für die Pipelineablaufverfolgung finden Sie unter Aktivieren der Pipelineablaufverfolgung.

Nachrichtensnapshotdateien

Nachrichtensnapshots sind Dateien, in denen die exakten Veränderungen, falls vorhanden, erfasst werden, die von Transport-Agents an einer Nachricht vorgenommen werden. Durch Untersuchen des Inhalts der Nachrichtensnapshotdateien können Sie herausfinden, ob die Transport-Agents die Änderungen an den Nachrichten in der Transportpipeline erwartungsgemäß vorgenommen haben. Bei der Behandlung eines Problems müssen Sie herausfinden, welcher Transport-Agent fehlerhaft ist. Erst dann können Sie sich auf die Behandlung der Problematik dieses Agents konzentrieren, um das Problem zu beheben. Anschließend können Sie erneut Nachrichtensnapshotdateien anzeigen, um sicherzustellen, dass Ihre Lösung erfolgreich war.

Bei aktivierter Pipelineablaufverfolgung erstellt Exchange im Verzeichnis MessageSnapshots für jede Nachricht, die die Transportpipeline passiert, ein Unterverzeichnis. Jedes Verzeichnis wird von dem Computer, auf dem Microsoft Exchange ausgeführt wird, mit der GUID, die der Nachricht zugewiesen ist, als Verzeichnisname erstellt. Wenn die Pipelineablaufverfolgung auf mehr als einem Exchange-Server aktiviert ist, wird der Nachricht auf jedem Exchange-Server eine andere GUID zugewiesen.

In jedem Nachrichtenverzeichnis erstellt Exchange mehrere Nachrichtensnapshotdateien mit der Erweiterung EML. Diese Nachrichtensnapshotdateien enthalten den Inhalt der Nachricht, wenn sie mit dem jeweiligen Ereignis und Transport-Agent in Kontakt kommt.

Exchange erstellt Nachrichtensnapshots für Agents, die für die vier folgenden Ereignisse registriert sind:

  • OnEndOfData

  • OnEndOfHeaders

  • OnSubmittedMessage

  • OnRoutedMessage

Wenn ein Transport-Agent für ein Ereignis registriert ist, erstellt Exchange einen Nachrichtensnapshot der Nachricht, bevor die Nachricht mit einem Transport-Agent in Kontakt kommt. Auf diese Weise erhalten Sie eine Kopie der Nachricht, bevor diese mit Transport-Agents in Kontakt kommt, die für dieses Ereignis registriert sind. Danach wird für jeden Transport-Agent, mit dem die Nachricht in Kontakt kommt, ein neuer Nachrichtensnapshot erstellt, unabhängig davon, ob ein Transport-Agent den Inhalt der Nachricht verändert. Wenn jedoch keine Agents für ein Ereignis registriert sind, erstellt Exchange keine Nachrichtensnapshots für das Ereignis.

Wenn beispielsweise drei Agents für das Ereignis OnEndofData registriert sind, aber nur zwei der Transport-Agents eine Nachricht ändern, werden vier Nachrichtensnapshots erstellt. Der erste Nachrichtensnapshot erfasst die Nachricht, wenn sie mit dem OnEndofData-Ereignis in Kontakt kommt, bevor eine Änderung von den Transport-Agents vorgenommen wurde, die für dieses Ereignis registriert sind. Danach wird für jeden Transport-Agent ein Nachrichtensnapshot erstellt, unabhängig davon, ob ein Transport-Agent die Nachricht verändert.

Die folgende Liste ist ein Beispiel für die Dateien, die bei einer Standardinstallation der Serverfunktion Edge-Transport erstellt werden können:

  • Original.eml   Diese Datei enthält den ursprünglichen, unveränderten Inhalt der E-Mail-Nachricht, bevor diese mit einem Ereignis oder Transport-Agent in Kontakt kommt. Wenn keine Transport-Agents für Ereignisse konfiguriert sind, wird nur diese Datei erstellt.

  • SmtpReceive0001.eml bis SmtpReceive0009.eml   Diese Dateien enthalten den Inhalt der E-Mail-Nachricht, wenn sie mit den Ereignissen OnEndofData und OnEndOfHeaders sowie Transport-Agents, die für diese Ereignisse registriert sind, im SMTP-Empfangsteil der Transportpipeline in Kontakt kommt.

  • Routing0001.eml bis Routing0002.eml   Diese Dateien enthalten den Inhalt der E-Mail-Nachricht, wenn sie mit den Ereignissen OnSubmittedMessage und OnRoutedMessage sowie Transport-Agents, die für diese Ereignisse registriert sind, im Kategorisierungsteil der Transportpipeline in Kontakt kommt.

Die Nachrichtensnapshotdateien können mithilfe eines Text-Editors wie Editor geöffnet werden.

Jede Nachrichtensnapshotdatei beginnt mit Kopfzeilen, die dem Nachrichteninhalt hinzugefügt werden, und listet das SMTP-Ereignis zusammen mit dem Transport-Agent auf, auf die sich die Nachrichtensnapshotdatei bezieht. Diese Kopfzeilen beginnen mit X-CreatedBy: MessageSnapshot-Begin injected headers und enden mit X-EndOfInjectedXHeaders: MessageSnapshot-End injected headers. Sie werden in jeder Nachrichtensnapshotdatei durch die des nachfolgenden Transport-Agents ersetzt. Im Folgenden finden Sie ein Beispiel für die Kopfzeilen, die einer E-Mail-Nachricht hinzugefügt werden, die vom Verbindungsfilter-Agent bei dem Ereignis OnEndOfHeaders verarbeitet wird:

X-CreatedBy: MessageSnapshot-Begin injected headers
X-MessageSnapshot-UTC-Time: 2006-07-31T23:18:55.972Z
X-MessageSnapshot-Protocol-Id: 08C87FF14CCC969C;2006-07-31T23:18:53.408Z;1
X-MessageSnapshot-Source: OnEndOfHeaders,Connection Filtering Agent
X-Sender: david@nwtraders.com
X-Receiver: chris@contoso.com
X-EndOfInjectedXHeaders: MessageSnapshot-End injected headers

Unterhalb der Nachrichtensnapshot-Kopfzeilen befindet sich der Inhalt der Nachricht, einschließlich aller ursprünglichen Nachrichtenkopfzeilen. Wenn ein Transport-Agent den Inhalt der Nachricht ändert, werden die Änderungen in die Nachricht integriert angezeigt. Während die Nachricht von jedem Transport-Agent verarbeitet wird, werden die Änderungen des jeweiligen Agents an dem Nachrichteninhalt vorgenommen. Wenn ein Transport-Agent keine Änderungen am Nachrichteninhalt vornimmt, ist der Nachrichtensnapshot, der von diesem Agent erstellt wird, mit dem Nachrichtensnapshot identisch, der von dem vorangehenden Transport-Agent erstellt wurde.

Lesen der Regelverfolgungsdateien

Die Regelverfolgungsdatei erfasst das Ergebnis jeder Transportregel, während diese auf eine Nachricht angewendet wird, die mit dem Transportregel-Agent auf einem Hub-Transport-Server oder dem Edge-Regel-Agent auf einem Edge-Transport-Server in Kontakt kommt. Die Ergebnisse, die von der Regelverfolgungsdatei erfasst werden, zeigen an, ob eine Transportregel eine Aktion an einer Nachricht ausgeführt hat. Wenn die Transportregel eine Aktion ausgeführt hat, zeigt die Regelverfolgungsdatei an, um welche Aktion es sich gehandelt hat. Die Regelverfolgungsdatei enthält die folgenden Felder im CSV-Format (Comma Separated Value, durch Kommas getrennte Werte):

  • Date-Time   Dieses Feld gibt das Datum und die Uhrzeit, zu denen die Transportregel ausgeführt wurde, in koordinierter Weltzeit (Coordinated Universal Time, UTC) oder Zuluzeit an.

  • Message-Id   Dieses Feld gibt den Wert des Felds MessageID: an, das sich in der Nachrichtenkopfzeile befindet. Dieser Wert ist über die gesamte Lebensdauer der Nachricht konstant und kann zusammen mit Nachrichtenverfolgungsprotokollen zum Nachverfolgen des Pfads einer Nachricht durch eine Exchange-Organisation verwendet werden.

  • Rule-Name   Dieses Feld gibt den Namen der Transportregel an, die für die Nachricht ausgeführt wurde.

  • Details   Dieses Feld gibt die Werte der Transportregelaktion an, die auf eine Nachricht angewendet wurde. Wenn für eine einzelne Transportregelaktion mehrere Werte festgelegt wurden, sind diese durch Semikolons (;) getrennt. Wenn die Transportregel nicht auf eine Nachricht angewendet wird, wird die Zeichenfolge Conditions evaluated to false. Rule skipped. (Die Bedingungen wurden als nicht erfüllt bewertet. Die Regel wurde ausgelassen.) eingefügt.

  • Action   Dieses Feld gibt die Transportregelaktion an, die auf die Nachricht angewendet wird. Wenn die Transportregel nicht auf eine Nachricht angewendet wird, wird der Text NoAction (Keine Aktion) eingefügt.

  • From-Address   Dieses Feld zeigt die SMTP-Adresse des Nachrichtenabsenders an.

  • Recipient-Address   Dieses Feld zeigt die SMTP-Adresse des Empfängers oder der Empfänger der Nachricht an. Wenn die Transportregelaktion auf eine Nachricht angewendet wird, die an mehrere Empfänger gesendet wurde, die die Bedingungen der Transportregel erfüllen, sind die Empfänger durch Semikolons (;) getrennt.

Jede Transportregelaktion, die auf eine Nachricht angewendet wird, wird in eine eigene Zeile in der Regelverfolgungsdatei geschrieben. Wenn eine Transportregel beispielsweise über drei Aktionen verfügt, wird das Ergebnis jeder einzelnen Transportregelaktion in eine gesonderte Zeile in der Regelverfolgungsdatei geschrieben.

Wenn mehr als ein Empfänger in einer E-Mail-Nachricht vorhanden ist, aber nicht alle Empfänger alle Bedingungen der Transportregel erfüllen, werden die Empfänger, die die Bedingungen der Transportregeln nicht erfüllen, abgesondert und in eine eigene Zeile geschrieben.

Weitere Informationen

Weitere Informationen über die Transportpipeline, Transport-Agents und Nachrichtenverfolgungsprotokolle in Exchange 2007 finden Sie unter den folgenden Themen: