协议日志记录、事件日志记录以及邮件跟踪

 

上一次修改主题: 2005-05-23

Exchange Server 2003 的 SMTP 传输子系统实现下列事件接收器,以保留 SMTP 服务中的所有活动的历史记录:

  • Exchange SMTP Protocol Logging Sink 此事件接收器在 Protolog.dll 中实现,它是为协议的 OnServerResponse 和 OnInboundCommand 事件而注册的,目的是跟踪所有入站 SMTP 命令和服务器响应。将为下列 SMTP 命令调用协议日志记录接收器:RCPT、QUIT、EHLO、X-EXPS、STARTTLS、TLS、X-LINK2STATE、HELO、XEXCH50、MAIL、RCPT、QUIT、EHLO、X-EXPS、STARTTLS、TLS、X-LINK2STATE、HELO、XEXCH50、MAIL。
  • SMTP Eventlog Sink 此事件接收器在 Tranmsg.dll 中实现,它是为 StoreDriver 和 OnEventLog 系统事件而注册的。
  • MsgTrackLog Sink 此事件接收器在 Msgtrack.dll 中实现,它是为 OnMsgTrackLog 系统事件而注册的。

协议日志记录

通过保留所有 SMTP 协议活动的历史记录,可以证实特定的邮件是否离开了您的服务器、验证 SMTP 虚拟服务器是在按预期的要求执行它的工作还是遇到了通信问题,并识别来自 Internet 的攻击。

可以在 Exchange 系统管理器虚拟服务器属性中的“常规”选项卡上为 SMTP 虚拟服务器配置下列协议日志记录:

  • 无日志记录:事件接收器不跟踪 SMTP 协议活动。

  • Microsoft IIS 日志文件格式 此事件接收器在逗号分隔的纯文本文件中记录 SMTP 协议活动。此格式包含远程主机的 IP 地址、主机名(如果已指定)、请求的日期和时间、状态代码、收到的字节数、请求经过的时间、发送的字节数以及采取的操作。各项目之间用逗号分隔,并且不能对列表进行自定义。可以在 Exchange 系统管理器中配置日志文件的路径。日志文件目录的默认路径为 Windows\System32\LogFiles。

    note注意:
    要在文本文件中进行最详细的日志记录,请选择“Microsoft IIS 日志文件格式”。
  • NCSA 公用日志文件格式 此事件接收器在逗号分隔的纯文本文件中记录 SMTP 协议活动。这是不可自定义的固定 ASCII 格式,其中包含基本信息,如远程主机名、用户名、日期、时间、命令类型、状态代码以及接收的字节数。各项目之间用空格分隔。

  • ODBC 日志记录 此事件接收器在与开放式数据库连接 (ODBC) 兼容的数据库(如 Microsoft Access 或 Microsoft SQL Server)中记录 SMTP 协议活动。如果仅仅从故障排除的角度来考虑,您会发现在 ASCII 文本文件中记录协议活动已足够,而不必在与 ODBC 兼容的数据库中记录。

    note注意:
    IIS 包含一个 SQL 模板文件,在 SQL 数据库中运行该模板文件可以创建一个接受 IIS 日志条目的表格。
  • W3C 扩展日志文件格式 此事件接收器在可自定义的纯文本文件中记录 SMTP 协议活动。如果选择此格式,便可将包含的信息对 SMTP 协议活动没用的字段(如匿名 SMTP 通信中的用户名)从日志文件中排除出去。由于省略了不需要的字段,因此有助于限制日志大小。各字段之间用空格分隔。

事件日志记录

Exchange Server 2003 使用 SMTP Eventlog Sink 在应用程序事件日志中记录内部 SMTP 服务组件的事件。这一方面的事件是系统中的重大事件,需要引起管理员注意。事件日志有助于您识别并诊断当前系统问题的根源,或者有助于您预测可能的问题。默认情况下,仅将最少的信息量写入事件日志中。但是,可以使用 Exchange 系统管理器中的诊断日志记录设置来增加信息量。

note注意:
为了减少典型操作过程中写入到应用程序事件日志中的信息量,对于每小时发生多次的事件,Exchange Server 2003 可能仅每小时记录一次。

有关如何启用诊断日志记录的详细信息,请参阅如何在 Exchange 系统管理器中对 SMTP 服务启用诊断日志记录

字段工程日志记录

日志记录级别控制在应用程序日志中记录的数据量。记录的事件越多,应用程序事件日志中显示的与传输有关的事件就越多,就越有利于确定邮件流问题的原因。要获取有关 SMTP 服务的最详细信息,可以将内部 SMTP 服务组件的诊断日志记录级别设置为“字段工程”,以启用跟踪级别事件的日志记录。“字段工程”并不显示在 Exchange 系统管理器中,而只能使用注册表编辑器来设置。

有关如何将 MSExchangeTransport 类别的诊断日志记录级别设置为“字段工程”的详细说明,请参阅如何将 MSExchangeTransport 类别的诊断日志记录级别设置为“字段工程”

有关字段工程日志记录的详细信息,请参阅 Microsoft 知识库文章 262308“XCON: How to Generate Application Log Events for Non-Delivery Report Failures”(英文)。

邮件跟踪

邮件跟踪是一项可以用来在 Exchange 组织中跟踪邮件的功能。可以跟踪所有类型的邮件,其中包括系统邮件和往返于非 Exchange 邮件系统的常规电子邮件。例如,多个服务器上的 Exchange 存储为保持各服务器上的公用文件夹实例同步而彼此交换的公用文件夹复制邮件就是系统邮件。可以使用邮件跟踪中心来找到未到达用户邮箱的邮件,例如,阻滞在连接器邮件队列中的邮件。

默认情况下,不启用邮件跟踪。必须在要跟踪其邮件的每一台服务器上启用此功能。启用此功能后,Exchange Server 2003 使用 SMTP 服务中的 MsgTrackLog Sink,将通过该服务器路由的邮件的跟踪信息添加到邮件跟踪日志中。要对多台服务器启用邮件跟踪,可以使用服务器策略。

有关如何启用邮件跟踪的详细信息,请参阅如何在 Exchange 系统管理器中启用邮件跟踪。还可以配置 Exchange Server 2003 如何维护邮件跟踪日志文件。例如,可以防止删除日志文件,或者修改日志文件的保留时间。跟踪日志的默认保留时间为 7 天。有关如何使用邮件跟踪的详细信息,请参阅 Microsoft 知识库文章 262162“XADM: Using the Message Tracking Center to Track a Message”(英文)。

note注意:
邮件跟踪日志文件的数量将在处理许多入站邮件和出站邮件的桥头服务器上激增。请确保有足够的磁盘空间来存放跟踪日志文件。