설정 및 부팅 이벤트 컬렉션 시작
개요
Windows Server 2016의 새로운 기능인 설치 및 부팅 이벤트 수집은 부팅 또는 설치 프로세스를 진행할 때 다른 컴퓨터에서 발생하는 다양한 중요한 이벤트를 수집할 수 있는 수집기 컴퓨터를 지정할 수 있도록 합니다. 그런 다음 이벤트 뷰어, 메시지 분석기, Wevtutil, 또는 Windows PowerShell cmdlet 통해 수집 된 이벤트를 나중에 분석할 수 있습니다.
이전에 이러한 이벤트를 모니터링하는 것이 불가능했던 이유는, 컴퓨터가 이미 설정되기 전까지 이를 수집하기 위한 인프라가 존재하지 않기 때문입니다. 모니터링할 수 있는 설정 및 부팅 이벤트의 종류는 다음과 같습니다.
드라이버 및 커널 모듈 로드
디바이스 및 해당 드라이버 (디바이스 CPU 종류 등 포함)의 초기화 열거형
확인 및 파일 시스템 마운트
실행 파일의 시작
시작 및 완료 된 시스템 업데이트
시스템이 로그온 가능하며 도메인 컨트롤러와의 연결을 설정하고 서비스 시작을 완료하며 네트워크 공유를 사용할 수 있는 시점들
수집기 컴퓨터는 Windows Server 2016을 실행해야 하며, 이는 데스크톱 경험 모드 또는 Server Core 모드 중 하나일 수 있습니다. 대상 컴퓨터는 Windows 10 또는 Windows Server 2016 실행 되어야 합니다. Windows Server 2016을 실행하지 않는 컴퓨터에서 호스팅되는 가상 머신에서 이 서비스를 실행할 수도 있습니다. 가상화 된 수집기와 대상 컴퓨터의 다음과 같은 조합은 작동 하도록 라고 합니다.
가상화 호스트 | 수집기 가상 머신 | 대상 가상 머신 |
---|---|---|
Windows 8.1 | 예 | 예 |
Windows 10 | 예 | 예 |
Windows Server 2016 | 예 | 예 |
Windows Server 2012 R2 | 예 | 아니요 |
수집기 서비스를 설치합니다.
에서 시작 하 여 Windows Server 2016 이벤트 수집기 서비스를 선택적 기능으로 사용할 수 있습니다. 이번 릴리스에서는 관리자 권한으로 열린 Windows PowerShell 프롬프트에서 DISM.exe를 사용하여 다음 명령으로 설치할 수 있습니다.
dism /online /enable-feature /featurename:SetupAndBootEventCollection
이 명령은 BootEventCollector라는 서비스를 만들고 비어 있는 구성 파일로 시작합니다.
설치가 성공했는지 get-service -displayname *boot*
를 확인하세요. 부팅 이벤트 수집기 실행 되어야 합니다. 네트워크 서비스 계정 아래에서 실행되어 빈 구성 파일 (Active.xml)을 %SystemDrive%\ProgramData\Microsoft\BootEventCollector\Config에 만듭니다.
서버 관리자에서 '설치 및 부팅 이벤트 수집 서비스'를 설치하려면 역할 및 기능 추가 마법사를 사용할 수 있습니다.
구성
설치 및 부팅 이벤트를 수집 하는 두 개의 항목을 구성 해야 합니다.
대상 컴퓨터에서 이벤트를 전송하도록 (즉, 설정 및 부팅을 모니터링하려는 컴퓨터에서) KDNET/EVENT-NET 전송을 활성화하고 이벤트 전달을 활성화하십시오.
수집기 컴퓨터에서 이벤트를 수신할 컴퓨터와 이벤트를 저장할 위치를 지정하십시오.
참고 사항
자신에 게 시작 또는 부팅 이벤트를 전송 하는 컴퓨터를 구성할 수 없습니다. 하지만 두 대의 컴퓨터를 모니터링 하려는 경우 서로 이벤트를 보낼 수 있도록를 구성할 수 있습니다.
대상 컴퓨터를 구성합니다.
각 대상 컴퓨터에서 먼저 KDNET/EVENT-NET 전송을 활성화한 다음, 전송을 통해 ETW 이벤트 전송을 활성화하고, 대상 컴퓨터를 다시 시작합니다. EVENT-NET은 커널 내의 전송 프로토콜로, KDNET(커널 디버거 프로토콜)과 유사합니다. EVENT-NET만 이벤트를 전송하고 디버거 액세스를 허용하지 않습니다. 이 두 가지 프로토콜은 상호 배타적입니다. 둘 중 한 번에 사용할 수 있습니다.
이벤트 전송을 원격으로 (Windows PowerShell을 사용하여) 또는 로컬로 설정할 수 있습니다.
이벤트 전송을 원격으로 사용 하도록 설정 하려면
Windows PowerShell 원격이 대상 컴퓨터에 이미 설정되어 있는 경우, 3단계로 건너뛰세요. 그렇지 않은 경우 대상 컴퓨터에서 명령 프롬프트를 열고 하 고 다음 명령을 실행 합니다.
winrm quickconfig
메시지에 응답 하 고 대상 컴퓨터를 다시 시작 합니다. 대상 컴퓨터는 수집기 컴퓨터와 동일한 도메인에 없는 경우 신뢰할 수 있는 호스트도 정의 해야 합니다. 방법:
수집기 컴퓨터에서 다음이 명령 중 하나를 실행 합니다.
Windows PowerShell 프롬프트에서
Set-Item -Force WSMan:\localhost\Client\TrustedHosts <target1>,<target2>,...
, 그리고 그 뒤의Set-Item -Force WSMan:\localhost\Client\AllowUnencrypted true
은(는) <target1> 등이 대상 컴퓨터의 이름 또는 IP 주소입니다.또는 명령 프롬프트에서 winrm set winrm/config/client @{TrustedHosts=<target1>,<target2>,...;AllowUnencrypted=true}
중요한
암호화되지 않은 통신을 설정하므로, 랩 환경 외부에서는 이렇게 하지 마십시오.
수집기 컴퓨터로 가서 "Windows PowerShell" 명령 중 하나를 실행해서 원격 연결을 테스트합니다.
대상 컴퓨터는 수집기 컴퓨터와 동일한 도메인에 있으면
New-PSSession -Computer <target> | Remove-PSSession
실행대상 컴퓨터가 동일한 도메인에 없는 경우,
New-PSSession -Computer <target> -Credential Administrator | Remove-PSSession
을 실행하면 자격 증명을 묻는 메시지가 표시됩니다.명령이 아무것도 반환하지 않으면, 원격 관리가 성공적으로 완료되었습니다.
대상 컴퓨터에서 관리자 권한 Windows PowerShell 프롬프트를 열고이 명령을 실행 합니다.
Enable-SbecBcd -ComputerName <target_name> -CollectorIP <ip> -CollectorPort <port> -Key <a.b.c.d>
여기서 <target_name>은(는) 대상 컴퓨터의 이름이며, <ip>는 수집기 컴퓨터의 IP 주소입니다. <포트>는 수집가 실행되는 위치의 포트 번호입니다. <a.b.c.d> 키는 통신에 필요한 암호화 키를 점으로 구분된 4개의 영숫자 문자열을 구성합니다. 이 키 수집기 컴퓨터에서 사용 됩니다. 키를 입력하지 않으면, 시스템이 임의의 키를 생성합니다. 수집기 컴퓨터에 필요하므로 그 키를 기록해 두십시오.
수집기 컴퓨터가 이미 설정된 경우, 새로운 대상 컴퓨터 정보를 사용하여 수집기 컴퓨터의 구성 파일을 업데이트하세요. 자세한 내용은 '수집기 컴퓨터 구성' 섹션을 참조하세요.
대상 컴퓨터에서 로컬 이벤트 전송을 활성화하려면
관리자 권한 명령 프롬프트를 시작 하 고이 명령을 실행 합니다.
bcdedit /event 예
bcdedit /eventsettings net hostip:1.2.3.4 포트: 50000 key:a.b.c.d
여기 1.2.3.4는 예입니다. 수집기 컴퓨터의 IP 주소로 대체합니다. 또한 50000을 통신에 필요한 암호화 키가 있는 a.b.c.d 및 수집기가 실행될 포트 번호와 교체합니다. 이 키 수집기 컴퓨터에서 사용 됩니다. 키를 입력하지 않으면 시스템이 임의의 키를 생성합니다. 이 키는 수집기 컴퓨터에 필요하니 잘 기록해 두십시오.
이미 설정된 수집기 컴퓨터가 있는 경우, 새 대상 컴퓨터에 대한 정보로 수집기 컴퓨터의 구성 파일을 업데이트하십시오. 자세한 내용은 '수집기 컴퓨터 구성' 섹션을 참조하세요.
이벤트 전송 자체를 사용 하도록 설정 했으므로 실제로 해당 전송을 통해 ETW 이벤트를 전송 하는 시스템을 활성화 해야 합니다.
원격으로 ETW 이벤트 전송을 활성화하려면
수집기 컴퓨터에서 관리자 권한 Windows PowerShell 프롬프트를 엽니다.
Enable-SbecAutologger -ComputerName <target_name>
실행, <target_name>이(가) 대상 컴퓨터의 이름입니다.
Windows PowerShell 원격을 설정할 수 없는 경우, 대상 컴퓨터에서 직접 이벤트를 보내는 기능을 항상 활성화할 수 있습니다.
ETW 이벤트를 로컬 전송을 통해 보내도록 설정하려면
대상 컴퓨터에서 Regedit.exe를 시작하고 다음 레지스트리 키를 찾습니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\AutoLogger 다양 한 로그 세션은이 키 아래에 하위 키로 나열 됩니다. 플랫폼 설정, NT 커널 로거, 및 Microsoft-Windows-Setup는 설정 및 부팅 이벤트 수집에 사용할 수 있는 옵션이지만, 권장되는 옵션은 이벤트로그-시스템입니다. 이러한 키는 AutoLogger 세션 구성 및 시작에 자세히 설명되어 있습니다.
이벤트 로그 시스템 키에서 LogFileMode의 값을 0x10000180에서 0x10080180로 변경합니다. 이러한 설정의 세부 정보에 대해 자세한 내용은 로깅 모드 상수를 참조하십시오.
필요에 따라 버그 검사 데이터를 수집기 컴퓨터로 전달할 수 있도록 활성화할 수 있습니다. 이 작업을 수행하려면 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 레지스트리 키를 찾아 디버그 인쇄 필터라는 키를 생성하고, 값으로 0x1을 설정하십시오.
대상 컴퓨터를 다시 시작 합니다.
네트워크 어댑터를 선택합니다.
대상 컴퓨터에 둘 이상의 네트워크 어댑터가 있는 경우 첫 번째 표에 나열 된 지원 KDNET 드라이버를 선택 합니다. 다음이 단계를 사용 하 여 설치 이벤트를 전달 하기 위해 사용 하 여 특정 네트워크 어댑터를 지정할 수 있습니다.
네트워크 어댑터를 지정 하려면
대상 컴퓨터에서 디바이스 관리자를 열고, 네트워크 어댑터를 확장한 다음, 사용하려는 네트워크 어댑터를 찾아 마우스 오른쪽 버튼을 클릭합니다.
열리는 메뉴에서 속성을 클릭한 다음 세부 정보 탭을 클릭합니다. 속성 필드의 메뉴를 확장하고 스크롤하여 위치 정보를 찾습니다(목록은 사전순이 아닐 수 있음). 값은 PCI 버스 X, 디바이스 Y, 함수 Z 형식의 문자열입니다. X.Y.Z를 기록합니다. 이는 다음 명령에 필요한 버스 매개 변수입니다.
이러한 명령 중 하나를 실행 합니다.
관리자 권한으로 상승된 Windows PowerShell 프롬프트:
Enable-SbecBcd -ComputerName <target_name> -CollectorIP <ip> -CollectorPort <port> -Key <a.b.c.d> -BusParams <X.Y.Z>
관리자 권한 명령 프롬프트에서: bcdedit /eventsettings net hostip:aaa 포트: 50000 키: bbb busparams:X.Y.Z
대상 컴퓨터 구성의 유효성을 검사합니다
대상 컴퓨터에서 설정을 확인 하려면 관리자 권한 명령 프롬프트를 열고 실행 bcdedit /enum합니다. 이 작업이 완료되면 bcdedit /eventsettings를 실행합니다. 다음 값을 다시 확인 수 있습니다.
키
Debugtype = NET
Hostip = <수집기의 IP 주소>
포트 = <수집기가 사용할 수 있도록 지정된 포트 번호>
DHCP = 예
설정했는지 확인하십시오 bcdedit /event, 왜냐하면 /debug 및 /event는 서로 사용할 수 없기 때문입니다. 둘 중 하나 에서만 실행할 수 있습니다. 마찬가지로, /eventsettings /debug 또는 /dbgsettings /event와 혼합할 수 없습니다.
또한 직렬 포트에 설정하면 이벤트 수집이 작동하지 않는다는 점을 유의하십시오.
수집기 컴퓨터를 구성합니다.
수집기 서비스 이벤트를 수신 하 고 ETL 파일에 저장 합니다. 이러한 ETL 파일은 이벤트 뷰어, 메시지 분석기, Wevtutil 및 Windows PowerShell cmdlet과 같은 다른 도구로 읽을 수 있습니다.
ETW 형식을 허용 하지 않으면 대상 컴퓨터 이름을 지정할 수 있으므로 각 대상 컴퓨터에 대 한 이벤트를 별도 파일에 저장 해야 합니다. 표시 도구는 컴퓨터 이름을 표시할 수 있지만, 이는 도구가 실행되는 컴퓨터의 이름입니다.
각 대상 컴퓨터는 보다 정확하게 ETL 파일의 링이 할당됩니다. 각 파일 이름에는 사용자가 구성하는 최대값(최대 999)까지 000부터 시작하는 인덱스가 포함됩니다. 파일에서 구성 된 최대 크기에 도달 하면 다음 파일에 쓰기 이벤트를 전환 합니다. 가능한 가장 높은 파일 이후에는 파일 인덱스 000으로 다시 전환됩니다. 이러한 방식으로 파일이 자동으로 삭제되어 디스크 공간 사용을 제한합니다. 디스크 사용량을 더욱 제한하려면 추가 외부 보존 정책을 설정할 수도 있습니다. 예를 들어, 설정된 일 수보다 오래된 파일을 삭제할 수 있습니다.
수집된 ETL 파일은 일반적으로 c:\ProgramData\Microsoft\BootEventCollector\Etl 디렉터리에 보관됩니다 (추가 하위 디렉터리가 있을 수 있음). 마지막으로 수정한 시간으로 정렬 하 여 가장 최근의 로그 파일을 찾을 수 있습니다. 또한 수집기가 새 파일로 쓰기를 전환할 때마다 기록하는 상태 로그가 있습니다 (보통 c:\ProgramData\Microsoft\BootEventCollector\Logs에 저장됩니다).
수집기에 대한 정보를 기록하는 수집기 로그도 있습니다. ETW 형식(해당 이벤트가 Windows 로그 서비스에 보고되는 형식, 기본값)으로 이 로그를 유지하거나, 파일(일반적으로 c:\ProgramData\Microsoft\BootEventCollector\Logs)에 저장할 수 있습니다. 파일을 사용하면 많은 데이터를 생성하는 자세한 모드를 활성화하려는 경우 유용할 수 있습니다. 명령줄에서 수집기를 실행 하 여 표준 출력에 쓸 로그를 설정할 수 있습니다.
수집기 구성 파일 만들기
서비스를 사용하도록 설정하면 세 개의 XML 구성 파일이 생성되어 c:\ProgramData\Microsoft\BootEventCollector\Config에 저장됩니다.
Active.xml 이 파일에는 수집기 서비스의 현재 활성 구성을 포함 합니다. 설치 직후 이 파일의 내용은 Empty.xml과 동일합니다. 새 수집기 구성을 설정 하는 경우이 파일에 저장 합니다.
Empty.xml 이 파일에는 최소한의 구성 요소와 해당 기본값이 포함되어 있습니다. 컬렉션을 사용하도록 설정하지 않으며, 수집기 서비스가 대기 모드에서 시작할 수 있도록 허용합니다.
Example.xml 이 파일은 예제와 설명이 가능한 구성 요소를 제공 합니다.
최대 파일 크기를 선택합니다.
파일 크기 제한을 설정 해야 할 결정 사항 중 하나입니다. 최상의 파일 크기 제한을 이벤트 및 사용 가능한 디스크 공간이 예상된 볼륨에 따라 달라 집니다. 더 작은 파일은 이전 데이터 정리의 관점에서 더 편리 합니다. 그러나 각 파일에는 64KB 헤더의 오버헤드가 있으며 결합된 기록을 확보하기 위해 많은 파일을 읽는 것이 불편할 수 있습니다. 절대 최소 파일 크기 제한은 256KB입니다. 적절 한 실제 파일 크기 제한을 1MB 이상 이어야 합니다 10MB는 아마도 좋은 일반적인 값입니다. 더 높은 한도 많은 이벤트를 예상 하는 경우 적절 한 수 있습니다.
구성 파일에 관해 염두에 두어야 할 여러 세부 사항이 있습니다.
대상 컴퓨터의 주소입니다. IPv4 주소, MAC 주소 또는 SMBIOS GUID를 사용할 수 있습니다. 사용 하는 주소를 선택할 때 이러한 요소를 염두에 두십시오.
IPv4 주소는 IP 주소의 정적 할당 적합합니다. 그러나도 고정 IP 주소는 DHCP를 통해 사용할 수 있어야 합니다.
사전에 MAC 주소 또는 SMBIOS GUID가 알려진 경우에는, IP 주소가 동적으로 할당되는 상황에서 편리합니다.
IPv6 주소는 NET 이벤트 프로토콜에서 지원 되지 않습니다.
여러 가지 방법으로 컴퓨터를 식별할 수 있습니다. 예를 들어, 물리적 하드웨어를 교체하려는 경우 기존 및 새로운 MAC 주소를 모두 입력할 수 있으며, 둘 중 어느 것이든 수락됩니다.
수집기 컴퓨터와의 통신에 사용 되는 암호화 키
대상 컴퓨터의 이름입니다. 컴퓨터 이름으로 IP 주소, 호스트 이름 또는 다른 이름을 사용할 수 있습니다.
사용할 ETL 파일의 이름과 해당 파일의 링 크기 구성.
구성 파일을 만들려면
관리자 권한 Windows PowerShell 프롬프트를 열고 %SystemDrive%\ProgramData\Microsoft\BootEventCollector\Config 디렉터리를 변경 합니다.
입력하고
notepad .\newconfig.xml
, ENTER 키를 누르세요.이 예제 구성을 메모장 창에 복사하세요.
<collector configVersionMajor=1 statuslog=c:\ProgramData\Microsoft\BootEventCollector\Logs\statuslog.xml> <common> <collectorport value=50000/> <forwarder type=etl> <set name=file value=c:\ProgramData\Microsoft\BootEventCollector\Etl\{computer}\{computer}_{#3}.etl/> <set name=size value=10mb/> <set name=nfiles value=10/> <set name=toxml value=none/> </forwarder> <target> <ipv4 value=192.168.1.1/> <key value=a.b.c.d/> <computer value=computer1/> </target> <target> <ipv4 value=192.168.1.2/> <key value=d1.e2.f3.g4/> <computer value=computer2/> </target> </common> </collector>
참고
루트 노드는 <수집기>입니다. 해당 특성의 구성 파일 구문 버전 및 상태 로그 파일의 이름을 지정합니다.
<일반> 요소는 여러 대상을 함께 그룹화하여 해당 대상에 대한 공통 구성 요소를 지정합니다. 이는 사용자 그룹을 사용하여 여러 사용자에 대한 공통 권한을 지정하는 것과 매우 유사합니다.
<collectorport> 요소는 들어오는 데이터에 대 한 수집기를 수신 대기할 UDP 포트 번호를 정의합니다. Bcdedit에 대 한 대상 구성 단계에서 지정 된 것과 동일한 포트입니다. 수집기 포트를 하나만 지원 하 고 모든 대상에서 동일한 포트에 연결 해야 합니다.
<전달자> 요소는 대상 컴퓨터에서 수신하는 ETW 이벤트는 전달하는 방법을 지정합니다. ETL 파일에 기록 하는 전달자의 한 가지 형식만이 있습니다. 매개 변수는 파일 이름 패턴, 링 내 각 파일에 대한 크기 제한, 각 컴퓨터의 링 크기를 지정합니다. toxml 설정은 ETW가 수신되면 XML로 전환되지 않고 이진 형식으로 작성되도록 지정합니다. 이벤트를 XML로 부여할지 여부의 결정에 대한 정보는 XML 이벤트 전환 섹션을 참조하세요. 파일 이름 패턴에는 다음과 같은 대체어가 포함됩니다: {컴퓨터}는 컴퓨터 이름을, {#3}은 링의 파일 순서 인덱스를 나타냅니다.
이 예제에서는 파일에 두 개의 대상 컴퓨터가 <대상> 요소로 정의됩니다. 각 정의는 <ipv4>를 사용하여 IP 주소를 지정하지만 MAC 주소(예:
<mac value=11:22:33:44:55:66/>
또는<mac value=11-22-33-44-55-66/>
) 또는 SMBIOS GUID(예:<guid value={269076F9-4B77-46E1-B03B-CA5003775B88}/>
)를 사용하여 대상 컴퓨터를 식별할 수도 있습니다. 또한 암호화 키(대상 컴퓨터에서 Bcdedit를 사용하여 지정하거나 생성된 것)와 컴퓨터 이름을 기록해 두십시오.각 대상 컴퓨터에 대한 세부 정보를 각기 별도로 구성 파일의 <대상> 요소에 입력한 후, Newconfig.xml을 저장하고 메모장을 닫습니다.
$result = (Get-Content .\newconfig.xml | Set-SbecActiveConfig); $result
을(를) 사용하여 새 구성을 적용합니다. 출력은 성공 필드 true로 돌아가야 합니다. 다른 결과 얻으려면이 항목의 문제 해결 섹션을 참조 합니다.
(Get-SbecActiveConfig).text
로 현재 활성 구성을 항상 확인할 수 있습니다.
$result = (Get-Content .\newconfig.xml | Check-SbecConfig); $result
을(를) 사용하여 구성 파일의 유효성 검사를 수행할 수 있습니다.
새 구성을 적용하기 위한 Windows PowerShell 명령은 서비스 재시작 없이 자동으로 업데이트합니다. 그러나, 다음 명령 중 하나를 사용하여 서비스를 수동으로 다시 시작할 수 있습니다.
PowerShell이 포함된 Windows:
Restart-Service BootEventCollector
일반 명령 프롬프트에: BootEventCollector 중지 sc; sc BootEventCollector 시작
Nano 서버를 대상 컴퓨터로 구성하기
Nano Server가 제공하는 최소한의 인터페이스로 인해 때때로 문제를 진단하기가 어려울 수 있습니다. Nano 서버 이미지를 설정하여 자동으로 설치 및 부팅 이벤트 수집에 참여하고, 사용자가 추가로 개입하지 않고도 진단 데이터를 수집기 컴퓨터로 전송할 수 있습니다. 이렇게 하려면 다음 단계를 수행하세요.
Nano Server를 대상 컴퓨터로 구성하려면
기본 Nano 서버 이미지를 만듭니다. 자세한 내용은 Nano 서버 시작하기를 참조하십시오.
이 항목의 수집기 컴퓨터 구성 섹션에서와 같이 수집기 컴퓨터를 설정 합니다.
진단 메시지를 보낼 수 있도록 AutoLogger 레지스트리 키를 추가 합니다. 이렇게 하려면 1단계에서 만든 Nano Server VHD를 탑재하고, 레지스트리 하이브를 로드한 후 특정 레지스트리 키를 추가합니다. 이 예에서 Nano Server 이미지는 C:\NanoServer에 있습니다. 경로는 다를 수 있으므로, 단계를 적절하게 조정해야 합니다.
수집기 컴퓨터에서 ..\Windows\System32\WindowsPowerShell\v1.0\Modules\BootEventCollector 폴더를 복사한 다음, Nano Server VHD를 수정하는 데 사용할 컴퓨터의 ..\Windows\System32\WindowsPowerShell\v1.0\Modules 디렉터리에 붙여 넣으십시오.
승격 된 권한으로 Windows PowerShell 콘솔을 시작 하 고 실행
Import-Module BootEventCollector
합니다.AutoLoggers 사용할 수 있도록 Nano 서버 VHD 레지스트리를 업데이트 합니다. 이를 위해
Enable-SbecAutoLogger -Path C:\NanoServer\Workloads\IncludingWorkloads.vhd
를 실행합니다. 가장 일반적인 설치 및 부팅 이벤트에 대한 기본 목록을 추가하며, 다른 이벤트에 대해서는 이벤트 추적 세션 제어를 참고하실 수 있습니다.
Nano 서버 이미지에서 이벤트 플래그를 활성화하고 진단 이벤트가 올바른 서버로 전송되도록 수집기 컴퓨터를 설정하기 위해 BCD 설정을 업데이트합니다. Note 수집기 컴퓨터의 IPv4 주소, TCP 포트 및 암호화 키를 기록하세요. 이 내용은 수집기 Active.XML 파일에서 구성된 것으로, 다른 곳에서 설명되어 있습니다. 관리자 권한으로 Windows PowerShell 콘솔에서 이 명령을 사용합니다.
Enable-SbecBcd -Path C:\NanoServer\Workloads\IncludingWorkloads.vhd -CollectorIp 192.168.100.1 -CollectorPort 50000 -Key a.b.c.d
수집기 컴퓨터에서 Active.XML 파일에 IPv4 주소 범위, 특정 IPv4 주소 또는 Nano 서버의 MAC 주소를 추가하여 Nano 서버 컴퓨터에서 보낸 이벤트를 받도록 수집기 컴퓨터 업데이트합니다(이 항목의 수집기 컴퓨터 구성 섹션 참조).
이벤트 수집기 서비스를 시작합니다.
수집기 컴퓨터에 유효한 구성 파일이 저장되고 대상 컴퓨터가 구성되면, 대상 컴퓨터를 다시 시작하는 즉시 수집기에 연결되어 이벤트가 수집됩니다.
(이 서비스에 의해 수집 된 설정 및 부팅 데이터 구분) 수집기 서비스 자체에 대 한 로그는 Microsoft-Windows-BootEvent-수집기/관리자에서 찾을 수 있습니다. 이벤트에 대 한 그래픽 인터페이스에 대 한 이벤트 뷰어를 사용 합니다. 새 보기를 만들고 애플리케이션 및 서비스 로그를 확장한 다음 Microsoft와 Windows를 차례로 확장합니다. BootEvent-Collector를 찾고 확장하여 Admin을 찾으세요.
Windows PowerShell에서:
Get-WinEvent -LogName Microsoft-Windows-BootEvent-Collector/Admin
일반 명령 프롬프트에서: wevtutil qe Microsoft-Windows-BootEvent-Collector/Admin
문제 해결
기능의 설치 문제 해결
오류 | 오류 설명 | 증상 | 잠재적인 문제 |
---|---|---|---|
Dism.exe | 87 | 기능 이름 옵션은 이 컨텍스트에서 인식되지 않습니다. | 기능의 이름을 잘못 입력한 경우 발생할 수 있습니다. 철자가 정확한지 확인하고 다시 시도하세요. 이 기능은 사용 중인 운영 체제 버전에서 사용할 수 있는지 확인합니다. Windows PowerShell에서 dism /online /get-features | ?{$_ -match boot} 를 실행합니다. 일치하는 항목이 반환되지 않으면, 아마도 이 기능을 지원하지 않는 버전을 실행하고 있을 것입니다. |
Dism.exe | 0x800f080c |
<name> 기능을 알 수 없습니다. |
위와 동일 |
수집기 문제 해결
로깅: 수집기는 자체 이벤트를 ETW 공급자 Microsoft-Windows-BootEvent-Collector로 기록합니다. 문제가 있을 때 수집기에 대한 문제 해결 방법을 먼저 확인할 장소입니다. 애플리케이션 및 서비스 로그 > Microsoft > Windows > BootEvent-Collector > Admin 아래의 이벤트 뷰어에서 찾을 수 있습니다. 또는 다음 명령 중 하나를 사용하여 명령 창에서 읽을 수 있습니다.
일반 명령 프롬프트에: wevtutil qe Microsoft-Windows-BootEvent-Collector/Admin
Windows PowerShell 프롬프트에서: Get-WinEvent -LogName Microsoft-Windows-BootEvent-Collector/Admin
(가장 오래된 이벤트가 먼저 나오는 시간 순서대로 목록을 반환하도록 -Oldest
을 추가할 수 있습니다)
오류, 경고, 정보(기본값), 상세, 디버그 순서로 로그의 세부 수준을 조정할 수 있습니다. 정보보다 더 자세한 수준은 대상 컴퓨터가 연결되지 않을 경우 발생하는 문제를 진단하는 데 유용하지만, 수많은 데이터를 생성할 수 있으므로 주의해서 사용해야 합니다.
구성 파일의 <수집기> 요소에서 최소 로그 수준을 설정하십시오. 예: <collector configVersionMajor=1 minlog=verbose>.
매우 상세한 기록 수준은 각 패킷이 처리되는 동안 수신되는 모든 패킷에 대한 기록을 남깁니다. 디버그 수준은 더 많은 처리 세부 사항을 추가하고, 수신된 모든 ETW 패킷의 내용을 덤프합니다.
디버그 수준에서 일반적인 로깅 시스템에서에 보려고 하는 대신 파일에 로그를 쓰는 것이 유용할 수 있습니다. 이를 위해 구성 파일의 <수집기> 요소에 요소 추가:
<수집기 configVersionMajor=1 minlog=debug log=c:\ProgramData\Microsoft\BootEventCollector\Logs\log.txt>
수집기 문제 해결 권장된 방법:
먼저, 수집기가 대상에서 연결을 받았는지 확인하세요. (파일은 대상이 메시지 전송을 시작할 때만 생성됩니다.)
Get-SbecForwarding
이 대상에서 연결이 반환되면, 자동 기록기 설정에 문제가 있을 수 있습니다. 아무것도 반환하지 않으면, 문제는 처음부터 KDNET 연결에 있습니다. KDNET 연결 문제를 진단하려면, 양쪽 끝에서 연결을 확인해 보세요. 즉, 수집기와 대상에서 연결을 점검해 보세요.
수집기에서 확장 진단을 보려면 이를 구성 파일의 <수집기> 요소에 추가: <collector ... minlog=verbose> 이는 수신된 모든 패킷에 대한 메시지를 사용하도록 설정합니다.
모든 패킷이 전혀 수신 되는지 여부를 확인 합니다. 선택적으로, 로그를 ETW 대신 세부 정보 표시 모드로 파일에 직접 작성하는 것이 좋습니다. 이를 위해 구성 파일의 <수집기> 요소에 추가: <수집기 ... minlog=verbose log=c:\ProgramData\Microsoft\BootEventCollector\Logs\log.txt>
받은 패킷에 관한 메시지를 이벤트 로그에서 확인하세요. 모든 패킷이 전혀 수신 되는지 여부를 확인 합니다. 패킷을 수신했으나 잘못된 경우, 세부 정보에 대한 이벤트 메시지를 확인하십시오.
대상 쪽에서 KDNET 레지스트리에 일부 진단 정보를 기록 합니다. 메시지를 찾기 위해 HKLM\SYSTEM\CurrentControlSet\Services\kdnet을 확인하십시오. KdInitStatus(DWORD)는 성공 시 = 0이며 오류 KdInitErrorString = 오류에 대한 설명에 오류 코드를 표시합니다(오류가 없으면 정보 메시지도 포함됨).
대상 장치에서 Ipconfig.exe를 실행하고 보고된 장치 이름을 확인합니다. KDNET가 적절히 로드된 경우, 원래 공급업체의 카드 이름 대신 kdnic 같은 디바이스 이름이어야 합니다.
DHCP는 대상에 대해 구성 되어 있는지 확인 합니다. KDNET DHCP를 절대적으로 필요합니다.
수집기가 대상과 동일한 네트워크에 있는지 확인하십시오. 그렇지 않으면, 라우팅이 올바르게 구성되어 있는지 확인하세요. 특히 DHCP의 기본 게이트웨이 설정을 확인하십시오.
연결 상태
현재 설정된 연결 목록과 데이터가 전달되는 위치에 대한 정보를 확인할 수 있습니다 Get-SbecForwarding
.
연결 Get-SbecHistory
와 관련된 상태 변경의 최근 기록을 얻을 수도 있습니다.
새 구성을 설정 하는 문제 해결
Windows PowerShell 명령을 사용하여 구성을 적용한 경우 $result = (Get-Content .\newconfig.xml | Set-SbecActiveConfig); $result
, 변수 $result
는 배포에 대한 정보를 포함합니다. 이 변수에서 서로 다른 정보를 쿼리할 수 있습니다.
$result.ErrorString
을 사용하여 오류에 대한 정보를 가져오세요. 여기에 오류가 보고되면, 새로운 구성이 적용되지 않으며 기존 구성은 변경되지 않습니다.
경고를 $result.WarningString
로 받습니다.
구성의 세부 사항 정보를 $result.InfoString
에서 얻으십시오.
$result | fl *
을(를) 사용하여 전체 결과를 얻을 수 있습니다.
또는 결과를 변수에 저장하지 않으려면 Get-Content .\newconfig.xml | Set-SbecActiveConfig | fl *
을 사용할 수 있습니다.
대상 컴퓨터의 문제 해결
오류 | 오류 설명 | 잠재적인 문제 |
---|---|---|
대상 컴퓨터 | 대상은 수집기에 연결 되지 않습니다. | 대상 컴퓨터를 구성한 후 다시 시작하지 않았습니다. 대상 컴퓨터를 다시 시작 합니다. 대상 컴퓨터에 잘못된 BCD 설정이 있습니다. 유효성 검사 대상 컴퓨터 설정 섹션의 설정을 확인합니다. 필요에 따라 수정한 후, 대상 컴퓨터를 다시 시작합니다. KDNET/EVENT-NET 드라이버는 네트워크 어댑터에 연결할 수 없거나 잘못된 네트워크 어댑터에 연결되어 있습니다. Windows PowerShell에서 참고 항목: 위 수집기를 해결하기 위해 제안된 접근 방안, 특히 5단계부터 8단계. |
수집가 | VM을 마이그레이션한 후로, 더 이상 이벤트가 표시되지 않습니다. | 수집기 컴퓨터의 IP 주소 변경 되지 않은 것을 확인 합니다. 해당하는 경우, 원격 전송을 통해 ETW 이벤트 전송을 활성화하는 방법을 검토하십시오. |
수집가 | ETL 파일 생성 되지 않습니다. |
Get-SbecForwarding 은/는 대상이 오류 없이 연결되었음을 보여주지만, ETL 파일이 생성되지 않습니다.대상 컴퓨터에서 아직 데이터를 보내지 않았을 가능성이 있습니다. ETL 파일은 데이터를 받을 때에만 생성됩니다. |
수집가 | 이벤트는 ETL 파일에는 표시 되지 않습니다. | 대상 컴퓨터에서 이벤트를 보냈지만, Message Analyzer의 이벤트 뷰어로 ETL 파일을 읽을 때 그 이벤트가 나타나지 않습니다. 그 이벤트는 아직 버퍼에 있을 수 있습니다. 이벤트는 64KB의 전체 버퍼가 모이거나, 약 10-15초 동안 새로운 이벤트가 발생하지 않는 경우까지 ETL 파일에 기록되지 않습니다. 제한 시간이 만료될 때까지 기다리거나 버퍼를 Save-SbecInstance 으로 플러시합니다.이벤트 매니페스트를 수집기 컴퓨터 또는 이벤트 뷰어 또는 Message Analyzer가 실행되는 컴퓨터에서 사용할 수 없습니다. 이 경우 수집기가 이벤트를 처리하지 못할 수 있거나(수집기 로그를 확인하십시오), 뷰어가 이를 표시하지 못할 수 있습니다. 수집기 컴퓨터에 설치 된 모든 매니페스트는 대상 컴퓨터에 설치 하기 전에 수집기 컴퓨터에서 업데이트를 설치 하는 것이 좋습니다. |