Exchange Server 2007 进程跟踪日志工具

 

上一次修改主题: 2010-04-05

作为一名 Microsoft Exchange Server 2007 管理员,您可能会遇到需要解析、监视和分析邮件跟踪日志的情况。这些情况包括:

  • 事务日志或数据库的增长

  • 服务器收到许多未经请求的商业电子邮件(也称为垃圾邮件)

  • 循环邮件

  • 传输队列备份

  • 服务器性能低下

在这种情况下,您可能需要查看和分析 Exchange 邮件跟踪日志。以下因素或其组合可能导致很难甚至无法对邮件跟踪日志进行手动分析:

  • 字段过多

  • 邮件跟踪日志中数据量较大

  • 邮件跟踪日志文件较大

此外,如果必须查看来自多个服务器的邮件跟踪日志文件,则该任务会变得更加复杂。

进程跟踪日志工具通过自动解析和分析邮件跟踪日志,然后生成用于报告的 .xls 或 .txt 输出文件,简化了邮件跟踪日志的查看过程。此工具提供了有关监视、管理和故障排除的有用数据。它还提供了有关所有已传递邮件的端到端传递延迟分布、所有已处理邮件的服务器延迟分布和所有单个传递的服务器延迟分布的重要信息。

important要点:
进程跟踪日志工具脚本是由 Microsoft 的首席程序主管 Todd Luttinen 开发的。但此工具不是 Microsoft 官方工具。因此,建议您在生产环境中运行此工具之前,首先查看该脚本。

获取此工具的步骤

若要下载进程跟踪日志工具 (Processtrackinglog.vbs),请参阅 Exchange Server 工作组博客文章 Processtrackinglog.vbs script(英文网页)

运行此工具

用法:

若要运行此工具,请使用以下脚本:

cscript ProcessTrackingLog.vbs <LogFilePath> <NumFiles> <hub|edge|all> [ <mm/dd/yyyy> | today | yesterday ]

note注意:
此语法假定在目录路径中存在“HUB”或“GWY”。如果目录路径中都未显示这些条目,则在该命令行中指定“all”。

示例:

以下命令行示例提供了进程跟踪日志工具的使用方案。

分析一个文件

cscript ProcessTrackingLog.vbs "D:\Program Files\Microsoft\Exchange Server\TransportRoles\Logs\MessageTracking\MSGTRK20070804-1.LOG" 1 all

分析一个目录中的一个文件

cscript \data\scripts\ProcessTrackingLog.vbs "D:\Program Files\Microsoft\Exchange Server\TransportRoles\Logs\MessageTracking" 1 all

分析一个目录中的所有文件

cscript \data\scripts\ProcessTrackingLog.vbs "D:\Program Files\Microsoft\Exchange Server\TransportRoles\Logs\MessageTracking" 0 all

分析一个目录中所有子目录的所有文件

cscript \data\scripts\ProcessTrackingLog.vbs "D:\Program Files\Microsoft\Exchange Server\TransportRoles\Logs\MessageTracking" 0 all

分析每个子目录中的三个文件

cscript \data\scripts\ProcessTrackingLog.vbs "D:\Program Files\Microsoft\Exchange Server\TransportRoles\Logs\MessageTracking" 3 all

分析每个子目录中昨天记录的所有文件

cscript \data\scripts\ProcessTrackingLog.vbs "D:\Program Files\Microsoft\Exchange Server\TransportRoles\Logs\MessageTracking" 0 all yesterday

分析每个子目录中 2007 年 10 月 29 日记录的所有文件

cscript \data\scripts\ProcessTrackingLog.vbs "D:\Program Files\Microsoft\Exchange Server\TransportRoles\Logs\MessageTracking" 0 all 10/29/2007

来自进程跟踪日志工具的结果存储在 c:\temp\msgtrack\output 目录中。如果您将 Winzip 命令行工具安装在驱动器 C 的默认路径中,则进程跟踪日志工具会自动将结果存档到压缩 (.zip) 文件中。

输出文件

以下部分介绍进程跟踪日志工具生成的每个输出文件及示例数据的解释。

MTDsnFailureResults.csv

MTDsnFailureResults.csv 文件包括所有失败原因的详细信息。

note注意:
并非所有传送失败都会生成未送达报告。

该文件包括**“时间戳”ServerName“故障原因”ReturnPath收件人等字段。MTDsnFailureResults.csv 包括 NDR 原因代码、收件人以及其他信息。如果要排除特定的 NDR 代码或特定收件人问题,则可以使用 Microsoft Office Excel 中的筛选功能,以获取有关特定服务器或组织的统计数据。若要在 Excel 中执行此操作,请单击“数据”菜单上的“筛选”**。此数据可以为您提供有关传送问题的信息。

例如,您可能要对“550 5.2.2 STOREDRV.Deliver:mailbox full”NDR 原因代码进行故障排除。调查过程中,您可能需要知道服务器上实际有多少个用户的邮箱已满。

note注意:
MTSummaryResults.txt 文件中有一节按“唯一 FAIL 收件人状态代码”和“FAIL 事件来源”字段汇总了 NDR 原因代码。

MTDuplicateDeliveryResults.csv

对于帮助排除特定服务器上或组织中发生的重复邮件传送问题,MTDuplicateDeliveryResults.csv 文件非常有用。

MTNextHopResults.csv

MTNextHopResults.csv 文件包括邮件数以及通过 SMTP 和 StoreDriver 组件发送到每个下一跃点服务器的平均邮件大小。该文件包括基于以下字段的统计信息:

  • 客户端名称、来源

  • 服务器

  • MsgCount、AvgMsgBytes

  • MsgCountServerSLAMet

  • PercentServerSLAMet

  • MsgCountDeliverSLAMet

  • PercentDeliverSLAMet

此文件是用于数据分析的最重要的三个文件之一。您可以使用基于此文件的透视表分析服务器通信的目标。此外,还可以将多个服务器组合为基于 MTNextHopResults.csv 文件的透视表,以获取整体通信的分析。最好根据以下三个字段分析数据:

  • StoreDriver

  • IntraOrg SMTP

  • 外部 SMTP 传送

MTExpandResults.csv

MTExpandResults.csv 文件包括通讯组 SMTP 地址、每个通讯组扩展操作的收件人数和执行的通讯组扩展数。

在下表显示的示例结果中,MTExpandResults.csv 文件显示 DL100@contoso.com 通讯组具有 49,426 个收件人。该通讯组扩展了 21 倍,平均扩展延迟为 3,045 秒(50.75 分钟)。此延迟时长可能会导致服务器性能问题。您可以使用此输出文件帮助排除可能会遇到的服务器性能问题。

数量 SMTP 收件人数 扩展计数 平均扩展延迟

95

DL1@contoso.com

116

1

14

96

DL1199@contoso.com

228

2

24

97

DLTest@contoso.com

3,341

1

190

90

DL100@contoso.com

49,426

21

3,045

91

DL9999@contoso.com

374

1

59

92

DL1010@contoso.com

458

1

65

146

DL99110@contoso.com

3,346

1

179

note注意:
平均扩展延迟以秒为单位进行计算。

若要获取数据的图形视图,请使用 Microsoft Excel 将此数据绘制为图表。

MTLogStatistics.csv

MTLogStatistics.csv 文件包括处理的每个日志文件的大量统计信息。该文件包含以下字段:

  • LogFilePath

  • ServerName

  • iLogFileEventCount

  • Events/MsgId

  • LogDateTimeStart

  • LogDateTimeEnd

  • LogDuration(Min)

  • iAvgStoreDriverReceiveRatePerMin

  • iAvgSmtpReceiveRatePerMin

  • iAvgStoreDriverDeliverRatePerMin

  • iAvgSmtpSendRatePerMin

  • iAvgDsnFailRatePerMin

  • iAvgFailRatePerMin

  • iServerLatencyTotalCount

  • iPercentServerLatencySLAMet

  • iPercentServerLatencyRecipientsCounted

  • iDeliveryLatencyTotalCount

  • iPercentDeliveryLatencySLAMet

您可以使用这些值验证以延迟 SLA 度量计算的邮件百分比。

note注意:
邮件跟踪不包括指示每个已处理邮件最终处理的事件。而是大部分邮件跟踪事件与发送状态通知抑制有关。当将邮件发送到启用了 DSN 抑制的通讯组时会出现这种情况。

“满足 SLA 的百分比”数字最为重要,因为它们指示低于服务器默认值(30 秒)和传送默认值(90 秒)的邮件百分比。这些值为默认级别,可进行修改以获取相应的百分比。

服务器延迟和传送延迟 SLA 目标在脚本中将定义为变量。默认值分别为 30 秒和 90 秒。服务器延迟表示从邮件提交供传输的时间点到传送或中继邮件的时间点之间的延迟。对于服务器延迟计算,每一组收件人传送将会分别计数。传递延迟表示基于组织提交时间和最终传送事件时间戳之间差异的端到端延迟。

note注意:
邮件的最终处理可能是将邮件的拆分副本传送到收件人。因此,最终处理不一定会表现为邮件传送或邮件中继。
note注意:
“组织提交时间”定义为邮件进入邮件头防火墙(林中的第一个传输服务器)中邮件传输的时间。

例如,MTLogStatistics.csv 文件中的 iAvgStoreDriverReceiveRatePerMiniAvgSmtpReceiveRatePerMin 组合指示传输组件接收邮件的平均速率。

note注意:
仅当不存在通过分拣目录或重播目录的邮件提交时此计算才有效。

iAvgStoreDriverDeliverRatePerMiniAvgSmtpSendRatePerMin 组合指定传输组件的平均传送速率。假定此速率没有到投递目录的传送。

通过比较这两个组合,可以指出传输组件是否在有效地处理邮件,或者传输或其从属组件之一是否为性能瓶颈。要确定此状态,可能需要检查影响结果的其他因素。例如,可能需要调整计算才能将 iAvgDsnFailRatePerMin 值纳入考虑范围之中。

MTDeliveryLatencyExceptions.csv

MTDeliveryLatencyExceptions.csv 文件包括 MinDeliveryLatencyMaxDeliveryLatency 字段。这些字段包含延迟度量(以秒为单位)。这些字段用于量度针对特定邮件发生的传送。仅当只传送一个邮件时这些度量才有效。您可以使用此信息来帮助确定邮件传送过程中的下一跃点是否是造成收件人子集延迟的原因。

MTMbxFullRecipResults.csv

MTMbxFullRecipResults.csv 文件包含“邮箱已满”事件的结果。此文件包括已满邮箱的 SMTP 地址和 NDR 计数。

下表显示了此文件的一些示例输出。在此输出中,User2 的已满邮箱产生了 4,283 个 NDR。

您可以使用此信息通知用户删除其邮箱中的邮件。这可以降低服务器开销。

MTReceiveResults.csv

MTReceiveResults.csv 文件包括邮件数以及使用 SMTP 或 StoreDriver 组件提交邮件的每个主机的平均邮件大小。该 .csv 文件包含以下字段:

  • ServerName

  • Client IP

  • MsgCount

此文件帮助显示中心角色的 StoreDriver 接收结果。下表包含 MTReceiveResults.csv 文件的示例输出。该输出指示 IP 地址 192.168.0.190 向名为 GCS1E2K7 的服务器提交了大量的邮件 (349,230)。

ServerName 客户端 MsgCount AvgBytes

GCS1E2K7

SMTP(GCS1E2K7\

默认接收)

192.168.0.190

349230

294987

GCS1E2K7

SMTP(GCS1E2K7\

默认接收)

10.10.0.110

1429

82019

GCS1E2K7

SMTP(GCS1E2K7\

默认接收)

10/10/0/120

389

69041

GCS1E2K7

STOREDRIVER

GCS4E2K7.contoso.com

209

926738

GCS1E2K7

STOREDRIVER

GCS3E2K7.contoso.com

147

5737

GCS1E2K7

STOREDRIVER

GCS2E2K7.contoso.com

408

17774

GCS1E2K7

PICKUP

1

774

这种类型的邮件数需要进一步的调查。它可能表示存在垃圾邮件问题。例如,服务器可能有一个接收连接器未正确配置,因此垃圾邮件量增加。

MTTopRecipientResults.csv

MTTopRecipientResults.csv 文件包括 SMTP 地址、邮箱服务器名称和主要收件人接收到的邮件。主要收件人是指那些接收邮件数多于平均邮件数的收件人。下表包含 MTTopRecipientResults.csv 文件的示例输出。在此输出中,User1245@contoso.com 较为引人注目。

服务器名 SMTP 地址 邮件数

GCS1E2K7

User1099@contoso.com

1950

GCS1E2K7

User1245@contoso.com

211738

GCS1E2K7

User2398@contoso.com

2124

GCS1E2K7

User3276@contoso.com

4784

GCS1E2K7

User7612@contoso.com

1861

您可以使用电子表格程序(如 Excel)中的图表功能获取主要邮件收件人的图形视图。

MTTopSendersbyDeliverResults.csv

MTTopSendersbyDeliverResults.csv 文件包括 SMTP 地址及主要邮件发件人发送的邮件数。主要发件人是指那些发送邮件数多于平均邮件数的发件人。这包括来自组织外部发件人的邮件。下表包含 MTTopSendersbyDeliverResults.csv 文件的示例输出。在此输出中,User1176@contoso.com 较为引人注目。

MTTopSendersbySubmitResults.csv

MTTopSendersbySubmitResults.csv 文件包括 SMTP 地址、邮箱服务器名称和主要发件人发送的邮件。主要发件人是指发送邮件数多于平均数的用户。此文件仅包括使用 StoreDriver(而不是 SMTP)从邮箱提交的邮件。下表包含 MTTopSendersbySubmitResults.csv 文件的示例输出。在此输出中,User2389@contoso.com 较为引人注目。

邮箱服务器 发件人 邮件数

GCS2E2K7

User1478@contoso.com

867

GCS2E2K7

User6512@contoso.com

654

GCS2E2K7

User3625@contoso.com

727

GCS2E2K7

User1367@contoso.com

3532

GCS2E2K7

User2389@contoso.com

9984

MTEventTimeDistribution.csv

MTEventTimeDistribution.csv 文件显示按小时计算的事件分发数。此文件可帮助提供一种绘制事件时间图的手段。这可以帮助确定提交邮件的源和邮件目标。下表包含此文件的示例输出。

服务器 事件 小时 计数

GCS1E2K7

RECEIVE

SMTP(SERVER01\默认 SERVER01)

8

2

0

5198

GCS1E2K7

DELIVER

STOREDRIVER

8

2

0

3868

GCS1E2K7

RECEIVE

STOREDRIVER

8

2

0

341

GCS1E2K7

DSN

DSN(传递)

8

2

0

47

GCS1E2K7

SEND

SMTP(组织内 SMTP 发送连接器)

8

2

0

2169

GCS1E2K7

DSN

DSN(失败)

8

2

0

93

GCS1E2K7

FAIL

STOREDRIVER

8

2

0

93

GCS1E2K7

BADMAIL

DSN

8

2

0

87

GCS1E2K7

FAIL

ROUTING

8

2

0

87

GCS1E2K7

TRANSFER

ROUTING(解析器)

8

2

0

55

GCS1E2K7

TRANSFER

ROUTING(内容转换)

8

2

0

66

GCS1E2K7

REDIRECT

ROUTING

8

2

0

1

GCS1E2K7

EXPAND

ROUTING

8

2

0

6

GCS1E2K7

FAIL

AGENT(FSE 路由代理)

8

2

0

2

RECEIVE

AGENT()

8

2

0

2

GCS1E2K7

DEFER

AGENT(传输规则代理)

8

2

0

2

GCS1E2K7

DELIVER

STOREDRIVER

8

2

1

4748

GCS1E2K7

RECEIVE

SMTP(SERVER01\默认 SERVER01)

8

2

1

6492

GCS1E2K7

RECEIVE

STOREDRIVER

8

2

1

389

GCS1E2K7

DSN

DSN(传递)

8

2

1

35

GCS1E2K7

SEND

SMTP(组织内 SMTP 发送连接器)

8

2

1

2809

GCS1E2K7

TRANSFER

ROUTING(解析器)

8

2

1

152

GCS1E2K7

TRANSFER

ROUTING(内容转换)

8

2

1

65

MTMessageSizeDistribution.csv

MTMessageSizeDistribution.csv 文件基于邮件大小显示邮件分布。该分布可以根据邮件数、占邮件总数的百分比和小于当前邮件大小的邮件百分比进行细分。这可以帮助确定组织中邮件大小的分布范围。下表包含此文件的示例输出。

大小范围 邮件数 占邮件总数的百分比 小于当前大小的百分比

0-1 KB

63

0.02%

0.02%

1-2 KB

11846

4.66%

4.68%

2-4 KB

45172

17.76%

22.44%

4-8 KB

47072

18.50%

40.94%

8-16 KB

39641

15.58%

56.53%

16-32 KB

28810

11.33%

67.85%

32-64 KB

20251

7.96%

75.81%

64-128 KB

20252

7.96%

83.77%

128-256 KB

13228

5.20%

88.97%

256-512 KB

9022

3.55%

92.52%

512-1024 KB

7460

2.93%

95.45%

1024-2048 KB

5243

2.06%

97.51%

2048-4096 KB

3925

1.54%

99.05%

4096-8192 KB

2399

0.94%

100%

8192-16384 KB

5

0%

100%

16384-32768 KB

0

0%

100%

32768-65536 KB

0

0%

100%

MTRecipientNotFoundResults.csv

MTRecipientNotFoundResults.csv 文件包含有关在全局地址列表 (GAL) 或 Active Directory 目录服务中找不到的收件人的统计信息。下表包含此文件的示例输出。在此输出中,User1001 的较高计数可能表示此用户不再与组织关联。

找不到的收件人 计数

User1001@contoso.com

2149

User2167@contoso.com

19

User3267@contoso.com

6

User1282@contoso.com

6

User1491@contoso.com

8

MTDomainExpiredResults.csv

MTDomainExpiredResults.csv 包含可能有助于排除 DSN 故障的条目。例如,因为拼写错误而出现 DSN 故障或目标服务器的不可用时间超过两天(默认的过期超时间隔)的情况下,这些条目可以帮助排除故障。下表包含此文件的示例输出。

收件人失败数 邮件失败数 原始邮件过期 上一次过期 MTBF(小时)

Hotmail.com

6

6

1/9/2008 19:06

1/11/2008 20:20

8

contoso.com

7

7

1/9/2008 3:47

1/12/2008 8:13

11

fourthcoffee.com

4

4

1/9/2008 19:15

1/10/2008 15:51

5

msn.com

23

23

1/9/2008 20:40

1/11/2008 17:10

2

MTMessageSizeExceptions.csv

仅当大小超过 iMaxMessageSizeThresholdKB 值的邮件存在跟踪日志事件时才会生成 MTMessageSizeExceptions.csv 输出文件。默认阈值为 64MB。如果没有这种跟踪日志事件,则不会生成该文件。

MTRunTimeLog.log

MTRunTimeLog.log 文件是进程跟踪日志工具的日志文件。此文件包含 Processtrackinglog.vbs 脚本的运行时日志。

MTMailSubmissionDistribution.csv

MTMailSubmissionDistribution.csv 文件包含提交的分布情况(按 MessageClass 和 ClientType 分类)。通过此文件可以分析 SUBMIT 事件 SourceContext 字段,以便按 ClientType 和 MessageClass 确定提交的分布情况。此文件依赖于邮箱角色跟踪日志。

在分析邮箱角色跟踪日志时,您可以使用此文件帮助确定客户端类型的分布。

MTSummaryResults.txt

MTSummaryResults.txt 文件包括处理的所有日志文件的汇总统计信息。此文件包含许多项目。一些较重要的项目如下所示:

  • Total Events processed

  • Total Message Id's Processed

  • Total Messages received

  • Total Messages sent

  • Total Messages delivered

  • Total Messages delivered (duplicate)

  • Total Resolve

  • Total Transfer

  • Total Expand

  • Total Fail

  • Total Fail with NDR

  • Total Fail (valid Return Path)

  • Total Fail (Recipient)

  • Avg Fail Events/Min

  • Max Fail Events/Min

  • Max DSN(Fail) Events/Min

  • Total DSN Generated

  • Total DSN Badmail

  • Total DSN

  • Total DSN Delivered from CORP

  • Total Null Reverse Path Delivered

  • Total Null Reverse Path Delivered from Internal

  • Total Null Reverse Path Delivered from External

  • Total Defer

  • Total Poison

  • Total SMTP Receive

  • Total StoreDriver Receive

  • Total SMTP Send

  • Total StoreDriver Deliver

  • Total Expand

  • End-To-End Delivery Latency Distribution for all Messages Delivered

  • Server Latency Distribution for all Messages Processed

  • Server Latency Distribution for all Messages Processed

  • Unique Encapsulated Addresses

  • Unique DSN Source Context

  • Unique Defer Source Context

  • Unique StoreDriver Sender Domains

  • Transfer Source Context

  • FAIL Event Sources

  • Unique FAIL Recipient Status codes

以下示例摘录自 MTSummaryResults.txt 文件。此示例展示了收集的某些信息。

Total Events processed:671316 (Avg Events/Log: 26852.64)

Total Message Id's Processed:291378 (Avg Events/MsgId:2.30393509461936, Max:3.03358797138353, Min: 1.41262468992453)

Total Messages received:254389 (Avg Msg Size:184 KB)

Total Messages sent: 95301

Total Messages delivered: 256995

Total Messages delivered (duplicate):0 (0 recipients)

Total Resolve: 45

Total Transfer:32610 (46.9% exceeded 30 sec before transfer, average 599 sec latency before transfer)

Total Expand: 5179

Total Fail:10229 (0% *.contoso.com senders, 99.6% external senders)

Total Fail with NDR: 5759

Total Fail (valid Return Path):5802 (0% *.contoso.com senders, 100% external senders)

Total Fail (Recipient): 11203

Avg Fail Events/Min: 7.1

Max Fail Events/Min: 280.3

Max DSN(Fail) Events/Min: 146.5

Total DSN Generated: 7240

Total DSN Badmail: 4352

Total DSN:11592 (Percent DSN Badmail: 37.5%)

Total DSN Delivered from CORP: 0

Total DSN Delivered from CORP/EXCHANGE/NWTRADERS: 0

Total Null Reverse Path Delivered: 8604

Total Null Reverse Path Delivered from Internal: 3 (0%)

Total Null Reverse Path Delivered from External: 8601 (100%)

Total Defer: 42

Total Poison: 0

Total Split Errors: 22120