다음을 통해 공유


Windows용 이벤트 추적 간소화

이 문서에서는 간소화된 ETW(Windows용 이벤트 추적)에 대해 설명합니다.

원래 KB 번호: 2593157

요약

ETW(Windows용 이벤트 추적)는 구성 요소 수준 로깅을 제공하는 용도로 사용됩니다. 이벤트 추적 정보 문서에서 설명한 것처럼 ETW는 다음을 제공합니다.

사용자 모드 애플리케이션과 커널 모드 디바이스 드라이버 모두에서 발생하는 이벤트에 대한 추적 메커니즘입니다. 또한 ETW를 사용하면 동적으로 로깅을 사용하도록 설정하고 사용하지 않도록 설정할 수 있으므로 다시 부팅 또는 애플리케이션 다시 시작 없이 프로덕션 환경에서 자세한 추적을 쉽게 수행할 수 있습니다. 이렇게 하면 대규모 서버 애플리케이션이 최소한의 장애로 이벤트를 작성할 수 있습니다..

빠른 개요: 이벤트 공급자 는 ETW 세션에 이벤트를 씁니다(모든 사용자 모드 애플리케이션, 관리되는 애플리케이션, 드라이버 등). 이벤트를 작성할 때 ETW는 발생한 시간, 프로세스 및 로깅 스레드의 CPU 사용량 현황 데이터를 생성한 스레드 ID에 대한 자세한 정보를 추가합니다. 이 정보는 이벤트 소비자가 사용하며, 로그 파일을 읽거나 실시간 이벤트에 대한 세션을 수신 대기하고 처리하는 애플리케이션입니다.

logman 쿼리 공급자 명령의 샘플 출력:

공급자 GUID

.NET 공용 언어 런타임 {E13C0D23-CCBC-4E12-931B-D9CC2EEE27E4}
ACPI 드라이버 추적 공급자 {DAB01D4D-2D48-477D-B1C3-DAAD0CE6F06B}
Active Directory Domain Services: SAM {8E598056-8993-11D2-819E-0000F875A064}
Active Directory: Kerberos 클라이언트 {BBA3ADD2-C229-4CDB-AE2B-57EB6966B0C4}
Active Directory: NetLogon {F33959B4-DBEC-11D2-895B-00C04F79AB69}
Application-Addon-Event-Provider {A83FA99F-C356-4DED-9FD6-5A5EB8546D68}
ASP.NET 이벤트 {AFF081FE-0247-4275-9C4E-021F3DC1DA35}
ATA 포트 드라이버 추적 공급자 {D08BD885-501E-489A-BAC6-B7D24BFE6BBF}
AuthFw NetShell 플러그 인 {935F4AE6-845D-41C6-97FA-380DAD429B72}
BFE 추적 공급자 {106B464A-8043-46B1-8CB8-E92A0CD7A560}
BITS 서비스 추적 {4A8AAA94-CFC4-46A7-8E4E-17BC45608F0A}
Certificate Services 클라이언트 CredentialRoaming 추적 {EF4109DC-68FC-45AF-B329-CA2825437209}
Certificate Services 클라이언트 추적 {F01B7774-7ED7-401E-8088-B576793D7841}
순환 커널 세션 공급자 {54DEA73A-ED1F-42A4-AF71-3E63D056F174}
Classpnp 드라이버 추적 공급자 {FA8DE7C4-ACDE-4443-9994-C4E2359A9EDB}
중요 섹션 추적 공급자 {3AC66736-CC59-4CFF-8115-8DF50E39816B}
디바이스 작업 열거자 {0E9E7909-00AA-42CF-9502-2C490471E598}
디스크 클래스 드라이버 추적 공급자 {945186BF-3DD6-4F3F-9C8E-9EDD3FC9D558}
하위 IPsec API {94335EB3-79EA-44D5-8EA9-306F49B3A041}

.etl 파일을 구문 분석하기 위해 Microsoft 다운로드 센터에서 instance Network Monitor v3.4에 대한 다양한 유틸리티를 사용할 수 있습니다. 그러나 아래 샘플 스크립트는 설치할 필요가 없습니다.

추가 정보

아래 스크립트는 ETL 추적을 생성합니다. 이 예제에서 공급자 - Microsoft-Windows-TerminalServices-RemoteConnectionManager에 대한 데이터입니다.

@echo off
ECHO These commands will enable tracing:
@echo on
logman create trace admin_wmi -ow -o c:\admin_wmi.etl -p " Microsoft-Windows-TerminalServices-RemoteConnectionManager " 0xffffffffffffffff 0xff -nb 16 16 -bs 1024 -mode 0x2 -max 2048
logman start admin_wmi
@echo off
echo
ECHO Reproduce your issue and enter any key to stop tracing
@echo on
pause
logman stop admin_wmi
logman delete admin_wmi
@echo off
echo Tracing has been captured and saved successfully at c:\admin_wmi.etl

위에서 언급한 스크립트를 일괄 처리 파일(.bat)으로 저장하고 관리자 권한으로 실행하여.etl 파일을 생성합니다.

참고

이 스크립트는 필요에 따라 모든 공급자에 대한 추적을 생성하도록 수정할 수 있습니다. 위에서 설명한 대로 logman 쿼리 공급자 명령에서 공급자 이름을 가져올 수 있습니다. 강조 표시된 필드를 이벤트 공급자로 바꿀 수 있으며 몇 분 내에 문제별 추적이 생성됩니다.

결과 .etl 추적을 구문 분석하려면 기본 제공 tracerpt.exe 유틸리티를 사용하여 추가 해석에 사용할 수 있는 .evtx 파일을 생성합니다.

이 명령의 예는 다음과 같습니다.

tracerpt c:\admin_wmi.etl -o c:\admin_wmi.etl.evtx -of EVTX