博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Exchange pipeline tracing(传输管道跟踪)
阅读量:5955 次
发布时间:2019-06-19

本文共 2542 字,大约阅读时间需要 8 分钟。

     Exchange邮件发送和接收均是通过Exchange传输服务器进行的,在传输服务中进行一系列的动作。在日常管理中,如果Exchange上启用了很多的传输代理(Transport Agent),在排错时如果要查找某一封邮件被阻止或删除的原因相当麻烦,通常的做法是查看Exchange上的传输代理日志,在代理日志中可以发现一些痕迹,但是有时候也无法找到具体原因。之前我在处理一个问题,要求找到接收部分域名的邮件为什么被标记为垃圾邮件,我通过查看传输代理日志没有找到原因,因为在传输代理日志中现在通过各个代理的日志均记录为代理策略是False的,最好没有办法我就逐一禁用Transport Agent,最好找到了对应的传输代理。

           好了,现在告诉一个更快跟踪邮件传输过程的办法,在Exchange中邮件在传递出去之前需要经过传递代理进行过滤或筛选。Exchange提供了一个功能pipeline tracing,此功能可以用于跟踪特定发件人发送的邮件在传输服务上的邮件流走向过程。启用pipeline tracing后会将传输服务中各个阶段的邮件生成一个快照到特定文件,以供管理员分析。(具体可以参考:)

以下列表介绍了所创建的邮件快照文件:

  • Original.eml   此类文件包含电子邮件在遇到任何 SMTP 事件或传输代理之前的原始、未经修改的内容。

  • Routingnnnn.eml   此类文件包含电子邮件在传输服务的分类部分期间遇到传输 SMTP 事件和这些事件上注册的传输代理时的内容。占位符 nnnn 代表以 0001 开头的整数值。该值针对每个 SMTP 事件和这些事件上注册的传输代理按照这些事件和代理对邮件起作用的顺序递增。邮箱传输传递服务不生成这些 Routing 快照文件。

  • SmtpReceivennnn.eml   此类文件包含电子邮件在传输服务或邮箱传输传递服务的 SMTP 接收部分期间遇到 OnEndofData 和 OnEndOfHeaders SMTP 事件和这些事件上注册的传输代理时的内容。占位符 nnnn 代表以 0001 开头的整数值。该值针对每个 SMTP 事件和这些事件上注册的传输代理按照这些事件和代理对邮件起作用的顺序递增。

    在进行启用pipeline tracing功能之前,我们需要首先明白该功能适用于哪些场景;不能没事儿就随便启用,因为启用该功能后会消耗服务器的资源,并且会占用一定的磁盘空间。如果有如下情况可以考虑暂时启用pipeline tracing,抓取到数据后应立即关闭。

1)、在对邮件进行排除时,需要分析是哪个传输代理对邮件进行了操作。

2)、在启用或创建了自定义的传输代理,需要验证传输代理是否按照设想生效时。

 

      下面介绍如果启用pipeline tracing功能。

一、启用pipeline tracing功能

1、使用如下命令查看当前Exchange服务器当前pipeline tracing的配置情况,以便记录服务器的默认配置,方便以后恢复默认配置。

Get-TransportService | fl name,*pip*

Get-MailboxTransportService | fl name,*pip*

2、启用传输服务的PipelineTracing功能,并且同时制定日志目录和特定发件人。

Get-TransportService | Set-TransportService -PipelineTracingEnabled $true -PipelineTracingPath"c:\dump\" –PipelineTracingSenderAddress   

3、启用邮箱传输服务的PipelineTracing功能,并且同时制定日志目录和特定发件人。

Get-MailboxTransportService | Set-MailboxTransportService -PipelineTracingEnabled $true -PipelineTracingPath "c:\dump" -PipelineTracingSenderAddress     

4、PipelineTracing功能启用后无需重启传输服务即可生效。接下来进行测试。在对应目录下已经生产了快照数据。

5、查看对应文件中的数据。

6、能够看到收集到的快照数据。

 

 

 

二、禁用pipeline tracing功能

Get-TransportService | Set-TransportService -PipelineTracingEnabled $false

Get-MailboxTransportService | Set-MailboxTransportService -PipelineTracingEnabled $false

如下命令将pipeline tracing恢复为默认设置。

Get-TransportService | Set-TransportService -PipelineTracingEnabled $false -PipelineTracingPath "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\Hub\PipelineTracing" –PipelineTracingSenderAddress $null

Get-MailboxTransportService | Set-MailboxTransportService -PipelineTracingEnabled $false -PipelineTracingPath "C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\Mailbox\PipelineTracing" -PipelineTracingSenderAddress $null

本文转自 jialt 51CTO博客,原文链接:http://blog.51cto.com/jialt/1958074

转载地址:http://rqoxx.baihongyu.com/

你可能感兴趣的文章
字符串中去除连续相同的字符保留一个
查看>>
实战 Windows Server 2012 群集共享卷
查看>>
CSS 元素超出部分滚动, 并隐藏滚动条
查看>>
React中那些纠结你的地方(一)
查看>>
Docker入门安装教程
查看>>
PhoneGap极光推送 cordova消息推送
查看>>
Subarray Sum Equals K
查看>>
preventDefault, stopPropagation, stopImmediatePropagation 三者的区别
查看>>
算法题解:找出包含给定字符的最小窗口(枚举的一般方法)
查看>>
超级账本HyperLedger初体验
查看>>
完美解决html中select的option不能隐藏的问题。
查看>>
推荐5大开源工具,用于开发Kubernetes项目
查看>>
制定2015年的移动开发策略
查看>>
JPA 2.2改进了易用性
查看>>
从蚂蚁金服实践入手,带你深入了解 Service Mesh
查看>>
24周年,“常青树”Delphi发布新版本10.3.1
查看>>
7. 从数据库获取数据- 从零开始学Laravel
查看>>
阿里百川码力APP监控 来了!
查看>>
使用dotenv管理环境变量
查看>>
温故js系列(11)-BOM
查看>>