Exchange Server 2007 bietet mit der Edge
Transport-Rolle ein ideales Gateway für die
Abwicklung des E-Mail-Verkehr von und nach
extern. Wer den E-Mail-Verkehr analysieren muss
- und das wird über lang oder kurz jeden
Treffen, der diese Rolle verwendet - sollte über
die einzelnen Protokollierungsoptionen Bescheid
wissen.
Heute möchte ich kurz auf das AgentLog
hinweisen. Dieses Log liegt standardmäßig %programfiles%\Microsoft\Exchange
Server\TransportRoles\Logs\AgentLog.
Folgende Spalten/Daten werden protokolliert
und stehen als Felder zur Verfügung:
|
Timestamp |
Die Uhrzeit des Protokolleintrags. |
|
ConnectorName |
CN des Connectors, der die Nachricht
empfangen hat. |
|
SessionId |
Die IP-Adresse der SMTP-Sitzung. |
|
IPAddress |
Die IP-Adresse des die Verbindung
herstellenden Servers. |
|
MessageId |
Die Nachrichten-ID von Microsoft
Exchange Server 2007. |
|
P1FromAddress |
Das P1-Feld "Von:" der
Nachrichtenkopfzeile
(Nachrichtenumschlag) |
|
P2FromAddresses |
Das P2-Feld "Von:" der
Nachrichtenkopfzeile
(Nachrichtenumschlag) |
|
Recipients |
Die Nachrichtenempfänger. |
|
Agent |
Der Name des Agents, der die Aktion
aufruft. |
|
Event |
Das Ereignis, für das die Aktion
durchgeführt wurde. |
|
Action |
Die ausgeführte Aktion (ganze Zahl). |
|
SmtpResponse |
Die Antwort, die ggf. an den Aufrufer
gesendet wird. |
|
Reason |
Der Begründungscode, der vom Agent
bereitgestellt wird. |
|
ReasonData |
Ausführliche Beschreibung durch den
Agent. |
Ein Eintrag könnte so aussehen:
2008-11-30T04:47:32.321Z,
08CB1EB6D0AF0884,172.19.72.86:25,217.12.148.135:59672,
217.12.148.135,,EdwinasplotchySalter@ncat.org,,webmaster@msisafaq.de,1,Connection
Filtering Agent,OnRcptCommand,RejectCommand,550
5.7.1 Message refused due to listing at
ix.dnsbl.manitu.net,BlockListProvider,iX,
Mit dem Exchange-Managementshell-Befehl
Get-AgentLog kann man das Log auswerten.
Natürlich spricht nichts dagegen, es auch im
Texteditor anzeigen zu lassen. Ich nutze dazu
fast immer
BareTail.
Beim Arbeiten mit dem AgentLog fiel mir
anfangs gleich auf, dass es maximal 10MB groß
wird und nach 30 Tagen gelöscht wird. Etwas
unglücklich...
Aber zum Glück kann man seit SP1 daran
einiges ändern. Dazu gibt es einige Parameter,
die man in der Datei %programfiles%\Microsoft\Exchange
Server\Bin\EdgeTransport.exe.config angeben
kann:
<add key="AgentLogEnabled" value="system.boolean"
/>
<add key="AgentLogMaxDirectorySize" value="system.int32"
/>
<add key="AgentLogMaxFileSize" value="system.int32"
/>
<add key="AgentLogMaxAge" value="system.timespan"
/>
Standardmäßig enthält die Datei
EdgeTransport.exe.config nur den Schlüssel
AgentLogEnabled. Alle anderen Schlüssel
müssen hinzugefügt werden.
Folgende Werte stehen zur Verfügung:
AgentLogEnabled |
System.Boolean |
Dieser Schlüssel ist standardmäßig in
der Datei EdgeTransport.exe.config
vorhanden. Gültige Werte für diesen
Schlüssel sind true oder
false. Der Standardwert ist
true. |
AgentLogMaxDirectorySize |
System.Int32 |
Dieser Schlüssel ist in der Datei
EdgeTransport.exe.config standardmäßig
nicht vorhanden. Der Wert dieses
Schlüssels gibt die maximale Größe des
Verzeichnisses AgentLog in Byte an. Wird
dieser Wert überschritten, wird die
älteste Protokolldatei im Verzeichnis
gelöscht und eine neue Protokolldatei
erstellt.
Wird dieser Schlüssel nicht
festgelegt, beträgt der Standardwert in
Exchange 2007 RTM und Exchange 2007 SP1
"250 MB", bzw. 262144000 Byte
(250*1024*1024). |
AgentLogMaxFileSize |
System.Int32 |
Dieser Schlüssel ist in der
Datei
EdgeTransport.exe.config
standardmäßig nicht vorhanden. Der Wert
dieses Schlüssels gibt die maximale
Größe (in Byte) für jede einzelne
Protokolldatei im Verzeichnis an. Wenn
eine Protokolldatei die maximale Größe
erreicht, wird eine neue Protokolldatei
erstellt.
Wird dieser Schlüssel nicht
festgelegt, beträgt der Standardwert in
Exchange 2007 RTM und Exchange 2007 SP1
"10 MB", bzw. 10485760 Byte
(10*1024*1024). |
AgentLogMaxAge |
System.TimeSpan |
Dieser Schlüssel ist in der Datei
EdgeTransport.exe.config standardmäßig
nicht vorhanden. Der Wert dieses
Schlüssels legt das Höchstalter für eine
bestimmte Protokolldatei fest.
Überschreitet eine Protokolldatei ihr
Höchstalter, wird sie gelöscht.
Der Schlüssel verfügt über den
Systemtyp TimeSpan.. Der
Wert dieses Schlüssels kann als
Zeichenfolge im Format d.hh:mm:ss.ff
angegeben werden, wobei d die
Tage, hh die Stunden, mm
die Minuten, ss die Sekunden
und ff die Bruchteile einer
Sekunde angibt.
Wird dieser Schlüssel nicht
festgelegt, beträgt der Standardwert in
Exchange 2007 RTM und Exchange 2007 SP1
"30 Tage", bzw. 30.00:00:00.00. |
In meinen Edge Transport-Installationen
schaut der entsprechende Abschnitt immer so aus:
<add key="AgentLogMaxDirectorySize" value="2621440000"
/>
<add key="AgentLogMaxFileSize" value="31457280"
/>
<add key="AgentLogMaxAge" value="90.00:00:00.00"
/>
Das heisst, ein einzelnes AgentLog-File kann
bis zu 30MB groß werden, wird 90 Tage aufgehoben
und das ganze Verzeichnis kann maximal 2,5 GB
groß werden. Damit komme ich gut zurecht.
Ergänzend dazu gibt es einen robocopy-Befehl,
der die LogFiles auf einen zentralen
Archiv-Server kopiert.
Weitere Informationen: