메시지 추적 로그 검색

적용 대상: Exchange Server 2013

Microsoft Exchange Server 2013에서 메시지 추적 로그는 사서함 서버의 전송 서비스, 사서함 서버의 사서함 및 Edge 전송 서버를 오고가는 메시지 전송 시 수행되는 모든 메시지 작업에 대한 상세 레코드입니다.

Exchange 관리 셸에서 Get-MessageTrackingLog cmdlet을 사용하여 특정 검색 조건에 따라 메시지 추적 로그의 항목을 검색할 수 있습니다.

시작하기 전에 알아야 할 사항은 무엇인가요?

  • 예상 완료 시간: 30분

  • 이러한 절차를 수행하려면 먼저 사용 권한을 할당받아야 합니다. 필요한 권한을 보려면 메일 흐름 권한 항목의 "메시지 추적" 항목을 참조하세요.

  • 메시지 추적 로그를 검색하려면 Microsoft Exchange 전송 로그 Search Service 실행해야 합니다. 이 서비스를 사용하지 않도록 설정하거나 중지하면 메시지 추적 로그를 검색하거나 배달 보고서를 실행할 수 없습니다. 그러나 이 서비스를 중지해도 Exchange의 다른 기능에는 영향을 주지 않습니다.

  • Get-MessageTrackingLog cmdlet의 결과로 표시되는 필드 이름은 메시지 추적 로그에 사용되는 실제 필드 이름과 유사합니다. 가장 큰 차이점은 다음과 같습니다.

    • 필드 이름에서 대시가 제거됩니다. 예를 들어 internal-message-id 는 로 InternalMessageId표시됩니다.

    • 날짜-시간 필드는 로 Timestamp표시됩니다.

    • 받는 사람 주소 필드는 로 Recipients표시됩니다.

    • 보낸 사람 주소 필드는 로 Sender표시됩니다.

  • 메시지 추적 로그의 date-time 필드에는 정보가 UTC(Coordinated Universal Time)로 저장됩니다. 그러나 검색을 수행하는 데 사용하는 컴퓨터의 지역별 날짜-시간 형식으로 시작 또는 종료 매개 변수에 대한 날짜-시간 검색 조건을 입력해야 합니다.

  • Get-MessageTrackingLog cmdlet을 사용하여 다른 Exchange 서버에서 메시지 추적 로그 파일을 복사한 다음 검색할 수는 없습니다. 또한 기존 메시지 추적 로그 파일을 수동으로 저장하면 해당 파일의 날짜-시간 스탬프가 변경되어 Exchange에서 메시지 추적 로그를 검색하는 데 사용하는 쿼리 논리가 손상됩니다.

  • Exchange 2013 Get-MessageTrackingLog cmdlet은 동일한 Active Directory 사이트의 Exchange 2007 및 Exchange 2010 서버에서 메시지 추적 로그를 검색할 수 있습니다.

  • 이 항목의 절차에 적용할 수 있는 바로 가기 키에 대한 자세한 내용은 Exchange 관리 센터의 바로 가기 키을 참조하세요.

문제가 있습니까? Exchange 포럼에서 도움을 요청하세요. Exchange Server 포럼을 방문하세요.

셸을 사용하여 메시지 추적 로그 검색

특정 이벤트에 대한 메시지 추적 로그 항목을 검색하려면 다음 구문을 사용합니다.

Get-MessageTrackingLog [-Server <ServerIdentity.] [-ResultSize <Integer> | Unlimited] [-Start <DateTime>] [-End <DateTime>] [-EventId <EventId>] [-InternalMessageId <InternalMessageId>] [-MessageId <MessageId>] [-MessageSubject <Subject>] [-Recipients <RecipientAddress1,RecipientAddress2...>] [-Reference <Reference>] [-Sender <SenderAddress>]

서버에서 최근 메시지 추적 로그 항목 1,000개를 보려면 다음 명령을 실행합니다.

Get-MessageTrackingLog

이 예제에서는 로컬 서버의 메시지 추적 로그에서 메시지 발신자pat@contoso.com가 인 모든 FAIL 이벤트에 대해 2013년 3월 28일 오전 8:00부터 2013년 3월 28일 오후 5:00까지의 모든 항목을 검색합니다.

Get-MessageTrackingLog -ResultSize Unlimited -Start "3/28/2013 8:00AM" -End "3/28/2013 5:00PM" -EventId "Fail" -Sender "pat@contoso.com"

다음 구문을 사용합니다.

Get-MessageTrackingLog <SearchFilters> | <Format-Table | Format-List> [<FieldNames>] [<OutputFileOptions>]

이 예제에서는 다음 검색 조건을 사용하여 메시지 추적 로그를 검색합니다.

  • 처음 1,000개 Send 이벤트에 대한 결과를 반환합니다.

  • 결과를 목록 형식으로 표시합니다.

  • 또는 Recipient로 시작하는 Send 필드 이름만 표시합니다.

  • 라는 새 파일에 출력 쓰기 D:\Send Search.txt

Get-MessageTrackingLog -EventId Send | Format-List Send*,Recipient* > "D:\Send Search.txt"

셸을 사용하여 여러 서버에서 메시지 항목에 대한 메시지 추적 로그 검색

일반적으로 MessageID: 헤더 필드의 값은 메시지가 Exchange 조직 전체를 이동하는 과정에서 일정하게 유지됩니다. 이 속성 이름은 큐 뷰어 유틸리티에서는 InternetMessageId 이고 메시지 추적 로그 보기 유틸리티에서는 MessageId 입니다. 특정 메시지의 값을 결정한 MessageID: 후에는 Exchange 조직의 모든 사서함 서버에서 메시지 추적 로그에서 해당 메시지에 대한 정보를 검색할 수 있습니다.

모든 사서함 서버에서 특정 메시지에 대한 모든 메시지 추적 로그 항목을 검색하려면 다음 구문을 사용합니다.

Get-ExchangeServer | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} | Get-MessageTrackingLog -MessageId <MessageID> | Select-Object <CommaSeparatedFieldNames> | Sort-Object -Property <FieldName>

이 예제에서는 다음 검색 조건을 사용하여 모든 Exchange 2013 사서함 서버에서 메시지 추적 로그를 검색합니다.

  • MessageID:<ba18339e-8151-4ff3-aeea-87ccf5fc9796@mailbox01.contoso.com>이 인 메시지와 관련된 항목을 찾습니다. 꺾쇠 괄호 문자(<>)를 생략할 수 있습니다. 생략하지 않을 경우 전체 MessageID: 값을 따옴표로 묶어야 합니다.

  • 각 항목에 대해 필드 date-time, server-hostname, client-hostname, source, event-idrecipient-address 를 표시합니다.

  • 결과를 date-time 필드 기준으로 정렬합니다.

Get-ExchangeServer | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} | Get-MessageTrackingLog -MessageId ba18339e-8151-4ff3-aeea-87ccf5fc9796@mailbox01.contoso.com | Select-Object Timestamp,ServerHostname,ClientHostname,Source,EventId,Recipients | Sort-Object -Property Timestamp

EAC를 사용하여 메시지 추적 로그 검색

EAC(Exchange 관리 센터)의 관리자용 배달 보고서 기능을 사용하여 메시지 추적 로그에서 조직의 특정 사서함이 보냈거나 받은 메시지에 대한 정보를 검색할 수 있습니다. 자세한 내용은 배달 보고서를 사용하여 메시지 추적을 참조하세요.