MsgTrackSum

Sie wissen nicht, wie viele Mails sie pro Tag versenden, wann die Spitzen sind und wie groß durchschnittliche Mails sind ?. Dann ist MsgTrackSum ein kleines VBScript, welches Sie mit den Tracking Logs von Exchange 2000/2003 füttern können und diese Daten extrahiert.

Sie können anhand des Messagetracking nicht nur den Verlauf einzelner Nachrichten nachverfolgen, sondern auch die Größe und die Anzahl von Nachrichten pro Zeiteinheit ermitteln. Dies ist eine wichtige Maßzahl zur Dimensionierung von Journalarchiven, IO-Last der Transportserver, Transaktionsprotokolle, Virenscanner und Bandbreiten im LAN und WAN.

Das Skript

Das VBScript benötigt keine weiteren Voraussetzungen und muss einfach die Quelldateien lesen können bzw. Sie übergeben einfach die Logdateien über STDIN an das Skript.

Das Skript liest dann zeilenweise die Eingabedaten durch und merkt sich Zeitpunkt und Größe der Mails, um diese intern in einem Dictionary zu speichern. Diese Zusammenfassung wird dann in eine CSV-Datei ausgegeben. 

Auswertung

Die Auswertung als Grafik habe ich nicht im Skript integriert, sondern mache ich für gewöhnlich mit Excel. Gerade Exchange 2007 erlaubt sehr einfach sehr ansehnliche Grafiken, die wie im folgenden Beispiel einfach die Verteilung der Mails über den Tag abbildet:

Messagetracking

Auch andere Tools zur Auswertung eines Message Tracking können natürlich für solche Analysen heran gezogen werden, z.B. MTRACK oder andere Reporttools

Exchange 2007/2010

Dank der PowerShell ist es für Exchange 2007/2010 natürlich deutlich einfacher, an die Daten zu kommen. Interessant sind die Einträge, mit einem "SEND" und einem "RECEIVE" als EventID, die man recht einfach ausfiltern kann. Folgende Fälle sind hierzu relevant. (Bezogen auf einen Single Server)

  • Von intern ins Internet
  • Interne Zustellung auf dem gleichen Server
  • Eingehende Mails aus dem Internet

Mit dem passenden Skript, welches ich beim Sizing-Prozess verwende, kann ich so einfach die Daten extrahieren. Das Skripte erwartet als Eingabe per Pipeline die Daten von "Get-Messagetracking" und liefert als Ausgabe ein Objekt, welches per Export-CSV z.B. in eine Datei geschrieben wird.

get-messagetracking -resultsize unlimited | .\msgtracksum2007.ps1 | export-csv .\output.csv -notypeinformation

Die CSV-Datei ist dann ebenso einfach wieder in Excel einzulesen und mit ein paar Formeln kann das Mailvolumen für den Tag ermittelt werden.

Durch die SteuerungsMöglichkeiten von "Get-MessageTrackingLog" bezüglich Start und Endezeitpunkt lässt sich auch gut der zu analysierende Bereich einschränken.

Download

Die Skripte sind kein öffentlicher Download, da ich es für Kunden von Net at Work zur Dimensionierung von neuen Servern im Rahmen von Angeboten und als Dienstleistung einsetze.

Eine einfache Gruppierung bekommen Sie aber auch per PowerShell hin:

Get-MessageTrackingLog -resultsize unlimited | group {$_.timestamp.hour}

Weitere Links