posted by jgpaper 2017. 10. 26. 10:48

Azure Stack 진단 도구 로그 수집 구성은 아래와 같습니다.

Azure Stack 진단을 위한 로그 수집 방법은 두가지가 있습니다. Event Tracing for Windows (ETW) 를 이용한 로그 수집 방법과 PowerShell 에서 Get-AzureStackLog 명령을 이용한 방법이 있습니다.

Event Tracing for Windows (ETW) 로그 수집

 기본적으로 백그라운드로 동작 하고 있습니다.

  • 기본 크기 제한 상태로 실행됩니다. 각 파일 기본 크기는 200MB이며 주기적으로 2 마다 파일 크기를 검사하여 200 MB 초과시 새로운 파일로 생성되어 저장 합니다. 또한 이벤트 세션당 생성 된 총 파일 크기에 대해 8gb (구성 가능) 제한되어 있으며, 크기가 8gb 도달 하면 파일을 만들 때 가장 오래된 파일 삭제 합니다.
  • 로그파일은 기본적으로 5일 동안 보관 합니다.
  • 기본 구성은 JSON 파일 형태로 되어 있으며, C:\TraceCollector\Configuration 들어 있습니다.
  • JSON 파일을 수정하여 로그의 보존 기간 및 크기 제한을 변경 할 있으며, 변경 후에는 Microsoft Azure Stack 추적 수집기 서비스를 다시 시작 해야합니다.

[ TraceCollector 폴더 ]

"C:\TraceCollector\Configuration" 리소스 별로 로그 수집 파일이 정의 되어 있습니다.

로그 수집 파일 "TraceConfiguration.Template.json" 기본 내용은 아래와 같습니다.

MaxDaysOfFiles

파일의 보존 기간 설정, 이전 로그 파일이 삭제됩니다.

MaxSizeInMB

단일 파일의 크기 설정, 크기에 도달하면 새로운 .etl 파일이 만들어집니다.

TotalSizeInMB

이벤트 세션에서 생성 된 .etl 파일의 전체 크기 설정, 총 파일 크기가이 매개 변수 값보다 크면 이전 파일이 삭제됩니다.

PowerShell 에서 Get-AzureStackLog 명령을 이용한 로그 수집

사용자 정의 위치의 zip 파일 형태로 저장되면, 문제 해결 위해 기술 지원팀에서 로그 파일 요구시 Get-AzureStackLog 명령을 실행 해 전달 합니다. 로그에 개인 식별 정보가 있어서 파일 공개에 주의 해야 합니다.

수집되어지는 주요 로그 유형

    • Azure Stack deployment logs
    • Windows event logs
    • Cluster logs
    • Storage diagnostic logs

VM 생성 문제를 해결 위한 로그 유형

    • ETW logs
    • Panther logs

다양한 로그 수집 예제

  • 모든 역할에 대한 모든 로그 수집

 Get-AzureStackLog -OutputPath C:\AzureStackLogs

아래 위치에 모든 로그가 수집된 것을 확인 있습니다.

  • Virtual Machines 및 BareMetal 역할에서 로그 수집

Get-AzureStackLog -OutputPath C:\AzureStackLogs -FilterByRole VirtualMachines,BareMetal

 

  • 지난 8 시간 동안의 로그 파일에 대한 날짜 필터링과 함께 Virtual Machines 및 BareMetal 역할에서 로그  수집

Get-AzureStackLog -OutputPath C:\AzureStackLogs -FilterByRole VirtualMachines,BareMetal -FromDate (Get-Date).AddHours(-8)

 

  • Virtual Machines 및 BareMetal 역할에서 로그를 수집 (8 시간 전부터 2 시간 전까지의 기간 동안 로그 파일에 대한 날짜 필터링 사용)

Get-AzureStackLog -OutputPath C:\AzureStackLogs -FilterByRole VirtualMachines,BareMetal -FromDate (Get-Date).AddHours(-8) -ToDate (Get-Date).AddHours(-2)

 

Azure Stack 통합 시스템에서 Get-AzureStackLog를 실행

통합 시스템에서 로그 수집 도구를 실행하려면 PEP (Privileged End Point)에 대한 액세스 권한이 있어야 합니다. 로그 수집 위해 PEP를 사용하는 제 스크립트는 다음과 같습니다.

$ip = "<IP OF THE PEP VM>" # You can also use the machine name instead of IP here.

 

$pwd= ConvertTo-SecureString "<CLOUD ADMIN PASSWORD>" -AsPlainText -Force

$cred = New-Object System.Management.Automation.PSCredential ("<DOMAIN NAME>\CloudAdmin", $pwd)

 

$shareCred = Get-Credential

 

$s = New-PSSession -ComputerName $ip -ConfigurationName PrivilegedEndpoint -Credential $cred

 

$fromDate = (Get-Date).AddHours(-8)

$toDate = (Get-Date).AddHours(-2)  #provide the time that includes the period for your issue

 

Invoke-Command -Session $s {    Get-AzureStackLog -OutputPath "\\<HLH MACHINE ADDREESS>\c$\logs" -OutputSharePath "<EXTERNAL SHARE ADDRESS>" -OutputShareCredential $using:shareCred  -FilterByRole Storage -FromDate $using:fromDate -ToDate $using:toDate}

 

if($s)

{

    Remove-PSSession $s

}

  • OutputPath매개 변수를 HLH 시스템의 위치로 지정합니다. 해당 위치가 암호화되어 있는지 확인합니다.
  • OutputSharePath과 OutputShareCredential선택 사항으로 외부 공유 폴더에 로그를 업로드 할 때 사용합니다. 매개 변수 OutputPath 사용 있으며 OutputPath 지정하지 않으면 로그 수집 도구가 PEP VM의 시스템 드라이브를 사용하여 저장합니다. 드라이브 공간이 제한되어 있기 때문에 스크립트가 실패 할 수 있습니다.
  • FromDate와 ToDate매개 변수를 사용하여 특정 기간의 로그를 수집 할 수 있습니다. 이는 통합 시스템에 업데이트 패키지를 적용한 후 로그를 수집하는 시나리오에 유용 할 수 있습니다.

주요 매개 변수

  • FromDate 및 ToDate 지정되지 않으면 기본적으로 지난 40 시간 동안 로그를 수집 합니다.
  • TimeOutInMinutes 로그 수집 제한 시간으로 기본 값은 150 (2.5 시간) 입니다.
  • FilterByRole 아래 다양한 필터를 이용하여 로그 수집 할 수 있습니다 . 

[ FilterByRole의 다양한 필터 ]

ACSMigrationService, ACSMonitoringService, ACSSettingsService, ACS, ACSFabric, ACSFrontEnd, ACSTableMaster, ACSTableServer, ACSWac, ADFS, ASAppGateway, BareMetal, BRP, CA, CPI, CRP, DeploymentMachine, DHCP, Domain, ECE, ECESeedRing, FabricRing, FabricRingServices, FRP, Gateway, HealthMonitoring, HRP, IBC, InfraServiceController, KeyVaultAdminResourceProvider, KeyVaultControlPlane, KeyVaultDataPlane, NC, NonPrivilegedAppGateway, NRP, SeedRing, SeedRingServices, SLB, SQL, SRP, Storage, StorageController, URP, UsageBridge, VirtualMachines, WAS, WASPUBLIC, WDS

  • Get-AzureStackLog_Output.log 파일은 로그 수집 문제 해결을 위해 사용할 있는 파일 입니다.

  • 모든 인프라 vm에 대 한 시스템 및 이벤트 로그는 Virtual Machines 역할에서 수집 됩니다.
  • 모든 호스트에 대 한 시스템 및 이벤트 로그는 baremetal 역할에서 수집 됩니다.
  • 장애 조치 (Failover) 클러스터 및 hyper-v 이벤트 로그는 저장소 역할에서 수집 됩니다.
  • acs 로그는 저장소 및 acs 역할에서 수집 됩니다.

자세한 내용은 Azure Stack diagnostics tools 사이트를 방문 하십시오.