파이프라인 추적을 사용하여 전송 에이전트 문제 진단

 

적용 대상: Exchange Server 2007 SP1, Exchange Server 2007

마지막으로 수정된 항목: 2007-02-12

파이프라인 추적은 전자 메일 메시지가 전송 파이프라인에서 SMTP(Simple Mail Transfer Protocol) 이벤트에 등록된 전송 에이전트와 만날 때 전자 메일 메시지에 대한 진단 정보를 캡처할 수 있는 Microsoft Exchange Server 2007의 진단 기능입니다. Exchange는 각 전송 에이전트가 전송 파이프라인에서 메시지에 적용하는 변경 사항에 대한 세부 정보를 메시지 스냅숏 파일에 캡처합니다. 전송 규칙이 구성되어 있는 경우 Exchange Server는 또한 각 전송 규칙이 이러한 메시지에 수행하는 작업을 기록합니다.

파이프라인 추적은 조직의 서버별로 구성되며 허브 전송 서버 역할 및 Edge 전송 서버 역할이 설치된 컴퓨터에서 사용할 수 있습니다.

파이프라인 추적을 사용하도록 설정하고 파이프라인 추적 로그 파일의 기본 위치를 사용하면 C:\Program Files\Microsoft\Exchange Server\TransportRoles\Logs\PipelineTracing이 생성됩니다. 이 디렉터리에는 MessageSnapshots 디렉터리와 RulesTracking 디렉터리가 포함되어 있습니다.

파이프라인 추적 구현

파이프라인 추적은 특정 보낸 사람의 SMTP 전자 메일 주소에서 전송한 메시지만 로깅하도록 설계되어 있습니다. 보낸 사람의 SMTP 주소는 Exchange 조직의 내부 또는 외부에 있는 사서함일 수 있습니다. 파이프라인 추적을 사용하도록 설정하기 전에 파이프라인 추적에 사용할 보낸 사람의 SMTP 주소를 지정해야 합니다. Set-TransportServer cmdlet의 PipelineTracingSenderAddress 매개 변수를 사용하여 파이프라인 추적에 사용할 보낸 사람의 SMTP 주소를 구성할 수 있습니다.

파이프라인 추적에 사용할 보낸 사람의 SMTP 주소를 구성한 후 원하는 경우 파이프라인 추적 로그 파일의 위치를 수정할 수 있습니다. 파이프라인 추적 로그 파일은 로컬 컴퓨터에 배치해야 하며, UNC(Universal Naming Convention) 파일 경로 또는 매핑된 드라이브를 사용할 수 없습니다.

경고

파이프라인 추적은 보낸 사람의 전자 메일 주소에서 보낸 전자 메일 메시지의 전체 콘텐츠를 복사합니다. 기밀 정보가 노출되지 않도록 하려면 파이프라인 추적 로그 파일의 위치에 대해 적절한 보안 권한을 설정해야 합니다.

경고

파이프라인 추적을 장기간 사용하도록 설정하지 마십시오. 파이프라인 추적은 빠르게 누적될 수 있는 세부 정보 로그 파일을 만듭니다. 파이프라인 추적을 사용하는 경우에는 사용 가능한 디스크 공간을 항상 모니터링하십시오.

Set-TransportServer cmdlet의 PipelineTracingPath 매개 변수를 사용하여 파이프라인 추적 로그 파일의 위치를 구성할 수 있습니다. 자세한 내용은 Set-TransportServer를 참조하십시오.

파이프라인 추적을 사용하도록 설정하고 파이프라인 추적에 대해 보낸 사람 주소를 구성하는 방법에 대한 자세한 내용은 파이프라인 추적을 사용하도록 설정하는 방법을 참조하십시오.

메시지 스냅숏 파일

메시지 스냅숏은 전송 에이전트가 메시지의 콘텐츠를 변경한 경우 정확한 변경 내용을 캡처하는 파일입니다. 메시지 스냅숏 파일의 콘텐츠를 검사하여 전송 에이전트가 전송 파이프라인에서 메시지의 콘텐츠를 변경했는지 여부를 확인할 수 있습니다. 문제를 해결하려면 문제가 있는 전송 에이전트를 확인해야 합니다. 그런 다음 해당 에이전트를 대상으로 하여 집중적으로 문제를 해결할 수 있습니다. 마지막으로 메시지 스냅숏 파일을 다시 검사하여 문제가 해결되었음을 확인할 수 있습니다.

파이프라인 추적을 사용하면 Exchange는 MessageSnapshots 디렉터리에 전송 파이프라인을 통과하는 각 메시지에 대해 디렉터리를 만듭니다. 각 디렉터리는 메시지에 할당된 GUID를 디렉터리 이름으로 사용하여 Microsoft Exchange를 실행하는 컴퓨터에 의해 생성됩니다. 둘 이상의 Exchange 서버에서 파이프라인 추적을 사용하는 경우에는 각 Exchange 서버에서 메시지에 다른 GUID가 할당됩니다.

Exchange는 각 메시지 디렉터리에 확장명이 .eml인 여러 개의 메시지 스냅숏 파일을 만듭니다. 이러한 메시지 스냅숏 파일에는 메시지가 각 이벤트 및 전송 에이전트와 만날 때 메시지의 콘텐츠가 저장되어 있습니다.

Exchange는 다음 네 가지 이벤트에 등록된 에이전트에 대해 메시지 스냅숏을 만듭니다.

  • OnEndofData

  • OnEndOfHeaders

  • OnSubmittedMessage

  • OnRoutedMessage

이벤트에 전송 에이전트가 등록되어 있으면 Exchange는 메시지가 전송 에이전트와 만나기 전에 메시지의 스냅숏을 만듭니다. 이 스냅숏은 메시지가 해당 이벤트에 등록된 전송 에이전트와 만나기 전의 메시지 복사본을 제공합니다. 그런 다음 전송 에이전트가 메시지의 콘텐츠를 수정하는지 여부에 관계없이 메시지가 만나는 각 전송 에이전트에 대해 새 메시지 스냅숏이 생성됩니다. 반면 이벤트에 에이전트가 등록되어 있지 않으면 Exchange는 해당 이벤트에 대해 메시지 스냅숏을 만들지 않습니다.

예를 들어 OnEndofData 이벤트에 세 개의 에이전트가 등록되어 있지만 이 중 두 개의 전송 에이전트만 메시지를 수정하는 경우 네 개의 메시지 스냅숏이 생성됩니다. 첫 번째 메시지 스냅숏은 메시지가 OnEndofData 이벤트와 만날 때 이 이벤트에 등록된 전송 에이전트가 메시지의 콘텐츠를 수정하기 전의 메시지를 캡처합니다. 그런 다음 전송 에이전트가 메시지를 수정하는지 여부에 관계없이 각 전송 에이전트에 대해 메시지 스냅숏이 생성됩니다.

다음 목록은 Edge 전송 서버 역할의 기본 설치 환경에서 생성될 수 있는 파일의 예입니다.

  • Original.eml  이 파일에는 전자 메일 메시지가 이벤트나 전송 에이전트를 만나기 전 메시지의 수정되지 않은 원본 콘텐츠가 저장되어 있습니다. 어떤 이벤트에도 전송 에이전트가 구성되어 있지 않으면 이 파일만 생성됩니다.

  • SmtpReceive0001.eml ~ SmtpReceive0009.eml   이러한 파일에는 전자 메일 메시지가 전송 파이프라인의 SMTP 수신 부분에서 OnEndofDataOnEndOfHeaders 이벤트 및 해당 이벤트에 등록된 전송 에이전트를 만날 때의 메시지 콘텐츠가 저장됩니다.

  • Routing0001.eml 및 Routing0002.eml   이러한 파일에는 전자 메일 메시지가 전송 파이프라인의 분류 부분에서 OnSubmittedMessageOnRoutedMessage 이벤트 및 해당 이벤트에 등록된 전송 에이전트를 만날 때의 메시지 콘텐츠가 저장됩니다.

메모장 등의 텍스트 편집기를 사용하여 메시지 스냅숏 파일을 열 수 있습니다.

각 메시지 스냅숏 파일은 메시지 콘텐츠에 추가되어 메시지 스냅숏 파일과 관련된 SMTP 이벤트 및 전송 에이전트를 나열하는 헤더로 시작합니다. 이러한 헤더는 X-CreatedBy: MessageSnapshot-Begin injected headers로 시작하고 X-EndOfInjectedXHeaders: MessageSnapshot-End injected headers로 끝납니다. 이러한 헤더는 이후의 각 전송 에이전트에 따라 각 메시지 스냅숏 파일에서 바뀝니다. 다음은 OnEndOfHeaders 이벤트의 연결 필터 에이전트에 의해 처리된 전자 메일 메시지에 추가된 헤더의 예입니다.

X-CreatedBy: MessageSnapshot-Begin injected headers
X-MessageSnapshot-UTC-Time: 2006-07-31T23:18:55.972Z
X-MessageSnapshot-Protocol-Id: 08C87FF14CCC969C;2006-07-31T23:18:53.408Z;1
X-MessageSnapshot-Source: OnEndOfHeaders,Connection Filtering Agent
X-Sender: david@nwtraders.com
X-Receiver: chris@contoso.com
X-EndOfInjectedXHeaders: MessageSnapshot-End injected headers

메시지 스냅숏 헤더 아래에는 모든 원본 메시지 헤더를 포함한 메시지의 콘텐츠가 표시됩니다. 전송 에이전트가 메시지의 콘텐츠를 수정하면 메시지와 함께 변경 내용이 표시됩니다. 각 전송 에이전트가 메시지를 처리하면 각 에이전트에 의해 변경된 내용이 메시지 콘텐츠에 적용됩니다. 전송 에이전트가 메시지 콘텐츠를 변경하지 않은 경우 해당 에이전트에 의해 생성된 메시지 스냅숏은 이전 전송 에이전트에 의해 생성된 메시지 스냅숏과 같습니다.

규칙 추적 파일 읽기

규칙 추적 파일은 허브 전송 서버의 전송 규칙 에이전트나 Edge 전송 서버의 Edge 규칙 에이전트와 만나는 메시지에 전송 규칙이 적용될 때 각 전송 규칙에 대한 결과를 캡처합니다. 규칙 추적 파일에 캡처된 결과는 전송 규칙이 메시지에 대해 작업을 수행했는지 여부를 나타냅니다. 전송 규칙이 작업을 수행한 경우 규칙 추적 파일에는 수행된 작업이 표시됩니다. 규칙 추적 파일에는 다음 필드가 쉼표로 구분된 값(.csv) 형식으로 저장되어 있습니다.

  • Date-Time   이 필드는 전송 규칙이 실행된 날짜와 시간을 UTC(협정 세계시) 또는 Zulu 시간으로 표시합니다.

  • Message-Id   이 필드는 메시지 헤더에 있는 MessageID: 필드의 값을 표시합니다. 이 값은 메시지 수명 동안 일정하며 메시지 추적 로그와 함께 사용하여 Exchange 조직에서 메시지의 경로를 추적할 수 있습니다.

  • Rule-Name  이 필드는 메시지에 대해 실행된 전송 규칙의 이름을 표시합니다.

  • Details  이 필드는 메시지에 적용된 전송 규칙 작업의 값을 표시합니다. 단일 전송 규칙 작업에 여러 값이 설정되어 있는 경우 값은 세미콜론(;)으로 구분됩니다. 메시지에 전송 규칙이 적용되어 있지 않으면 Conditions evaluated to false. Rule skipped. 문자열이 삽입됩니다.

  • Action   이 필드는 메시지에 적용된 전송 규칙 작업을 표시합니다. 메시지에 전송 규칙이 적용되어 있지 않으면 NoAction 문자열이 삽입됩니다.

  • From-Address 이 필드는 메시지를 보낸 사람의 SMTP 주소를 표시합니다.

  • Recipient-Address   이 필드는 메시지를 받는 사람의 SMTP 주소를 표시합니다. 전송 규칙 조건과 일치하는 여러 명의 받는 사람에게 보낸 메시지에 전송 규칙 작업이 적용된 경우 받는 사람은 세미콜론(;)으로 구분됩니다.

메시지에 적용된 각 전송 규칙 작업은 규칙 추적 파일의 개별 줄에 기록됩니다. 예를 들어 전송 규칙에 세 개의 작업이 포함된 경우 각 전송 규칙 작업의 결과는 규칙 추적 파일의 개별 줄에 기록됩니다.

전자 메일 메시지에 둘 이상의 받는 사람이 포함되어 있지만 이 중 일부가 모든 전송 규칙 조건을 충족하지 않는 경우 전송 규칙 조건을 충족하지 않는 받는 사람은 분리되어 개별 줄에 기록됩니다.

자세한 내용

Exchange 2007의 전송 파이프라인, 전송 에이전트 및 메시지 추적 로그에 대한 자세한 내용은 다음 항목을 참조하십시오.