如何配置协议日志记录

 

适用于: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

上一次修改主题: 2007-06-07

本主题将介绍如何使用 Exchange 管理控制台或 Exchange 命令行管理程序在 Microsoft Exchange Server 2007 中配置协议日志记录。

协议日志记录可记录在电子邮件服务器之间作为邮件传递一部分进行的简单邮件传输协议 (SMTP) 会话。这些 SMTP 会话在安装了集线器传输服务器角色或边缘传输服务器角色的 Exchange 2007 服务器上所配置的发送连接器和接收连接器上进行。可以使用协议日志记录来诊断邮件流问题。

默认情况下,在所有发送连接器和接收连接器上禁用协议日志记录。按照每个连接器启用或禁用协议日志记录。针对整个服务器,按照每个连接器类型设置其他协议日志记录选项。集线器传输服务器或边缘传输服务器上的所有接收连接器都共享相同的协议日志文件和协议日志选项。这些协议日志文件和协议日志选项独立于同一台服务器上的发送连接器协议日志文件和协议日志选项。默认情况下,Exchange 2007 使用循环日志记录并基于文件大小和文件期限来限制协议日志,以帮助控制协议日志文件使用的硬盘空间。

开始之前

若要执行下列步骤,必须为您使用的帐户委派下列角色:

  • Exchange 组织管理员角色

若要在安装了边缘传输服务器角色的计算机上执行以下步骤,必须使用作为该计算机上的本地 Administrators 组成员的帐户进行登录。

有关管理 Exchange 2007 所需的权限、角色委派以及权利的详细信息,请参阅权限注意事项

note注意:
请不要修改使用边缘订阅过程订阅到 Exchange 组织的边缘传输服务器上的发送连接器,而应当在集线器传输服务器上修改发送连接器。在发生下一个同步时,将更改复制到边缘传输服务器。

在接收连接器上启用或禁用协议日志记录

默认情况下,在所有接收连接器上禁用协议日志记录。可以在每个接收连接器上单独启用或禁用协议日志记录。

使用 Exchange 管理控制台在现有接收连接器上启用或禁用协议日志记录

  1. 打开 Exchange 管理控制台,并执行下列步骤之一:

    • 若要修改边缘传输服务器上的现有接收连接器,请在控制台树中选择“边缘传输”,然后在工作窗格中单击“接收连接器”选项卡。

    • 若要修改集线器传输服务器上的现有接收连接器,请在控制台树中展开“服务器配置”,再选择“集线器传输”。在结果窗格中,选择包含要修改的接收连接器的服务器,再单击“接收连接器”选项卡。

  2. 在工作窗格中,选择要修改的接收连接器。

  3. 在操作窗格中该接收连接器的名称下,单击“属性”打开“属性”页。

  4. 单击“常规”选项卡,使用“协议日志记录级别”旁边的下拉框启用或禁用协议日志记录。选择“无”将禁用协议日志记录,选择“详细”将启用协议日志记录。

  5. 选择协议日志记录之后,单击“应用”保存更改并留在“属性”页中,或者单击“确定”保存更改并退出“属性”页。

使用 Exchange 命令行管理程序在接收连接器上启用协议日志记录

  • 运行以下命令:

    Set-ReceiveConnector <Identity> -ProtocolLoggingLevel <Verbose | None>
    

    例如,如果要针对名为“Connection from Contoso.com”的接收连接器启用协议日志记录,请运行以下命令:

    Set-ReceiveConnector "Connection from Contoso.com" -ProtocolLoggingLevel Verbose
    

在发送连接器上启用或禁用协议日志记录

默认情况下,在所有发送连接器上禁用协议日志记录。可以在每个发送连接器上单独启用或禁用协议日志记录。

使用 Exchange 管理控制台在现有发送连接器上启用或禁用协议日志记录

  1. 打开 Exchange 管理控制台,执行下列步骤之一:

    • 若要对边缘传输服务器上的现有发送连接器启用或禁用协议日志记录,请在控制台树中选择“边缘传输”。

    • 若要对集线器传输服务器上的现有发送连接器启用或禁用协议日志记录,请在控制台树中展开“组织配置”,并选择“集线器传输”。

  2. 在工作窗格中,单击“发送连接器”选项卡,然后选择要修改的发送连接器。

  3. 在操作窗格中该发送连接器的名称下,单击“属性”打开“属性”页。

  4. 单击“常规”选项卡,使用“协议日志记录级别”旁边的下拉框启用或禁用协议日志记录。选择“无”将禁用协议日志记录,选择“详细”将启用协议日志记录。

  5. 选择协议日志记录之后,单击“应用”保存更改并留在“属性”页中,或者单击“确定”保存更改并退出“属性”页。

使用 Exchange 命令行管理程序在发送连接器上启用协议日志记录

  • 运行以下命令:

    Set-SendConnector <Identity> -ProtocolLoggingLevel <Verbose | None>
    

    例如,如果要针对名为“Connection to Contoso.com”的发送连接器启用协议日志记录,请运行以下命令:

    Set-SendConnector "Connection to Contoso.com" -ProtocolLoggingLevel Verbose
    

对组织内部发送连接器启用或禁用协议日志记录

每个集线器传输服务器上都存在称为组织内部发送连接器的特殊发送连接器。此连接器是隐式创建的,不可见,也不要求管理。组织内部发送连接器用于将邮件中继到下列目标:

  • 到 Exchange 组织中的其他集线器传输服务器

  • 到 Exchange 组织中的 Exchange Server 2003 服务器

  • 到 Exchange 组织中的边缘传输服务器

默认情况下,对组织内部发送连接器禁用协议日志记录。可以使用 Set-TransportServer cmdlet 对组织内部发送连接器启用或禁用协议日志记录。

使用 Exchange 命令行管理程序在集线器传输服务器上对组织内部发送连接器启用协议日志记录

  • 运行以下命令:

    Set-TransportServer <Identity> -IntraOrgProtocolLoggingLevel <Verbose | None>
    

    例如,要在名为“Exchange01”的集线器传输服务器上对组织内部发送连接器启用协议日志记录,请运行以下命令:

    Set-TransportServer "Exchange01" -IntraOrgProtocolLoggingLevel Verbose
    

配置协议日志文件的位置

默认情况下,接收连接器协议日志文件位于 C:\Program Files\Microsoft\Exchange Server\TransportRoles\Logs\ProtocolLog\SmtpReceive 中。此目录必须是 Exchange 2007 计算机的本地目录。

note注意:
只可以在 Microsoft Exchange Server 2007 Service Pack 1 (SP1) 中使用 Exchange 管理控制台配置接收连接器协议日志文件的位置。

在 Exchange 2007 SP1 中使用 Exchange 管理控制台更改集线器传输服务器或边缘传输服务器上所有接收连接器的协议日志文件的位置

  1. 打开 Exchange 管理控制台。执行下列步骤之一:

    • 在安装了边缘传输服务器角色的计算机上,选择“边缘传输”,然后在操作窗格中单击位于服务器名正下方的“属性”链接。

    • 在安装了集线器传输服务器角色的计算机上,在控制台树中展开“服务器配置”,然后选择“集线器传输”。在操作窗格中,单击位于服务器名正下方的“属性”链接。

  2. 在“属性”页中,单击“日志设置”选项卡。

  3. 在“协议日志”部分中,单击“接收连接器协议日志文件路径”旁边的“浏览”。

  4. 在“浏览文件夹”窗口中,浏览到要存储接收连接器协议日志文件的新位置。如果要新建文件夹,请选择一个父文件夹,单击“新建文件夹”,然后键入新文件夹的名称。选择文件夹之后,单击“确定”关闭“浏览文件夹”窗口。

  5. 单击“应用”保存更改并留在“属性”页中,或单击“确定”保存更改并退出“属性”页。

在 Exchange 2007 SP1 或 Exchange 2007 的正式发布 (RTM) 版本中使用 Exchange 命令行管理程序更改集线器传输服务器或边缘传输服务器上所有接收连接器的协议日志文件的位置

  • 运行以下命令:

    Set-TransportServer <Identity> -ReceiveProtocolLogPath <LocalFilePath>
    

    例如,若要在名为 Exchange01 的 Exchange 2007 计算机上将接收连接器协议日志目录设置为 C:\Receive SMTP Log,请运行以下命令:

    Set-TransportServer Exchange01 -ReceiveProtocolLogPath "C:\Receive SMTP Log"
    

默认情况下,发送连接器协议日志文件位于 C:\Program Files\Microsoft\Exchange Server\TransportRoles\Logs\ProtocolLog\SmtpSend 中。此目录必须是 Exchange 2007 计算机的本地目录。

note注意:
只能在 Exchange 2007 SP1 中使用 Exchange 管理控制台配置发送连接器协议日志文件的位置。

在 Exchange 2007 SP1 中使用 Exchange 管理控制台更改集线器传输服务器或边缘传输服务器上所有发送连接器的发送连接器协议日志文件的位置

  1. 打开 Exchange 管理控制台。执行下列步骤之一:

    • 在安装了边缘传输服务器角色的计算机上,选择“边缘传输”,然后在操作窗格中单击位于服务器名正下方的“属性”链接。

    • 在安装了集线器传输服务器角色的计算机上,在控制台树中展开“服务器配置”,然后选择“集线器传输”。在操作窗格中,单击位于服务器名正下方的“属性”链接。

  2. 在“属性”页中,单击“日志设置”选项卡。

  3. 在“协议日志”部分,单击“发送连接器协议日志文件路径”旁边的“浏览”。

  4. 在“浏览文件夹”窗口中,浏览到要存储发送连接器协议日志文件的新位置。如果要新建文件夹,请选择一个父文件夹,单击“新建文件夹”,然后键入新文件夹的名称。选择文件夹之后,单击“确定”关闭“浏览文件夹”窗口。

  5. 单击“应用”保存更改并留在“属性”页中,或单击“确定”保存更改并退出“属性”页。

在 Exchange 2007 SP1 或 Exchange 2007 RTM 中使用 Exchange 命令行管理程序更改集线器传输服务器或边缘传输服务器上所有发送连接器的发送连接器协议日志文件的位置

  • 运行以下命令:

    Set-TransportServer <Identity> -SendProtocolLogPath <LocalFilePath>
    

    例如,若要在名为 Exchange01 的 Exchange 2007 计算机上将发送连接器协议日志目录设置为 C:\Send SMTP Log,请运行以下命令:

    Set-TransportServer Exchange01 -SendProtocolLogPath "C:\Send SMTP Log"
    

SendProtocolLogPath 参数或 ReceiveProtocolLogPath 参数的值设置为 $null 将禁用服务器上所有发送连接器或所有接收连接器的协议日志记录。但是,当对服务器上的任何发送连接器(包括组织内部发送连接器)或接收连接器都启用协议日志记录时,将这两个参数中的任何一个设置成 $null 都将生成事件日志错误。禁用协议日志记录的首选方法是:在每个发送连接器或接收连接器上,使用 Set-SendConnector cmdlet 或 SetReceiveConnector cmdlet 将 ProtocolLoggingLevel 设置为 None。同样,您可以使用 SetTransportServer cmdlet 将 IntraOrgProtocolLoggingLevel 设置为 None

更改协议日志目录的位置不会将任何现有日志文件从旧目录复制到新目录。完成配置更改后,新的协议日志目录几乎会立即进入活动状态,但现有日志文件将保留在旧目录中。

需要对协议日志目录拥有下列权限:

  • Administrator:完全控制

  • System:完全控制

  • Network Service:读取、写入和删除子文件夹及文件

默认情况下,Microsoft Exchange 传输服务使用 Network Service 用户帐户的安全凭据来创建新的协议日志记录目录并应用正确权限。如果新的协议日志目录尚不存在,并且 Network Service 帐户拥有在新位置创建文件夹和应用权限所需的权限,则系统将创建新的协议日志目录,并将正确权限应用于此协议日志目录。如果新的协议日志目录已经存在,则不会检查现有文件夹权限。每次使用 SendProtocolLogPathReceiveProtocolLogPath 参数和 Set-TransportServer cmdlet 移动协议日志目录后,最好验证是否存在新的协议日志目录以及是否向此新目录应用了正确权限。如果对协议日志目录的更改不成功,则可新建协议日志目录并将正确的权限应用到该目录,之后才可将 SendProtocolLogPathReceiveProtocolLogPath 参数与 Set-TransportServer cmdlet 一起使用。

配置每个协议日志文件的最大大小

默认情况下,每个协议日志文件的最大大小都是 10 MB。服务器上的所有接收连接器都共享相同的协议日志文件,而且服务器上的所有发送连接器都共享相同的协议日志文件。当协议日志文件达到其最大大小时,Exchange 2007 将打开一个新的协议日志文件。此过程将继续,直到满足下列条件之一:

  • 协议日志目录达到其指定的最大大小。有关如何更改协议日志目录最大大小的详细信息,请参阅本主题下文中的“配置协议日志目录的最大大小”。

  • 协议日志文件达到其指定的最长期限。有关如何更改协议日志文件最长期限的详细信息,请参阅本主题下文中的“配置协议日志文件的最长期限”。

达到最大大小或期限限制之后,循环日志记录将删除最早的协议日志文件。

使用 Exchange 命令行管理程序更改接收连接器协议日志文件的最大大小

  • 运行以下命令:

    Set-TransportServer <Identity> -ReceiveProtocolLogMaxFileSize <FileSize>
    

    例如,若要在名为 Exchange01 的 Exchange 2007 计算机上将接收连接器协议日志文件的最大大小设置为 20 MB,请运行以下命令:

    Set-TransportServer Exchange01 -ReceiveProtocolLogMaxFileSize 20MB
    

使用 Exchange 命令行管理程序设置发送连接器协议日志文件的大小限制

  • 运行以下命令:

    Set-TransportServer <Identity> -SendProtocolLogMaxFileSize <FileSize>
    

    例如,若要在名为 Exchange01 的 Exchange 2007 计算机上将发送连接器协议日志文件的大小限制设置为 20 MB,请运行以下命令:

    Set-TransportServer Exchange01 -SendProtocolLogMaxFileSize 20MB
    

输入任一参数的值时,请使用下列单位之一对值进行限定:

  • B(字节)

  • KB(千字节)

  • MB(兆字节)

  • GB(千兆字节)

  • TB(兆兆字节)

未限定的值被视为以字节为单位。ReceiveProtocolLogMaxFileSize 参数的值必须小于或等于 ReceiveProtocolLogMaxDirectorySize 参数的值。SendProtocolLogMaxFileSize 参数的值必须小于或等于 SendProtocolLogMaxDirectorySize 参数的值。上述任一参数的有效输入范围都是 1 到 9223372036854775807 字节。

配置协议日志目录的最大大小

默认情况下,整个协议日志目录的最大大小是 250 MB。服务器上的所有接收连接器都共享相同的协议日志目录,而且服务器上的所有发送连接器都共享相同的协议日志目录。当以下某个条件为真时,循环日志记录将删除最早的协议日志文件:

  • 协议日志目录达到其指定的最大大小。

  • 协议日志文件达到其指定的最长期限。

note注意:
默认情况下,传输日志记录进程的日志记录级别值为 0(最低)。如果希望 Microsoft Exchange 在循环日志记录删除日志文件时写入事件日志条目,必须将传输日志记录进程的日志记录级别值更改为 5(最高)或 7(极高)。有关详细信息,请参阅如何更改 Exchange 进程的日志记录级别

使用 Exchange 命令行管理程序更改接收连接器协议日志目录的最大大小

  • 运行以下命令:

    Set-TransportServer <Identity> -ReceiveProtocolLogMaxDirectorySize <DirectorySize>
    

    例如,若要在名为 Exchange01 的 Exchange 2007 计算机上将接收连接器协议日志目录的最大大小设置为 400 MB,请运行以下命令:

    Set-TransportServer Exchange01 -ReceiveProtocolLogMaxDirectorySize 400MB
    

使用 Exchange 命令行管理程序更改发送连接器协议日志目录的最大大小

  • 运行以下命令:

    Set-TransportServer <Identity> -SendProtocolLogMaxDirectorySize <DirectorySize>
    

    例如,若要在名为 Exchange01 的 Exchange 2007 计算机上将发送连接器协议日志目录的最大大小设置为 400 MB,请运行以下命令:

    Set-TransportServer Exchange01 -SendProtocolLogMaxDirectorySize 400MB
    

为其中任何一个参数输入值时,请使用下列单位之一对值进行限定:

  • B(字节)

  • KB(千字节)

  • MB(兆字节)

  • GB(千兆字节)

  • TB(兆兆字节)

未限定的值被视为以字节为单位。ReceiveProtocolLogMaxFileSize 参数的值必须小于或等于 ReceiveProtocolLogMaxDirectorySize 参数的值。SendProtocolLogMaxFileSize 参数的值必须小于或等于 SendProtocolLogMaxDirectorySize 参数的值。上述任一参数的有效输入范围都是 1 到 9223372036854775807 字节。

配置协议日志文件的最长期限

默认情况下,任何协议日志文件的最长期限都是 30 天。服务器上的所有接收连接器都共享相同的协议日志文件,而且服务器上的所有发送连接器也都共享相同的协议日志文件。当以下某个条件为真时,循环日志记录将删除最早的协议日志文件:

  • 协议日志目录达到其指定的最大大小。

  • 协议日志文件达到其指定的最长期限。

note注意:
默认情况下,传输日志记录进程的日志记录级别值为 0(最低)。如果希望 Microsoft Exchange 在循环日志记录删除日志文件时写入事件日志条目,必须将传输日志记录进程的日志记录级别值更改为 5(最高)或 7(极高)。有关详细信息,请参阅如何更改 Exchange 进程的日志记录级别

使用 Exchange 命令行管理程序设置接收连接器协议日志文件的最长期限

  • 运行以下命令:

    Set-TransportServer <Identity> -ReceiveProtocolLogMaxAge <Age>
    

    例如,若要在名为 Exchange01 的 Exchange 2007 计算机上将接收连接器协议日志文件的最长期限设置为 45 天,请运行以下命令:

    Set-TransportServer Exchange01 -ReceiveProtocolLogMaxAge 45.00:00:00
    

使用 Exchange 命令行管理程序设置发送连接器协议日志文件的最长期限

  • 运行以下命令:

    Set-TransportServer <Identity> -SendProtocolLogMaxAge <Age>
    

    例如,若要在名为 Exchange01 的 Exchange 2007 计算机上将发送连接器协议日志文件的最长期限设置为 45 天,请运行以下命令:

    Set-TransportServer Exchange01 -SendProtocolLogMaxAge 45.00:00:00
    

若要指定期限值,请以时间段的形式输入该值:dd.hh:mm:ss,其中 d = 天,h = 小时,m = 分钟,s = 秒。此参数的有效输入范围是 00:00:00 到 24855.03:14:07。通过将 ReceiveProtocolLogMaxAge 参数或 SendProtocolLogMaxAge 参数的值设置为 00:00:00,可以防止由于期限问题而自动删除协议日志文件。

详细信息

有关每个命令的语法和参数的详细信息,请参阅下列主题:

详细信息

有关协议日志记录的详细信息,请参阅管理协议日志记录