适用于: Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
主题上次修改时间: 2007-01-09
代理日志记录对邮件执行的操作,该操作由已安装边缘传输服务器角色或集线器传输服务器角色且正在运行 Microsoft Exchange Server 2007 的计算机上安装和配置的特定反垃圾邮件代理执行。仅下列代理可向代理日志中写入信息:
-
连接筛选器代理
-
内容筛选器代理
-
边缘规则代理
-
收件人筛选器代理
-
发件人筛选器代理
-
发件人 ID 代理
写入代理日志中的信息取决于代理、简单邮件传输协议 (SMTP) 事件和对邮件执行的操作。
唯一可配置的代理日志记录选项是 EdgeTransport.exe.config 应用程序配置文件中的 AgentLogEnabled 参数。默认情况下,已在集线器传输服务器或边缘传输服务器上启用代理日志记录。其他不可配置的代理日志值在下表中进行说明:
-
存储代理日志的路径是 C:\Program Files\Microsoft\Exchange Server\TransportRoles\Logs\AgentLog。
-
单个代理日志文件的最大大小是 10 MB。
-
包含代理日志文件的目录的最大大小是 250 MB。
-
代理日志文件的最长期限是 30 天。
Exchange 2007 服务器使用循环日志记录,并基于文件大小和文件期限对代理日志进行限制,以帮助控制日志文件所使用的硬盘空间。
注意: |
|---|
|
如果要使代理日志文件的保留时间大于您无法配置的文件期限值或目录大小值,可以创建一个计划任务,定期将未使用的代理日志移动到其他位置。
|
注意: |
|---|
|
默认情况下,传输日志记录进程的日志记录级别值为 0(最低)。如果希望 Microsoft Exchange 在循环日志记录删除日志文件时写入事件日志条目,必须将传输日志记录进程的日志记录级别值更改为 5(最高)或 7(极高)。有关详细信息,请参阅如何更改 Exchange 进程的日志记录级别。
|

传输代理概述
代理仅可以在 SMTP 命令顺序中的特定点对邮件进行操作,该 SMTP 命令顺序用于通过集线器传输服务器或边缘传输服务器传输邮件。SMTP 命令顺序中的这些访问点称为“SMTP 事件”。每个代理都具有可为其分配的优先级值。但是,SMTP 事件必须始终以特定顺序出现。因此,代理的优先级取决于 SMTP 事件。如果在同一个 SMTP 事件期间两个代理都可对邮件进行操作,则具有较高优先级的代理可首先对该邮件进行操作。
表 1 列出了 SMTP 事件(以出现顺序)和向代理日志写入信息的代理(以代理对每个 SMTP 事件的由高至低优先级顺序)。
表 1 SMTP 事件(以出现顺序)和向代理日志写入信息的代理(以代理对每个 SMTP 事件的优先级顺序)
|
SMTP 事件
|
代理
|
|---|
|
OnConnect
|
连接筛选器代理
|
|
OnMailCommand
|
连接筛选器代理
发件人筛选器代理
|
|
OnRcptCommand
|
连接筛选器代理
收件人筛选器代理
|
|
OnEndOfHeaders
|
连接筛选器代理
发件人 ID 代理
发件人筛选器代理
|
|
OnEndOfData
|
边缘规则代理
内容筛选器代理
|
有关代理、SMTP 事件和代理优先级的详细信息,请参阅传输代理概述。

代理日志文件的结构
代理日志位于 C:\Program Files\Microsoft\Exchange Server\TransportRoles\Logs\AgentLog。
代理日志文件的命名约定为 AGENTLOGyyyymmdd-nnnn.log。占位符代表下列信息:
-
占位符 yyyymmdd 是创建日志文件的协调世界时 (UTC) 日期。yyyy = 年,mm = 月,dd = 日。
-
占位符 nnnn 为每天的实例编号,从值 1 开始。
信息写入到日志文件中,直到文件大小达到 10 MB。然后打开具有递增实例编号的新日志文件。此过程在全天重复进行。在代理日志目录达到 250 MB 或是日志文件已保存 30 天后,循环日志记录将删除最旧的日志文件。
代理日志文件是文本文件,其中包含逗号分隔值 (CSV) 格式的数据。每个代理日志文件的文件头都包含下列信息:
-
#Software: 创建代理日志文件的软件的名称。通常,该值为 Microsoft Exchange Server。
-
#Version: 创建代理日志文件的软件的版本号。当前值为 8.0.0.0。
-
#Log-Type 此字段的值是代理日志。
-
#Date: 创建日志文件时的 UTC 日期/时间。UTC 日期/时间以 ISO 8601 日期/时间格式表示:yyyy-mm-ddThh:mm:ss.fffZ,其中 yyyy = 年,mm = 月,dd = 日,hh = 小时,mm = 分,ss = 秒,fff = 秒的小数,Z 表示 Zulu,是 UTC 的另一种表示方式。
-
#Fields: 代理日志文件中使用的字段名(以逗号分隔)。

写入代理日志的信息
代理日志将每个代理事务存储在日志中的一行上。存储在每行上的信息按这些字段组织。这些字段用逗号隔开。通常,字段名是描述性的,足以确定其包含的信息类型。但是,某些字段可能为空。或者存储在字段中的信息类型可能根据代理或代理对邮件执行的操作而更改。表 2 描述了用于分类各个代理事务的字段。
表 2 用于分类各个代理事务的字段
|
字段名
|
说明
|
|---|
|
Timestamp
|
代理事件的 UTC 日期/时间。以 ISO 8601 格式表示。该值的格式为 yyyy-mm-ddThh:mm:ss.fffZ,其中 yyyy = 年,mm = 月,dd = 日,hh = 小时,mm = 分,ss = 秒,fff = 秒的小数,Z 表示 Zulu。
|
|
SessionId
|
唯一 SMTP 会话标识符。此标识符由 16 位数的十六进制数字表示。
|
|
LocalEndpoint
|
接受邮件的本地 IP 地址和端口号。SMTP 会话通常使用端口 25。
|
|
RemoteEndpoint
|
连接到此服务器传递邮件的以前 SMTP 服务器的 IP 地址和端口号。在边缘传输服务器和集线器传输服务器拓扑中,集线器传输服务器上代理日志中的 RemoteEndpoint 值将是边缘传输服务器的 IP 地址。即使通过 SMTP 传输邮件,发送服务器使用的端口号也是大于 1024 的一个随机数字。
|
|
EnteredOrgFromIP
|
首先连接到 Exchange 组织以传递邮件的远程 SMTP 服务器的 IP 地址。在边缘传输服务器上,RemoteEndpoint 和 EnteredOrgFromIP 的值相同。反垃圾邮件代理使用 EnteredOrgFromIP 中的 IP 地址检查邮件。
|
|
MessageId
|
MessageID: 头字段的值。如果此值为空,则 Exchange 2007 传输服务器将分配一个可以接受邮件的任意值。分配后,MessageID: 值在邮件生存期内是常量。
|
|
P1FromAddress
|
由邮件信封的 MAIL FROM: 中指定的发件人电子邮件地址。此值用于在 SMTP 邮件服务器之间传输邮件。此值与 P2FromAddresses 的值进行比较,以确定邮件头中的发件人地址是否是伪造的。
|
|
P2FromAddresses
|
在 From: 头字段或 Sender 中指定的发件人电子邮件地址:邮件头中的头字段。
|
|
Recipient
|
收件人的电子邮件地址。虽然原始邮件可能包含多个收件人,但是在代理日志中每行仅显示一个收件人。
|
|
NumRecipients
|
原始邮件中的收件人总数。
|
|
代理
|
执行操作的代理名称。可能的值如下:
-
连接筛选器代理
-
内容筛选器代理
-
边缘规则代理
-
收件人筛选器代理
-
发件人筛选器代理
-
发件人 ID 代理
|
|
Event
|
代理执行操作的 SMTP 事件。Event 的值取决于代理。本主题前面的表 1 中已介绍了可用于各个代理的 SMTP 事件。Event 的可能值如下所述:
-
OnConnect
-
OnEndOfHeaders
-
OnEndOfData
-
OnMailCommand
-
OnRcptCommand
|
|
Action
|
代理对邮件所执行的操作。Action 的可能值如下所述:
-
AcceptMessage
-
DeleteMessage
-
DeleteRecipients
-
Disconnect
-
QuarantineMessage
-
QuarantineRecipients
-
RejectAuthentication
-
RejectCommand
-
RejectConnection
-
RejectMessage
-
RejectRecipients
|
|
SmtpResponse
|
在 RFC 2034 中定义的增强的 SMTP 响应。
|
|
Reason
|
代理所提供的操作原因。
|
|
ReasonData
|
代理所提供的有关操作的描述性详细信息。
|

搜索代理日志
可以使用 Exchange 命令行管理程序中的 Get-AgentLog cmdlet 和 Get-AntiSpamFilteringReport 脚本搜索代理日志。
有关详细信息,请参阅 Get-AgentLog。

如何启用或禁用代理日志记录
默认情况下,已在集线器传输服务器或边缘传输服务器上启用代理日志记录。通过修改位于 C:\Program Files\Microsoft\Exchange Server\Bin 中的 EdgeTransport.exe.config 文件来启用或禁用代理日志记录。EdgeTransport.exe.config 文件是与 EdgeTransport.exe 文件关联的 XML 应用程序配置文件。EdgeTransport.exe 和 MSExchangeTransport.exe 是 Microsoft Exchange 传输服务所使用的可执行文件。此服务在每台集线器传输服务器或边缘传输服务器上运行。对 EdgeTransport.exe.config 文件所做的更改在 Microsoft Exchange 传输服务重新启动之后应用。
以下示例显示 EdgeTransport.exe.config 文件的典型结构:
<configuration>
<runtime>
<gcServer enabled="true" />
</runtime>
<appSettings>
<add key="
配置选项
" value="
值
" />
...
</appSettings>
</configuration>
可以在 <appSettings> 部分中添加新的配置选项或修改现有的配置选项。许多可用的配置选项与代理日志记录完全无关。任何不涉及代理日志记录的配置选项都不在本主题的讨论范围内。
注意: |
|---|
<add key=../> 部分中的参数名称区分大小写。
|
启用或禁用代理日志记录
-
使用记事本打开下列文件 :C:\Program Files\Microsoft\Exchange Server\Bin\EdgeTransport.exe.config
-
修改 <appSettings> 节中的以下行:
<add key="AgentLogEnabled" value="<TRUE | FALSE>" />
例如,若要禁用代理日志记录,请修改 AgentLogEnabled 参数,如下所示:
<add key="AgentLogEnabled" value="FALSE" />
-
保存并关闭 EdgeTransport.exe.config 文件。
-
重新启动 Microsoft Exchange 传输服务。

详细信息