추적

추적은 ETW(Windows용 이벤트 추적)를 사용합니다. Windows Server 2008 R2에서 사용할 수 있는 추적 도구를 활용하려면 Microsoft Windows SDK를 설치합니다.

지원되는 세 가지 추적 수준은 다음과 같습니다.

  • 자세한 정보 표시(사용 가능한 모든 추적).
  • 정보(정보 추적).
  • 오류(오류 추적).

다음 이벤트가 추적됩니다.

  • 모든 오류(Level=Error, Level=Info 또는 Level=Verbose).
  • API의 진입/종료(Level=Info 또는 Level=Verbose).
  • IO 시작 및 완료(Level=Info 또는 Level=Verbose)
  • 교환된 SOAP 메시지(Level=Verbose, Windows 2003 SP1 이상에서 사용 가능)

WWSAPI 추적 생성 및 보기

WWSAPI는 Windows Vista 이상에서 매니페스트 기반 이벤트를 사용합니다. 따라서 추적 환경에는 운영 체제 버전에 따라 몇 가지 차이점이 있습니다. ETW 추적 생성은 지원되는 모든 플랫폼에서 기본 제공 ETW 도구를 사용하여 수행할 수 있습니다. 그러나 ETW 추적을 좋은 형식으로 보려면 Windows XP SP2 및 Windows 2003 SP1에서 사용자 지정 도구가 필요합니다. 운영 체제 버전에 따라 WWSAPI ETW 이벤트 추적을 수집하고 보는 몇 가지 방법이 있습니다.

이벤트 뷰어 WWSAPI 추적 사용 및 보기(Windows Vista 이상에서 작동)

  • 명령줄 또는 실행 메뉴에서 eventvwr.msc를 실행합니다.
  • 오른쪽의 작업 창에서 보기 링크를 클릭하고 분석 및 디버그 로그 표시 옵션을 사용하도록 설정합니다.
  • 왼쪽 창에서 애플리케이션 및 서비스 로그\Microsoft\Windows\WebServices 공급자로 찾습니다.
  • 추적 공급자를 마우스 오른쪽 단추로 클릭하고 로그 사용을 선택합니다.
  • 시나리오를 실행합니다.
  • 이벤트 뷰어 페이지를 새로 고치면 WWSAPI 추적 항목이 표시되어야 합니다.

Wstrace.bat 스크립트를 사용하여 WWSAPI 추적 사용 및 보기(XPSP2 이상에서 작동)

wstrace.bat 일괄 처리 파일은 다음과 같은 편리한 방법을 제공합니다.

  • 추적 로그 만들기
  • 추적 로그 삭제
  • 추적 사용 및 사용 안 함
  • 추적 수준 업데이트(정보/오류/자세한 정보)
  • 추적 로그를 CSV 파일로 변환

일괄 처리 파일은 사용자 지정 도구(wstracedump.exe)가 필요한 CSV 파일로 로그를 변환하는 것을 제외하고 모든 명령에 logman.exe 사용합니다.

추적 명령 사용

다음 명령은 정보, 오류 또는 자세한 정보를 사용하는 로그를 만듭니다. 이 명령에는 상승된 권한이 필요합니다.

wstrace.bat 만들기 [정보 | 오류 | 자세한 정보]

다음 명령은 로그를 삭제합니다. 이 명령에는 상승된 권한이 필요합니다.

wstrace.bat 삭제

다음 명령은 추적을 사용하도록 설정합니다. 먼저 로그를 만들어야 합니다.

wstrace.bat

추적 수준(정보, 오류 또는 자세한 정보)은 다음과 같이 수정할 수 있습니다.

wstrace.bat 업데이트 [정보 | 오류 | 자세한 정보]

추적 출력을 덤프하려면 다음 명령을 사용합니다.

덤프 > temp.csv wstrace.bat

이벤트는 Ctrl-C를 누르거나 추적을 사용하지 않도록 설정할 때까지 CSV 파일에 덤프됩니다.

추적 파일 형식

wstrace.bat 만든 CSV 파일은 간단한 쉼표로 구분된 변수 텍스트 파일입니다. 이러한 파일은 Excel, 메모장 등에서 열 수 있습니다.

파일의 열은 다음과 같습니다.

  • TimeStamp - 이벤트가 기록된 시점의 타임스탬프
  • ProcessID - 이벤트를 기록하는 프로세스의 ULONG ID
  • ThreadID - 이벤트를 기록하는 스레드의 ULONG ID
  • 이벤트 - 이벤트 유형의 열거 값이 될 수 있습니다("api enter" | "api pending" | "api ExitSyncSuccess" | "api ExitSyncFailure" | "api ExitAsyncSuccess" | "api ExitAsyncFailure" | "io started" | "io completed" | "io failed" | "error" | "받은 메시지 시작" | "받은 메시지" | "받은 메시지 중지" | "메시지 보내기 시작" | "메시지 보내기" | "메시지 보내기 중지")
  • 작업 - 호출되는 작업의 이름입니다. 일반적으로 호출되는 API에 매핑됩니다.
  • 오류 - 선택적 HRESULT 오류 번호
  • 정보 - 이벤트에 대한 선택적 정보

ETW 도구를 사용하여 WWSAPI ETW 추적 파일 수집(XPSP2 이상에서 작동)

WWSAPI에 ETW 추적 사용

logman start wstrace -bs 64 -ft 1 -rt -p Microsoft-Windows-WebServices [flags [level]] [-o <EtlLogFileName>] -ets

ETW 추적 세션을 만들고 시작합니다. Logman.exe 지원되는 모든 플랫폼에서 사용할 수 있는 기본 ETW 도구입니다. XPSP2 및 W2K3에서 공급자 이름으로 Microsoft_Windows_WebServices 사용해야 합니다. 로그맨 쿼리 공급자를 실행하여 등록된 공급자 목록을 볼 수 있습니다. 등록되지 않은 경우 Microsoft-Windows-WebServices(또는 Microsoft_Windows_WebServices) 공급자가 나열되어야 합니다. 공급자는 일반적으로 설치 중에 등록됩니다. 그러나 wevtutil.exe im <ManifestFileName> (Windows Vista 이상) 또는 mofcomp.exe <MofFileName> (XPSP2 및 W2K3)을 실행하여 수동으로 등록할 수도 있습니다.

플래그를 사용하여 추적을 종류별로 필터링할 수 있습니다. 다음 추적 종류의 OR 값일 수 있습니다. 제공되지 않으면 모든 추적 종류가 사용하도록 설정됩니다.

  • 0x1 - API 항목/종료 추적입니다.
  • 0x2 - 오류 추적
  • 0x4 - IO 추적
  • 0x8 - SOAP 메시지 추적
  • 0x10 - 이진 메시지 추적

수준을 사용하여 해당 수준별로 추적을 필터링할 수 있습니다. 다음 값 중 하나여야 합니다. 제공되지 않으면 모든 추적 수준이 사용하도록 설정됩니다.

  • 0x1 - 치명적인 추적.
  • 0x2 - 오류 추적
  • 0x3 - 경고 추적
  • 0x4 - 정보 추적.
  • 0x5 - 자세한 추적

EtlLogFileName은 만들 ETW 이벤트 로그 파일의 경로입니다(.etl 확장 사용). 제공되지 않은 경우 ETW는 나중에 쿼리할 수 있는 임의의 이름을 선택합니다. 이 파일은 사용자의 프로필 디렉터리에 있지 않아야 합니다. ETW 이벤트 로그 파일(.etl 파일)은 이진 형식입니다. ETW 애플리케이션에서 사용할 수 있지만 사람이 읽을 수 있는 형식은 아닙니다. 다음 단계에서는 콘텐츠를 보는 방법을 설명합니다.

시나리오 실행

ETW 이벤트 로그 파일 수집

logman stop wstrace -ets

ETW 추적 세션을 중지합니다. ETW가 이벤트 로깅을 중지하는 경우입니다. ETW 이벤트 로그 파일(EtlLogFileName 매개 변수에 지정됨)을 사용할 준비가 된 것입니다. 로컬로 보거나(아래 지침 제공) 조사를 위해 제품 그룹으로 보낼 수 있습니다.

ETW 도구를 사용하는 종단 간 예제:

logman start wstrace -bs 64 -ft 1 -rt -p Microsoft-Windows-WebServices -o mytrace.etl -ets

반향.. 시나리오를 실행합니다.

logman stop wstrace -ets

tracerpt mytrace.etl -o mytrace.xml

wstrace.htm

반향.. 열린 페이지에서 mytrace.xml 및 wstrace.xsl을 사용합니다.

wstracedump.exe 도구를 사용하여 WWSAPI ETW 추적 파일 추적 보기(Windows XP 이상에서 작동)

Wstracedump.exe WWSAPI ETW 추적 파일에서 이벤트를 처리하고 사람이 읽을 수 있는 출력을 생성하는 사용자 지정 개발 ETW 소비자 도구입니다. 지원되는 모든 플랫폼에서 출력을 생성할 수 있습니다. 자세한 내용은 해당 사용량(wstracedump.exe -?)을 참조하세요.

ETW 도구를 사용하여 WWSAPI ETW 추적 파일 추적 보기(Windows Vista 이상에서 작동)

Tracerpt.exe ETW 이벤트 로그 파일의 콘텐츠를 볼 수 있는 도구이며 지원되는 모든 플랫폼에서 사용할 수 있습니다. ETW 이벤트 로그 파일에서 CSV, EVTX 또는 XML 덤프 파일을 생성하는 데 사용할 수 있습니다. 그러나 생성된 출력 파일에는 Windows Vista 이상에서만 사람이 읽을 수 있는 추적이 있습니다. 이 지침에서는 XML 덤프 파일을 생성하고 xsl 파일과 함께 사용하여 추적을 좋은 형식으로 표시하는 방법을 설명합니다(xsl 파일은 매우 사소하며 다른 형식이 필요한 경우 변경될 수 있음).

  • Run

    tracerpt <EtlLogFileName> -o <OutputXMLFileName>

    이진 ETL 파일에서 XML 덤프를 만들려면(tracerpt.exe 기본적으로 출력 파일을 XML 형식으로 만듭니다. tracerpt 실행 -? 사용 가능한 다른 형식을 보려면).

  • 이때 XML 파일에서 추적 정보를 볼 수 있습니다. 또한 wstrace.htm 파일을 열고 xml 덤프 파일 및 wstrace.xsl 파일을 사용하여 추적을 더 좋은 형식으로 볼 수 있습니다. IE에서 이 html 파일을 사용하려면 파일이 로컬 컴퓨터에 있어야 합니다.

보안

추적을 사용하도록 설정할 때 관리자는 추가 디스크 공간 및 계산 능력을 사용하는 것을 고려해야 합니다. 추적 설정이 적절한 제한으로 구성되지 않는 한 악의적인 클라이언트 또는 애플리케이션은 시스템 리소스를 소진할 수 있습니다. 메시지 추적 기능을 사용하는 경우 자격 증명, 개인 정보 등과 같은 중요한 정보를 전달하는 메시지는 디스크에 유지되거나 시스템 이벤트 뷰어에 대한 액세스 권한이 있는 사람이 볼 수 있습니다. 이 문제를 완화하기 위해 Windows 2003 이상에서 시스템 또는 관리자 사용자가 추적을 사용하도록 설정할 수 있습니다. 모든 사용자가 추적을 설정할 수 있는 Windows XP에서는 메시지 추적을 사용할 수 없습니다.

추적과 함께 사용되는 열거형은 다음과 같습니다.