Exchange Server 2007: Anpassen der EdgeTransport Konfiguration – AgentLog

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%MicrosoftExchange ServerTransportRolesLogsAgentLog.

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%MicrosoftExchange ServerBinEdgeTransport.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:

Viele Grüße
Dieter


Dieter Rauscher
MVP Forefront