了解协议日志记录
**适用于:**Exchange Server 2010
**上一次修改主题:**2009-11-23
协议日志记录可记录在电子邮件服务器之间作为邮件传递一部分进行的 SMTP 会话。这些 SMTP 会话在运行 Microsoft Exchange Server 2010 并且安装了集线器传输服务器角色或边缘传输服务器角色的服务器上所配置的发送连接器和接收连接器上进行。可以使用协议日志记录诊断邮件流问题。
默认情况下,在所有发送连接器和接收连接器上禁用协议日志记录。按照每个连接器启用或禁用协议日志记录。针对整个服务器,按照每个连接器类型设置其他协议日志记录选项。集线器传输服务器或边缘传输服务器上的所有接收连接器都共享相同的协议日志文件和协议日志选项。这些协议日志文件和协议日志选项独立于同一台服务器上的发送连接器协议日志文件和协议日志选项。
边缘传输服务器或集线器传输服务器上所有发送连接器或所有接收连接器的协议日志可以使用下列选项:
- 指定发送连接器或接收连接器的协议日志文件的位置。
- 指定发送连接器或接收连接器的协议日志文件的最大大小。默认大小为 10 MB。
- 指定包含发送连接器或接收连接器的协议日志文件的目录的最大大小。默认大小为 250 MB。
- 指定发送连接器或接收连接器的协议日志文件的最长期限。默认期限为 30 天。
默认情况下,Exchange 2010 服务器使用循环日志记录,并基于文件大小和文件期限限制协议日志,以帮助控制日志文件所使用的硬盘空间。
每个集线器传输服务器上都存在称为组织内部发送连接器的特殊发送连接器。此连接器是隐式创建的,不可见,也不要求管理。组织内部发送连接器用于将邮件中继到下列目标:
- Exchange 组织中的其他集线器传输服务器,包括 Exchange 2007 集线器传输服务器
- Exchange 组织中的 Exchange Server 2003 服务器
- Exchange 组织中的边缘传输服务器
默认情况下禁用组织内发送连接器的协议日志记录。可以使用 Set-TransportServer cmdlet 中的 IntraOrgConnectorProtocolLoggingLevel 参数来对组织内发送连接器启用或禁用协议日志记录。如果对组织内发送连接器启用协议日志记录,则会在集线器传输服务器上配置的发送连接器协议日志中记录日志。
若要了解与协议日志记录相关的管理任务,请参阅管理传输服务器。
协议日志文件的结构
默认情况下,协议日志文件处于下列位置:
- 接收连接器协议日志文件 C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\ProtocolLog\SmtpReceive
- 发送连接器协议日志文件 C:\Program Files\Microsoft\Exchange Server\V14TransportRoles\Logs\ProtocolLog\SmtpSend
每个协议日志目录中日志文件的命名约定为 prefixyyyymmdd-nnnn.log。占位符代表下列信息:
- 占位符 prefix 为 SEND(对于发送连接器)或 RECV(对于接收连接器)。
- 占位符 yyyymmdd 为创建日志文件的协调世界时 (UTC) 日期。占位符 yyyy = 年,mm = 月,dd = 日。
- 占位符 nnnn 为每天的实例编号,从值 1 开始。
信息将写入日志文件,直到文件大小达到其指定的最大值,然后打开具有递增实例编号的新日志文件。此过程在全天重复进行。协议日志目录达到其指定的最大大小时,或日志文件达到其指定的最长期限时,循环日志记录将删除最旧的日志文件。
协议日志文件是文本文件,其中包含逗号分隔值文件 (CSV) 格式的数据。每个协议日志文件的文件头都包含下列信息:
- #Software 创建协议日志文件的软件名称。通常,该值为 Microsoft Exchange Server。
- #Version 创建协议日志文件的软件版本号。当前值为 14.0.0.0。
- #Log-Type 此字段的日志类型值是 SMTP 接收协议日志或 SMTP 发送协议日志。
- #Date 创建日志文件的 UTC 日期-时间。UTC 日期/时间以 ISO 8601 日期/时间格式表示:yyyy-mm-ddThh:mm:ss.fffZ,其中 yyyy = 年,mm = 月,dd = 日,hh = 小时,mm = 分,ss = 秒,fff = 秒的小数,Z 表示 Zulu,是 UTC 的另一种表示方式。
- #Fields 协议日志文件中使用的字段名(以逗号分隔)。
写入协议日志的信息
协议日志将每个 SMTP 协议事件存储在协议日志中的一行上。存储在每行上的信息按这些字段组织。这些字段用逗号隔开。下表介绍了对每个协议分类所用的字段。
对每个协议事件分类所用的字段
字段名 | 说明 |
---|---|
date-time |
协议事件的 UTC 日期/时间,以 ISO 8601 格式表示。该值的格式为 yyyy-mm-ddThh:mm:ss.fffZ,其中 yyyy = 年,mm = 月,dd = 日,hh = 小时,mm = 分,ss = 秒,fff = 秒的小数,Z 表示 Zulu,是 UTC 的另一种表示方式。 |
connector-id |
与 SMTP 事件关联的连接器的可分辨名称 (DN)。 |
session-id |
GUID 对于每个 SMTP 会话是唯一的,但是对于与该 SMTP 会话关联的每个事件是相同的。 |
sequence-number |
从 0 开始并为同一个 SMTP 会话内的每个事件递增的计数器。 |
local-endpoint |
SMTP 会话的本地终结点。此字段由 IP 地址和 TCP 端口号组成,格式为 <IP 地址>:<端口>。 |
remote-endpoint |
SMTP 会话的远程终结点。此字段由 IP 地址和 TCP 端口号组成,格式为 <IP 地址>:<端口>。 |
event |
代表协议事件的单个字符。事件的可能值如下:
|
data |
与 SMTP 事件关联的文本信息。 |
context |
可能与 SMTP 事件关联的其他上下文信息。 |
代表单封电子邮件的发送或接收的单个 SMTP 转换将生成多个 SMTP 事件。这些 SMTP 事件造成在协议日志中写入多行。代表多封电子邮件的发送或接收的多个 SMTP 转换可以同时进行。这样,将通过不同的 SMTP 转换创建零散的协议日志条目。可使用 session-id 和 sequence-number 字段按 SMTP 转换对协议日志条目进行排序。