Share via


Pipeline tracing (파이프라인 추적)

Pipeline tracing (파이프라인 추적)

Exchange Legacy 버전에서 제공되었던 M 드라이브는 여러가지 말썽으로 인해서 Exchange 2007 에서는 더 이상 제공되지 않습니다. 이로 인해서 이전에 M 드라이브에서 직접 복사해서 native 메시지를 점검하던 방법을 더 이상 사용할 수 없게 되었습니다. 대신, Exchange 2007 에서는 .eml 형태로 전송 단계별로 메시지가 처리되었는지 추출할 수 있도록 pipeline trace 를 제공하고 있습니다.

파이프라인 추적을 사용하면 각 전송 에이전트에서 발생하기 전과 후에 전체 메시지를 확인할 수 있습니다. 일반적으로 전송 에이전트의 예기치 않은 결과를 추적하고 전송 에이전트가 예상대로 동작했는지 확인할 수 있습니다.

파이프라인 Tracking 은 SMTP 이벤트에 등록된 전송 Agent 가 메시지를 처리할 때 진단 정보를 수집하도록 설정하는 것으로 메시지에 대한 전송 규칙을 처리하는 모든 행위를 저장합니다.

clip_image002

PS> Get-TranpsortServer 를 통해서 Pipeline tracking 과 관련된 설정값을 확인할 수 있습니다.

(1) PipelineTrackingPath

(2) PipelineTrackingPath

(3) PipelineTrackingSenderAddress

직관적으로 PipelineTrackingSenderAddress 로 설정된 값에서 보내진 메시지에 대해서 로그를 생성할 수 있습니다. 로그의 위치는 PipelineTrackingPath 를 통해 지정되고 Tracking 유무는 PipelineTrackingPath 를 통해서 설정할 수 있습니다.

기본적으로 Trace 는 설정되어 있지 않습니다. PipelineTrackingSenderAddress 는 Exchange 서버 조직 내의 사용자일 수도 있고, 외부 사용자의 주소일 수도 있습니다. 필요에 따라서 해당 값을 “<>”로 설정할 수 있습니다. 이 경우 조직에서 주고받아지는 모든 메시지에 대한 Trace 가 생성되기 때문에 성능 부하 및 공간 부족 문제를 야기할 수 있어 주의를 요합니다.

설정은 Set-TransportServer 를 통해서 설정이 가능합니다.

Tracing 할 주소 설정하기

PS> Set-TransportServer <Identity> -PipelineTracingSenderAddress <SMTPAddress>

예제> Set-TransportServer Server2 -PipelineTracingSenderAddress “user@domain.com"

Set-TransportServer Server2 -PipelineTracingSenderAddress "<>"

Tracking 여부 결정하기

Set-TransportServer <Identity> -PipelineTracingEnabled <$True | $False>

실제 설정된 주소로부터 메시지를 발송해 보면 아래와 같이 설정된 path 에 메시지들이 각 pipeline tracking 단계에 따라서 eml 형태로 메시지가 저장되어 있는 것을 확인할 수 있습니다.

clip_image004

Exchange 는 OnEndOfData, OnEndOfHeaders , OnSubmittedMessage, OnRoutedMessage 에 대한 스냅샵 저장이 가능합니다.

Origianl.eml 파일은 메시지가 이벤트나 전송 에이전트를 통과하기 전에 수정되지 않은 원본 내용입니다. 어떤 이벤트나 전송 에이전트도 구현되어 있지 않을 경우 original.eml 만 생성될 수 있습니다.

SmtpReceive0001.eml~ 과 같은 형태로 생성된 메시지는 전송 파이프라인의 SMTP 수신 부분에서 OnEndofData 와 OnEndofHeaders 이벤트 및 해당 이벤트가 전송 에이전트에서 처리가 될 때 메시지가 저장됩니다.

Routing0001.eml~ 과 같은 형태로 생성된 메시지는 OnSubmittedMessage 와 OnRoutedMessage 이벤트나 해당 이벤트로 등록된 전송 에이전트 처리 시 메시지가 저장됩니다.

메시지를 열어 보면 X-MessageSnpashot-Source 에서 어떤 과정에서 생성된 메시지인지 확인이 됩니다.

clip_image006

만약, 문제를 일으킨 전송 에이전트 확인이 필요한 경우, 모든 전송 에이전트와 등록된 SMTP 이벤트를 Get-TransportPipeline cmtlet 을 통해서 확인할 수 있습니다. 이 명령어는 전송 서비스가 시작된 이후부터 명령이 실행될 때까지 전송 파이프라인의 메시지에발생한 실제 이벤트를 기록합니다.

clip_image008

 

written by kyunghl