Pipeline Tracing
Seit Exchange 2007 werden alle Mails immer über die E2K7:Hub/Transport-Rolle übertragen. Sogar Mails zwischen Postfächern auf dem gleichen Server werden vom Postfachspeicher einer Hub/Transport-Rolle angekündigt, welche dann die Mail aus dem Postausgang abholt, verarbeitet und zustellt.
Die Hub/Transport-Rolle übernimmt dabei eine ganze Menge an Veränderungen und Prüfungen der Mail z.B.
- Empfangsbeschränkung beim Empfänger prüfen
- Globale Quotas prüfen und anwenden
- Transportregel anwenden
- Transportarchiv anwenden
- Messagetracking schreiben
- Header in der Mail erweitern
- Verteiler auflösen
Dies ist nur eine partielle Auflistung, weil die Transportrolle um weitere E2K7: Transportagents erweitert werden kann. Zwar protokollieren die Server viele Fehler schon im Eventlog oder im Messagetracking aber für eine genauere untersuchung, wann eine bestimmte Mail durch welchen Schritt korrumpiert wird, ist es erforderlich, die Mail als Kopie an allen zwischenschritten zu erhalten. Und genau das macht das Pipelinetracing, welches sie auf der Hub/Transport-Rolle aktivieren können.
Aktivieren des Pipeline Trace
Die Einstellung ist pro Hub/Transport-Rolle durchzuführen, durch welche eine fragliche Mail geroutet werden könnten. Die Aktivierung erfolgt über die PowerShell. Hier ein Beispiel um die Replikationsnachrichten eines öffentlichen Informationsspeichers zu untersuchen.
set-TransportServer ` -Identity SRV01` -PipelineTracingEnabled $true ` -ContentConversionTracingEnabled $true ` -PipelineTracingPath "C:\Program Files\Microsoft\Exchange Server\TransportRoles\Logs\PipelineTracing" ` -PipelineTracingSenderAddress SRV01-IS@msxfaq.local
Die Hub/Transport-Rolle legt dann für jede neue Mail Im angegebenen Verzeichnis ein neues unterverzeichnis an, in welchem die Mails während der verschiedenen Abschnitte liegen.
Auswerten der Dateien
Die Dateien selbst sind Textdateien die nach RC822 aufgebaut sind. Sie können also einfach diese mit Outlook Express oder Windows Mail oder jedem Texteditor öffnen. Im Texteditor sehen Sie dann auch zusätzliche Header, anhand denen Sie die Verarbeitung durch die einzelnen Agenten sehen können:
Die Hub/Transport-Rolle übernimmt auch die Arbeit, Nachrichten zu konvertieren. Es kann durchaus passieren, dass eben solche ein Konvertierung nicht erfolgreich abgeschlossen werden kann. Dann findet sich im Unterverzeichnis "ContentConversionTracing" je eine EML und eine TXT-Datei mit der problematischen Mails. Die Textdatei enthält den Hinweis auf den Fehler.
Microsoft.Exchange.Data.Storage.PropertyValidationException: Property validation failed. Property = [{00020329-0000-0000-c000-000000000046}:'Keywords'] Categories Error = Element 0 in the multivalue property is invalid.. Microsoft.Exchange.Data.Storage.PropertyValidationException: Property validation failed. Property = [{00062004-0000-0000-c000-000000000046}:0x8092] Email2AddrType Error = Email2AddrType is too long: maximum length is 9, actual length is 25 FAIL 554 5.6.0 STOREDRV.Deliver.Exception.ObjectValidation Failed to process message due to a permanent exception Microsoft.Exchange.Data.Storage.ObjectValidationException: The object is invalid and cannot be saved
Der erste Fehler weist auf Kategorien hin während der zweite Fehler auf fehlerhafte Mailadressen in Kontaktordnern und Fehler 3 oft bei Terminen auftritt (fehlendes Endedatum etc.).
Abschalten der Dateien
Vergessen Sie am ende nicht wieder das "Pipeline Tracing" abzuschalten
set-TransportServer ` -PipelineTracingEnabled $false ` -ContentConversionTracingEnabled : $false
Transport Agenten
Über den Befehl "Get-transportPipeline" können Sie einfach sehen, welche Agenten an welcher Stelle des Systems eingebunden ist. Die Ausgabe zeigt auch gut, an welchen verschiedenen Stationen die Agenten aktiv werden.
Weitere Links
- FixCategories
- Hub Transport Logging
- E2K7:Hub/Transport
- E2K7: Transportagents
-
Exchange Server: Configure pipeline tracing
https://learn.microsoft.com/en-us/exchange/mail-flow/transport-logs/configure-pipeline-tracing - How to Enable Pipeline Tracing
http://technet.microsoft.com/en-us/library/bb125018.aspx - Managing Content Conversion Tracing
http://technet.microsoft.com/en-us/library/bb397226.aspx - Using Pipeline Tracing to Diagnose Transport Agent
Problems
http://technet.microsoft.com/en-us/library/bb125198.aspx - AgentLog und DiagnostigLogging für MSTransport'
http://technet.microsoft.com/de-de/library/bb124795.aspx - Content Conversion Tracing
http://technet.microsoft.com/en-us/library/bb397226.aspx - Public Folder Replication Troubleshooting
Part 1: http://blogs.technet.com/b/exchange/archive/2006/01/17/417611.aspx
Part 2: http://blogs.technet.com/b/exchange/archive/2006/01/19/417737.aspx
Part 3: http://blogs.technet.com/b/exchange/archive/2006/01/23/417974.aspx
Part 4: http://blogs.technet.com/b/exchange/archive/2008/01/10/447843.aspx - Get-TransportConfig
http://technet.microsoft.com/en-us/library/bb124336.aspx