码迷,mamicode.com
首页 > 其他好文 > 详细

Exchange邮件跟踪日志不得不了解的知识

时间:2016-07-08 20:12:31      阅读:6959      评论:0      收藏:0      [点我收藏+]

标签:microsoft   知识   style   color   

          在进行Exchange邮件投递分析时,我们经常会使用Get-MessageTrackingLog查看邮件传输的过程,以此来分析邮件接收和发送情况。我们需要对日志中的字段代表的含义需要了解,这样才能看懂日志。

       邮件跟踪日志详细记录了邮件流经由邮箱服务器上的传输管道和边缘传输服务器进行传输产生的所有邮件活动。您可以使用邮件跟踪进行邮件取证、邮件流分析、报告和故障排除。

默认情况下,Exchange 使用循环日志记录根据文件大小和文件期限对邮件跟踪日志进行限制(默认情况下日志能够保存90天),以帮助控制该日志文件所使用的硬盘空间。

 

搜索邮件跟踪日志        

 


邮件跟踪日志包含邮件在邮箱服务器和边缘传输服务器中移动时产生的大量数据。对于搜索邮件跟踪日志,您有几个不同的选择。

  • Get-MessageTrackingLog   管理员可以使用此 Exchange 命令行管理程序 cmdlet 来搜索邮件跟踪日志,以获取有关使用大量筛选条件的邮件的信息。

  • 管理员的送达报告   管理员可以使用 Exchange 管理中心 内的“送达报告”选项卡或 Exchange 命令行管理程序 中基本的 Search-MessageTrackingReportGet-MessageTrackingReport cmdlet 来搜索邮件跟踪日志,以获取有关由组织中特定邮箱发送或接收的邮件的信息。

  • 用户的送达报告   用户可以使用 Web 上的 Outlook 中的“送达报告”选项卡来搜索邮件跟踪日志,以获取有关由其自己邮箱发送或接收的邮件的信息。

 

邮件跟踪日志文件的结构        

 


     默认情况下,邮件跟踪日志文件存放在 %ExchangeInstallPath%TransportRoles\Logs\MessageTracking 中。文件夹包含具有不同名称的日志文件,但这些文件都遵循命名约定 MSGTRKServiceyyyymmdd-nnnn.log。不同的日志文件名称如下表所述。

 

文件名 服务器 说明

MSGTRK

邮箱服务器和边缘服务器

传输服务的日志文件。

MSGTRKMA

邮箱服务器

在仲裁传输过程中有关批准和拒绝的日志文件。

MSGTRKMD

邮箱服务器

邮箱传输传递服务传递至邮箱的邮件的日志文件。

MSGTRKMS

邮箱服务器

邮箱传输提交服务从邮箱发送的邮件的日志文件。

日志文件名称中的其他占位符代表以下信息:

  • yyyymmdd 为创建日志文件时的协调世界时 (UTC) 日期。yyyy = 年,mm = 月,dd = 日。

  • nnnn 为每天对每个日志的实例编号,从值 1 开始。

系统向日志文件写入信息,直至文件大小达到其最大值。然后打开具有递增实例编号的新日志文件(第一个日志文件是 -1,下一个是 -2,依此类推)。当满足以下两个条件之一时,循环日志记录将删除最旧的服务日志文件:

  • 日志文件达到最长期限。

  • 邮件跟踪日志文件夹大小达到其最大值。

    技术分享重要说明:
    邮件跟踪日志文件夹的最大大小按以下方法计算:将具有相同名称前缀的所有日志文件的大小相加,求其总和。在计算总文件夹大小时,不会将其他未遵循名称前缀约定的文件计算在内。重命名旧日志文件或将其他文件复制到邮件跟踪日志文件夹可能会导致文件夹超出指定的最大大小。                        
    在邮箱服务器上,邮件跟踪日志文件夹的最大大小是指定值的三倍。虽然由这四个不同服务生成的邮件跟踪日志文件有四个不同的名称前缀,但是与另外三个日志文件前缀相比,写入仲裁传输日志 (MSGTRKMA) 的数据量和数据频率几乎可以忽略不计。

邮件跟踪日志文件是文本文件,其中包含逗号分隔值 (CSV) 格式的数据。每个邮件跟踪日志文件的文件头都包含下列信息:

  • #Software:   值是 Microsoft Exchange Server

  • #Version:   创建邮件跟踪日志文件的 Exchange 服务器的版本号。值使用格式 15.01.nnnn.nnn

  • #Log-Type:   值是 Message Tracking Log

  • #Date:   创建日志文件的 UTC 日期-时间。UTC 日期-时间以 ISO 8601 日期-时间格式表示:yyyy-mm-ddThh:mm:ss.fffZ,其中 yyyy = 年,mm = 月,dd = 天,T 表示时间部分的开头,hh = 小时,mm = 分钟,ss = 秒,fff = 几分之几秒,而 Z 表示祖鲁语(另一种 UTC 表示方法)。

  • #Fields:   邮件跟踪日志文件中使用的字段名(以逗号分隔)。

 

邮件跟踪日志文件中的字段        

 


邮件跟踪日志将每个邮件事件存储在日志中的一行上。邮件事件信息由字段组织,这些字段由逗号分隔。通常,字段名是描述性的,足以确定其包含的信息的类型。但是,某些字段可能为空,或是字段中的信息类型可能会随邮件事件类型和记录事件的服务的变化而发生变化。下表对用于分类各邮件跟踪事件的字段进行了一般性说明。

 

字段名称 说明

date-time

邮件跟踪事件的 UTC 日期-时间。UTC 日期-时间以 ISO 8601 日期-时间格式表示:yyyy-mm-ddThh:mm:ss.fffZ,其中 yyyy = 年,mm = 月,dd = 天,T 表示时间部分的开头,hh = 小时,mm = 分钟,ss = 秒,fff = 几分之几秒,而 Z 表示祖鲁语(另一种 UTC 表示方法)。

client-ip

提交邮件的消息服务器或消息客户端的 IPv4 或 IPv6 地址。

client-hostname

提交邮件的消息服务器或消息客户端的主机名或 FQDN。

server-ip

源或目标服务器的 IPv4 或 IPv6 地址。

server-hostname

目标服务器的主机名或 FQDN。

source-context

source 字段相关联的额外信息。例如:

  • CatContentConversion

  • 250 2.0.0 OK;ClientSubmitTime:<UTC>

connector-id

发送连接器的名称或接受邮件的接收连接器的名称。例如,ServerName\ConnectorNameConnectorName

source

负责事件的 Exchange 传输组件。

event-id

邮件事件类型。

internal-message-id

由当前正在处理邮件的 Exchange 服务器所分配的邮件标识符。

在涉及邮件传输的每个 Exchange 服务器的邮件跟踪日志中,邮件的 internal-message-id 是各不相同的。示例值为 73014444033

message-id

邮件头中 Message-Id: 头字段的值。如果 Message-Id: 头字段不存在或为空,则 Exchange 为其分配一个任意值。该值在邮件生存期内是常量。对于在 Exchange 中创建的邮件,该值的格式为 <GUID@ServerFQDN>,包括尖括号 (< >)。例如,<4867a3d78a50438bad95c0f6d072fca5@mailbox01.contoso.com>。其他邮件系统可能使用不同的语法或值。

network-message-id

唯一的邮件 ID 值,因拆分或通讯组扩展而创建,且在各邮件副本中均保持有效。示例值为 1341ac7b13fb42ab4d4408cf7f55890f

recipient-address

邮件收件人的电子邮件地址。多个电子邮件地址通过分号字符 (;) 分隔。

recipient-status

各收件人的收件人状态由分号字符 (;) 分隔。收件人状态值的显示顺序与 recipient-address 字段中的值相同。示例状态值包括:

  • ToCcBcc

  • 250 2.1.5 Recipient OK

  • 550 4.4.7 QUEUE.Expired;<ErrorText>

total-bytes

以字节为单位的邮件总大小,包括所有附件。

recipient-count

邮件中的收件人总数。

related-recipient-address

该字段与 EXPANDREDIRECTRESOLVE 事件一起使用来显示与邮件相关联的其他收件人电子邮件地址。

reference

该字段包含特定类型事件的其他信息。例如:

  • DSN   包含报告链接,如果 DSN 是在事件发生之后生成的,则该报告链接为相关传递状态通知(也称为 DSN、退回邮件、未送达报告或 NDR)的 Message-Id 值。如果这是 DSN 邮件,Reference 字段则包含生成该 DSN 的原始邮件的 Message-Id 值。

  • EXPAND   包含相关邮件的 related-recipient-address 值。

  • RECEIVE   如果相关邮件由其他过程生成(例如日记或收件箱规则),则有可能会包含该邮件的 Message-Id 值。

  • SEND   包含任何 DSN 邮件的 Internal-Message-Id 值。

  • THROTTLE   包含邮件限制的原因。

  • TRANSFER   包含正在被分支的邮件的 Internal-Message-Id 值。

  • 由收件箱规则生成的邮件   包含使收件箱规则生成出站邮件的入站邮件的 Internal-Message-Id 值。

  • 可能包含分支邮件的 Internal-Message-Id 值。

对于其他类型的事件,此字段通常为空。

message-subject

Subject: 头字段中找到的邮件主题。邮件主题的跟踪由 Set-TransportService cmdlet 中的 MessageTrackingLogSubjectLoggingEnabled 参数进行控制。默认情况下,启用邮件主题跟踪。

sender-address

Sender: 头字段中指定的电子邮件地址,如果 Sender: 字段不存在,则为 From: 头字段中指定的电子邮件地址。

return-path

由发送邮件的 MAIL FROM 命令指定的返回电子邮件地址。尽管此字段从不为空,但它可以有表示为 <> 的空发件人地址值。

message-info

有关该邮件的其他信息。例如:

  • DELIVERSEND 事件的邮件起始 UTC 日期-时间。起始日期-时间是邮件第一次传入 Exchange 组织的时间。UTC 日期-时间以 ISO 8601 日期-时间格式表示:yyyy-mm-ddThh:mm:ss.fffZ,其中 yyyy = 年,mm = 月,dd = 天,T 表示时间部分的开头,hh = 小时,mm = 分钟,ss = 秒,fff = 几分之几秒,而 Z 表示祖鲁语(另一种 UTC 表示方法)。

  • 身份验证错误。例如,您可以看到身份验证出错时所使用的值 11a 和身份验证类型。

directionality

邮件的方向。示例值包括 IncomingUndefinedOriginating

tenant-id

该字段不可用于本地 Exchange 组织。

original-client-ip

原始客户端的 IPv4 或 IPv6 地址。

original-server-ip

原始服务器的 IPv4 或 IPv6 地址。

custom-data

该字段包含与特定事件类型相关的数据。例如,传输规则代理使用该字段对在邮件上执行的传输规则或 DLP 策略的 GUID 进行记录。

transport-traffic-type

在本地 Exchange 中,此字段为空或含有值 Email

log-id

邮件跟踪日志中某一行的唯一标识符。该字段在本地 Exchange 组织中不重要。

schema-version

在邮件跟踪日志中创建项目的 Exchange 服务器的版本号。值使用格式 15.01.nnnn.nnn

 

 

邮件跟踪日志中的事件类型        

 


event-id 字段中的各种事件类型可用来对邮件跟踪日志中的邮件事件进行分类。一些邮件事件只出现在一种类型的邮件跟踪日志文件中,还有一些邮件事件存在于所有类型的邮件跟踪日志文件中。下表介绍了用于对各邮件事件进行分类的事件类型。

 

事件名称 说明

AGENTINFO

传输代理使用该事件记录自定义数据。

BADMAIL

分拣目录或重播目录提交的邮件无法传递或返回。

CLIENTSUBMISSION

邮件已从邮箱的发件箱中提交。

DEFER

邮件传递延迟。

DELIVER

邮件已传递至本地邮箱。

DSN

生成了传递状态通知(亦称为 DSN、退回邮件、未送达报告或 NDR)。

DROP

在不提供传递状态通知(亦称为 DSN、退回邮件、未送达报告或 NDR)的情况下删除了一条消息。例如:

  • 已完成裁决审批请求邮件。

  • 在不提供 NDR 的情况下悄悄丢弃的垃圾邮件。

DUPLICATEDELIVER

向收件人传递重复邮件。如果收件人是多个嵌套通讯组的成员,则可能会发生复制邮件情况。信息存储将检测并删除重复邮件。

DUPLICATEEXPAND

在通讯组扩展期间,检测到一个重复收件人。

DUPLICATEREDIRECT

邮件的备用收件人已成为收件人。

EXPAND

已扩展通讯组。

FAIL

邮件传递失败。源包括 SMTPDNSQUEUEROUTING

HADISCARD

在主副本传递至下一跃点之后丢弃影子邮件。

HARECEIVE

影子邮件由本地数据库可用性组 (DAG) 或 Active Directory 站点中的服务器接收。

HAREDIRECT

创建了影子邮件。

HAREDIRECTFAIL

影子邮件创建失败。详细信息存储于 source-context 字段中。

INITMESSAGECREATED

邮件已发送至仲裁收件人,因此该邮件已发送至仲裁邮箱进行审批。

LOAD

启动时已成功加载邮件。

MODERATIONEXPIRE

仲裁收件人的仲裁人从不批准或拒绝邮件,进而导致该邮件到期。

MODERATORAPPROVE

仲裁收件人的仲裁人批准了邮件,从而使该邮件传递至仲裁收件人。

MODERATORREJECT

仲裁收件人的仲裁人拒绝了邮件,从而使该邮件未传递至仲裁收件人。

MODERATORSALLNDR

发送至仲裁收件人的所有仲裁人的所有批准请求都不可传递,从而导致产生未送达报告(亦称为 NDR 或退回邮件)。

NOTIFYMAPI

在本地服务器上的邮箱发件箱内检测到一封邮件。

NOTIFYSHADOW

在本地服务器上的邮箱发件箱内检测到一封邮件,并且需要创建该邮件的影子副本。

POISONMESSAGE

邮件被放入带毒邮件队列中或从带毒邮件队列中删除。

PROCESS

已成功处理邮件。

RECEIVE

邮件由传输服务的 SMTP 接收组件接收或由分拣或重播目录发送(源:SMTP),或邮件已从邮箱提交至邮箱传输提交服务(源:STOREDRIVER)。

REDIRECT

在 Active Directory 查找后,邮件被重定向至一个备用收件人。

RESOLVE

在 Active Directory 查找后,邮件收件人被解析为一个不同的电子邮件地址。

RESUBMIT

已从安全网络自动重新提交邮件。

RESUBMITDEFER

已延迟从安全网络重新提交的邮件。

RESUBMITFAIL

从安全网络重新提交的邮件失败。

SEND

邮件由传输服务间的 SMTP 发送。

SUBMIT

邮箱传输提交服务已成功将邮件传输至传输服务。对于 SUBMIT 事件,source-context 属性包含下列详细信息:

  • MDB   邮箱数据库 GUID。

  • Mailbox   邮箱 GUID。

  • Event   事件序列号。

  • MessageClass   邮件类型。例如,IPM.Note

  • CreationTime   邮件提交的日期-时间。

  • ClientType   例如,UserOWAActiveSync

SUBMITDEFER

已延迟将邮件从邮箱传输提交服务传输至传输服务。

SUBMITFAIL

将邮件从邮箱传输提交服务传输至传输服务的操作失败。

SUPPRESSED

邮件传输被抑制。

THROTTLE

邮件被限制。

TRANSFER

由于内容转换、邮件收件人限制或代理原因,收件人被移动到分支的邮件。源包括 ROUTINGQUEUE

 

 

邮件跟踪日志中的源值        

 


邮件跟踪日志中 source 字段的值指示负责邮件跟踪事件的传输组件。下表描述 source 字段的值。

 

源值 描述

ADMIN

事件源是人工干预。例如,管理员使用队列查看器删除邮件或使用重播目录提交邮件文件。

AGENT

事件源是传输代理。

APPROVAL

事件源是仲裁收件人使用的审批框架。

BOOTLOADER

事件源是在启动时存在于服务器上的未处理的消息。这与 LOAD 事件类型有关。

DNS

事件源是 DNS。

DSN

事件源是传递状态通知(亦称为 DSN、退回邮件、未送达报告或 NDR)。

GATEWAY

事件源是外部连接器。

MAILBOXRULE

事件源是收件箱规则。

MEETINGMESSAGEPROCESSOR

事件源是会议消息处理器,它会随会议更新而不断更新日历。

ORAR

事件源是发信请求备用收件人 (ORAR)。您可以通过使用 New-ReceiveConnectorSet-ReceiveConnector cmdlet 中的 OrarEnabled 参数启用或禁用对接收连接器上 ORAR 的支持。

PICKUP

事件源是分拣目录。

POISONMESSAGE

事件源是病毒邮件标识符。

PUBLICFOLDER

事件源是启用邮件的公用文件夹。

QUEUE

事件源是队列。

REDUNDANCY

事件源是卷影冗余。

ROUTING

事件源是传输服务中分类程序的路由解析组件。

SAFETYNET

事件源是安全网络。

SMTP

邮件已由传输服务的 SMTP 发送或 SMTP 接收组件提交。

STOREDRIVER

事件源是来自本地服务器上邮箱的 MAPI 提交。(表示在同一台服务器上发送和接收邮件,而不需要进行内容转换)

 

 

邮件跟踪日志中的示例条目        

 


在两个用户间发送的无事件邮件可在邮件跟踪日志中生成若干条目。您可以使用 Get-MessageTrackingLog cmdlet 查看结果。

在此示例中,当用户 chris@contoso.com 将测试邮件成功发送至用户 michelle@contoso.com 时,创建了邮件跟踪日志条目。两个用户的邮箱位于同一服务器上。

 

EventId    Source      Sender            Recipients             MessageSubject
-------    ------      ------            ----------             --------------
NOTIFYMAPI STOREDRIVER                   {}
RECEIVE    STOREDRIVER chris@contoso.com {michelle@contoso.com} test
SUBMIT     STOREDRIVER chris@contoso.com {michelle@contoso.com} test
HAREDIRECT SMTP        chris@contoso.com {michelle@contoso.com} test
RECEIVE    SMTP        chris@contoso.com {michelle@contoso.com} test
AGENTINFO  AGENT       chris@contoso.com {michelle@contoso.com} test
SEND       SMTP        chris@contoso.com {michelle@contoso.com} test
DELIVER    STOREDRIVER chris@contoso.com {michelle@contoso.com} test

 

本文出自 “jialt的博客” 博客,请务必保留此出处http://jialt.blog.51cto.com/4660749/1812622

Exchange邮件跟踪日志不得不了解的知识

标签:microsoft   知识   style   color   

原文地址:http://jialt.blog.51cto.com/4660749/1812622

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!