Mailflow

Dieses Skript ist noch nicht fertig zur Veröffentlichung - Sorry

Für Exchange 2007/2010 hat Microsoft selbst ein sehr umfangreiches VBScript namens "ProcessTrackingLog.vbs" veröffentlicht

DE http://blogs.technet.com/b/exchange_de/archive/2011/12/07/updated-process-tracking-log-ptl-tool-for-use-with-exchange-2007-and-exchange-2010.aspx
US: http://blogs.technet.com/b/exchange/archive/2011/12/07/updated-process-tracking-log-ptl-tool-for-use-with-exchange-2007-and-exchange-2010.aspx

Das Skript Mailflow ist auf Exchange 5.5, 2000 und 2003 Message Tracking Logs spezialisiert und ermittelt bezogen auf den Server das Volume der übertragenen Mails. Dabei wird zwischen "gleicher Server", "Innerhalb der Organisation" und Internet unterschieden. Es hilft mir dabei, Konsolidierungsüberlegungen mit Daten zu untermauern. Exchange 2003 und noch mehr 2007 sind in Verbindung mit dem Cached Mode ja geradezu prädestiniert, weniger gut verfügbare Server an zentralen Orten aufzustellen und Niederlassungen entsprechend der Bandbreite ohne lokalen Exchange Server zu betreiben. Das spart nicht nur Hardware (Server, Bandlaufwerke, Switchports, USV) sondern auch Lizenzen (Windows, Exchange, Backup, Antivirus) und Kosten für Betrieb, Überwachung, Pflege. Zudem lohnen sich bei wenigen Servern weitere Anstrengungen bezüglich Verfügbarkeit.

Datenerhebung

Für eine seriöse Aussage zum Zentralisierungspotential muss man Daten beisteuern, die die Verwendung durch die Anwender belegen. Wenn in einer Niederlassung Gigabytes von Schreibtisch zu Schreibtisch per Mail übertragen werden, dann ist dies sicher kein guter Ausgangspunkt für einen Betrieb ohne lokalen Exchange Server. Viele dezentrale Server erzeugen aber auch Zusatzverkehr für die Replikation von öffentlichen Ordnern und bei Exchange 5.5 kommt der Verzeichnisabgleich dazu.

Stellen Sie daher sicher, dass das Nachrichtentracking auf ihren Servern aktiv ist, um die folgenden Auswertungen zu fahren. Exchange protokolliert dann jede Mail  (nicht den Inhalt, nur die Routinginformationen) in Textdateien. Anhand dieser Daten kann man aber sehr einfach den Mailfluss ermitteln

Auch wenn keine 100%tige Abschätzung damit möglich ist, so kann man anhand der Menge der „lokalen Mails“ ermessen, welches Volumen bei einem zentralen Ansatz hinzu kommen würde. Gesondert kann man dabei die Mails für Öffentliche Ordner und den Exchange 5.5 Verzeichnisabgleich behandeln.

Grenzen und Möglichkeiten

Das Skript wertet das vorhandene Messagetracking des lokalen Servers aus, um Daten für die Menge der direkt lokal zugestellten Mails und Ziele auf anderen Servern oder dem Internet zu erhalten. Aus Vereinfachungsgründen wurde das Skript nur auf den lokalen Server bezogen, was zu Einschränkungen führt, die Sie kennen sollten:

Die Auswertung kann natürlich nur die Messagetrackinglogs nutzen, die noch vorhanden sind. Wenn man längere Aussagen benötigt, dann könnte man z.B. MBReport derart erweitern, dass damit die Bestandsmails im Postfach selbst auf ihre Absender, Empfänger, Datum und Größe ermittelt und berichtet. Hier käme dann aber die Ungenauigkeit hinzu, dass Quittungen und Mails gelöscht werden.

Messagetracking Events und Partner

Exchange 5.5-2003 hat entgegen Exchange 2007 lokale Mails noch direkt zugestellt, so dass es auch einen eigenen Event dafür gibt. Das macht das Skript etwas einfacher. Genau genommen sind nur drei Events im Messagetracking relevant.

Siehe dazu auch "821905 Ereignis-IDs in Exchange Server 2003 für die Nachrichtenverfolgung"

Lokale Mails sind also sehr einfach von Nachrichten für und von anderen Servern zu unterscheiden. Das Skript muss also nur noch auswerten, ob der Empfänger innerhalb der Organisation oder extern (Internet) ist. Um nun nicht für jeden Empfänger oder Absender einer Mail das Active Directory oder den Exchange 5.5 Verzeichnisdienst fragen zu müssen (CPU-Last), nutze ich die Liste der SMTP-Domains, die im Skript hinterlegt wird.

Im Message Tracking Log sind folgende Felder interessant:

Feld Exchange 5.5 Exchange 2000/2003
Even-tID 2 9
Mailgröße in Bytes 9 13
Empfänger durch LF getrennt 14 8
Datum/Zeit 3 1/2

Funktion

Ehe Sie das Skript starten, müssen Sie daher im Skript selbst die lokalen Domänen hinterlegen, damit das Skript korrekt zwischen externen und internen Absendern und Empfängern unterscheiden kann.

 

 

 

 

Ausgabe

Primäres Ziel des Skripts ist die Ermittlung der Verkehrslasten. Trotzdem kann es natürlich auch interessant sein, welche Datenvolumen in der Summe und nach Zeiten übertragen werden. Auch wenn es möglich wäre habe ich aber gezielt auf Auswertungen auf Benutzerlevel oder Partnerrelationen o.ä. verzichtet, da Sie für eine Konsolidierung nicht relevant sind. Folgende Daten werden ausgegeben.

 

 

 

 

Weiterentwicklung

Die aktuelle Version ist auf Exchange 2003 und einen Server beschränkt. Natürlich würde ich liebend gerne beim Start erst eine Liste der Datenbanken mit der Zuordnung zur Routinggruppe oder AD-Site generieren und dann die Empfänger einsammeln und ebenfalls einer Routinggruppe bzw. AD-Site zuordnen. Dann könnte Das Script noch genauer erkennen, welche Verkehre nicht nur lokal auf dem Server und Remote sind, sondern sogar zwischen der gleichen Routinggruppe/AD-Site, der Organisation und dem Internet unterscheiden.

Weitere Links

Keywords:Auswertung Sizing Mailflow