Exchange Server 2007 程序追蹤記錄工具

 

上次修改主題的時間: 2010-04-05

身為 Microsoft Exchange Server 2007 系統管理員,您可能會遇到需要剖析、監控及分析郵件追蹤記錄檔的情況。 其中包含下列情況:

  • 交易記錄檔或資料庫成長

  • 伺服器收到許多未經同意的廣告郵件 (也稱為垃圾郵件)

  • 迴圈郵件

  • 傳輸佇列備份

  • 伺服器效能不佳

在上述情況下,您可能必須檢閱及分析 Exchange 郵件追蹤記錄檔。 下列一或多項因素可能會讓您難以甚至無法手動分析郵件追蹤記錄檔:

  • 欄位繁多

  • 郵件追蹤記錄檔中的資料量太大

  • 郵件追蹤記錄檔太大

此外,如果您必須檢閱來自多部伺服器的郵件追蹤記錄檔,這項工作將更為複雜。

程序追蹤記錄工具可將郵件追蹤記錄檔的剖析與分析自動化,然後產生用於報告的 .xls 或 .txt 輸出檔案,而簡化郵件追蹤記錄檔的檢閱作業。 這項工具可提供關於監控、管理與疑難排解的有用資料。 這項工具也可為所有已傳遞郵件的端對端傳遞延遲分布、所有已處理郵件的伺服器延遲分布以及所有個別傳遞項目的伺服器延遲分布,提供重要的相關資料。

important重要事項:
程序追蹤記錄工具指令碼由 Microsoft 的 Principal Program Manager Todd Luttinen 所開發。 但這項工具並非 Microsoft 官方工具。 因此,建議您在生產環境中執行此工具前應先檢閱此指令碼。

取得工具

若要下載程序追蹤記錄工具 (Processtrackinglog.vbs),請參閱 Exchange Server 團隊部落格文章 Processtrackinglog.vbs 指令碼 (英文)

執行工具

用法:

若要執行此工具,請使用下列指令碼:

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

剖析每個子目錄中記錄於 10/29/2007 的所有檔案

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附註:
並非所有的傳遞失敗都會產生未傳遞回報。

此檔案包含 [Timestamp]、[ServerName]、[Reason for failure]、[ReturnPath] 與 [Recipients] 等欄位。 MTDsnFailureResults.csv 包含 NDR 原因碼、收件者與其他資訊。 如果您要對特定 NDR 代碼或特定收件者問題進行疑難排解,您可以使用 Microsoft Office Excel 中的篩選功能取得特定伺服器或組織的相關統計資料。 若要使用 Excel 執行此作業,請按一下 [資料] 功能表上的 [篩選]。 這項資料可為您提供關於傳遞問題的資訊。

例如,假設您對「550 5.2.2 STOREDRV.Deliver:信箱已滿」NDR 原因碼進行疑難排解。 在您調查的過程中,您可能會想知道伺服器上有多少使用者的信箱真的已滿。

note附註:
MTSummaryResults.txt 檔案中有一個區段會以 [Unique FAIL Recipient Status codes] 與 [FAIL Event Sources] 欄位,摘錄 NDR 原因碼。

MTDuplicateDeliveryResults.csv

MTDuplicateDeliveryResults.csv 檔案可協助您對特定伺服器上或組織間發生的重複郵件傳遞問題進行疑難排解。

MTNextHopResults.csv

MTNextHopResults.csv 檔案包含郵件的計數,以及每個下一個躍點伺服器使用 SMTP 與 StoreDriver 元件提交的平均郵件大小。 此檔案包含依下列欄位分類的統計資料:

  • ClientName,Source

  • Server

  • MsgCount,AvgMsgBytes

  • MsgCountServerSLAMet

  • PercentServerSLAMet

  • MsgCountDeliverSLAMet

  • PercentDeliverSLAMet

此檔案是資料分析作業最不可或缺的三個檔案之一。 您可以使用以此檔案為基礎的樞紐分析表,對伺服器流量的目的地進行分析。 此外,您也可以將多部伺服器分組到以 MTNextHopResults.csv 檔案為基礎的樞紐分析表中,以取得整體的流量分析。 建議您根據下列三個欄位分析資料:

  • StoreDriver

  • IntraOrg SMTP

  • External SMTP delivery

MTExpandResults.csv

MTExpandResults.csv 檔案包含通訊群組 SMTP 位址、每個通訊群組擴充作業的收件者數以及已執行的通訊群組擴充數。

在下表顯示的範例結果中,MTExpandResults.csv 檔案顯示 DL100@contoso.com 通訊群組的收件者計數為 49,426。 此通訊群組擴充了 21 次,平均擴充延遲為 3,045 秒 (50.75 分鐘)。 此延遲量可能導致伺服器效能問題。 您可以使用此輸出檔案,對您所遇到的伺服器效能問題進行疑難排解。

Number 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 檔案包含 [MinDeliveryLatency] 與 [MaxDeliveryLatency] 欄位。 這些欄位包含以秒為單位的延遲量值。 這些欄位可用以評量特定郵件所發生的傳遞數。 如果只進行了一次郵件傳遞,這些量值即有效。 您可以使用這項資訊,判斷郵件傳遞程序中的某個下一個躍點是否為某收件者子集遇到延遲情況的原因。

MTMbxFullRecipResults.csv

MTMbxFullRecipResults.csv 檔案包含「信箱已滿」事件的結果。 此檔案包含 SMTP 位址與已滿信箱的 NDR 計數。

下表提供此檔案的輸出範例。 在此輸出中,User2 已滿的信箱造成了 4,283 個 NDR。

信箱 DsnFailureCount

User1@contoso.com

278

User1@contoso.com

4283

User1@contoso.com

58

User1@contoso.com

19

User1@contoso.com

24

User1@contoso.com

19

您可以使用這項資訊,通知使用者刪除其信箱中的郵件。 這樣可降低伺服器的負荷。

MTReceiveResults.csv

MTReceiveResults.csv 檔案包含郵件數,以及每部主機使用 SMTP 或 StoreDriver 元件提交郵件的平均郵件大小。 此 .csv 檔案包含下列欄位:

  • ServerName

  • Client IP

  • MsgCount

此檔案可輔助顯示 Hub role 的 StoreDriver 接收結果。 下表包含 MTReceiveResults.csv 檔案的輸出範例。 此輸出指出 IP 位址 192.168.0.190 提交了大量郵件 (349,230 則) 至名為 GCS1E2K7 的伺服器。

ServerName 來源 用戶端 MsgCount AvgBytes

GCS1E2K7

SMTP(GCS1E2K7\

Default Receive)

192.168.0.190

349230

294987

GCS1E2K7

SMTP(GCS1E2K7\

Default Receive)

10.10.0.110

1429

82019

GCS1E2K7

SMTP(GCS1E2K7\

Default Receive)

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 的傳送量最多。

Sender 郵件計數

User1099@contoso.com

6074

User1176@contoso.com

112240

User3245@contoso.com

6571

User2367@contoso.com

3245

User2003@contoso.com

5732

MTTopSendersbySubmitResults.csv

MTTopSendersbySubmitResults.csv 檔案包含 SMTP 位址、信箱伺服器名稱以及主要寄件者所傳送的郵件。 主要寄件者是指郵件傳送量超過平均值的使用者。 此檔案僅包含使用 StoreDriver (而非 SMTP) 從信箱提交的郵件。 下表包含 MTTopSendersbySubmitResults.csv 檔案的輸出範例。 在此輸出中,User2389@contoso.com 的傳送量最多。

Mailbox Server Sender 郵件計數

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 檔案會顯示每小時的事件分布情形。 此檔案可協助您以圖形表示事件長時間的分布情形。 這有助於您判斷郵件的提交來源,與郵件的目的地。 下表包含此檔案的輸出範例。

Server 事件 來源 計數

GCS1E2K7

RECEIVE

SMTP(SERVER01\Default SERVER01)

8

2

0

5198

GCS1E2K7

DELIVER

STOREDRIVER

8

2

0

3868

GCS1E2K7

RECEIVE

STOREDRIVER

8

2

0

341

GCS1E2K7

DSN

DSN(Delivery)

8

2

0

47

GCS1E2K7

SEND

SMTP(Intra-Organization SMTP Send Connector)

8

2

0

2169

GCS1E2K7

DSN

DSN(Failure)

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(Resolver)

8

2

0

55

GCS1E2K7

TRANSFER

ROUTING(Content Conversion)

8

2

0

66

GCS1E2K7

REDIRECT

ROUTING

8

2

0

1

GCS1E2K7

EXPAND

ROUTING

8

2

0

6

GCS1E2K7

FAIL

AGENT(FSE Routing Agent)

8

2

0

2

RECEIVE

AGENT()

8

2

0

2

GCS1E2K7

DEFER

AGENT(Transport Rule Agent)

8

2

0

2

GCS1E2K7

DELIVER

STOREDRIVER

8

2

1

4748

GCS1E2K7

RECEIVE

SMTP(SERVER01\Default SERVER01)

8

2

1

6492

GCS1E2K7

RECEIVE

STOREDRIVER

8

2

1

389

GCS1E2K7

DSN

DSN(Delivery)

8

2

1

35

GCS1E2K7

SEND

SMTP(Intra-Organization SMTP Send Connector)

8

2

1

2809

GCS1E2K7

TRANSFER

ROUTING(Resolver)

8

2

1

152

GCS1E2K7

TRANSFER

ROUTING(Content Conversion)

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 失敗的成因是否為拼字錯誤,或判斷目的地伺服器是否超過兩天 (預設的過期逾時) 無法使用。 下表包含此檔案的輸出範例。

Domain 收件者失敗 郵件失敗 原始到期 最後到期 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 所提交之項目的分布情形。 此檔案需依賴 Mailbox role 追蹤記錄檔。

在分析 Mailbox role 追蹤記錄檔時,您可以使用此檔案來判斷用戶端類型的分布情形。

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 Individual Deliveries

  • 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 檔案內容的節錄。 此範例列出部分收集到的資訊。

已處理的事件總數:671316 (平均事件數/記錄:26852.64)

已處理的郵件識別碼總數:291378 (平均事件數/郵件識別碼:2.30393509461936、最大值:3.03358797138353、最小值: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