로그 수집에 PowerShell을 사용하려면 Azure 로컬 인스턴스 내의 Send-DiagnosticData
모든 노드에서 cmdlet을 실행합니다. 이 cmdlet은 로그를 일시적으로 로컬로 복사합니다. 복사된 로그는 구문 분석되고 Microsoft로 전송된 다음 시스템에서 삭제됩니다.
PowerShell을 사용하여 로그를 수집할 때 고려해야 할 몇 가지 중요한 사항은 다음과 같습니다.
- cmdlet의
Send-DiagnosticData
완료 시간은 로그가 수집되는 역할, 지정된 기간 및 Azure 로컬 환경의 노드 수와 같은 요인에 따라 달라집니다.
- 매개 변수를 지정하지 않으면 cmdlet은
Send-DiagnosticData
이전 1시간 동안 모든 노드에서 데이터를 수집합니다.
다음 구문 Send-DiagnosticData
은 다음과 같습니다.
Send-DiagnosticData [[-FilterByRole] <string[]>] [[-FromDate] <datetime>] [[-ToDate] <datetime>] [[-CollectSddc] <bool>] [<CommonParameters>]
참조 정보는 Send-DiagnosticData
이 문서의 뒷부분에 있는 Send-DiagnosticData
명령 참조 섹션을 참조하세요.
예제 및 샘플 출력
다음은 다른 매개 변수와 함께 cmdlet을 사용하는 방법을 보여 주는 샘플 출력이 Send-DiagnosticData
있는 몇 가지 예제 명령입니다.
날짜 필터링을 사용하여 진단 데이터 보내기
이 예제에서는 지난 2시간 동안 로그 파일에 대한 날짜 필터링을 사용하여 진단 데이터를 보냅니다.
Send-DiagnosticData -FromDate (Get-Date).AddHours(-2) -ToDate (Get-Date)
이 명령의 샘플 출력은 다음과 같습니다.
PS C:\CloudDeployment\logs> Send-DiagnosticData -FromDate (Get-Date).AddHours(-2) -ToDate (Get-Date)
Converting FromDate and ToDate to UTC
FromDate in UTC is now 12/04/2023 19:14:18. ToDate in UTC is now 12/04/2023 21:14:18
The correlation Id is <Correlation-ID>. This is used to query for this log collection in the diagnostic pipeline.
Provide the below information to the customer support engineer working on your case.
AEORegion: eastus
AEODeviceARMResourceUri: /Subscriptions/<Subscription-ID>/resourceGroups/EDGECI-REGISTRATION/providers/Microsoft.AzureStackHCI/clusters/<cluster-name>
AEOClusterNodeArcResourceUri: /subscriptions/<Subscription-ID>/resourceGroups/EDGECI-REGISTRATION/providers/Microsoft.HybridCompute/machines/<v-host-name>
CorrelationId: <Correlation-ID>
Observability Agent is running.
Successfully submitted on-demand. Log collection Job Id: <Job-ID>. This is used to track the log collection with Get-LogCollectionHistory.
Current log collection status: Running
Waiting for log collection to complete...
==== CUT ==================== CUT =======
Log collection ended with status: Succeeded
PS C:\CloudDeployment\logs>
지정된 역할에 대한 진단 데이터 보내기
이 예제에서는 BareMetal 및 ECE에 대한 역할 필터링을 사용하여 진단 데이터를 보냅니다.
Send-DiagnosticData -FilterByRole BareMetal, ECE –CollectSddc $false
이 명령의 샘플 출력은 다음과 같습니다.
PS C:\Users\docsuser> Send-DiagnosticData -FilterByRole BareMetal, ECE –CollectSddc $false
FromDate parameter not specified. Setting to default value 12/04/2023 20:41:21
ToDate parameter not specified. Setting to default value 12/04/2023 21:41:21
Converting FromDate and ToDate to UTC
FromDate in UTC is now 12/04/2023 20:41:21. ToDate in UTC is now 12/04/2023 21:41:21
The correlation Id is <Correlation-ID>. This is used to query for this log collection in the diagnostic pipeline.
Provide the below information to the customer support engineer working on your case.
AEORegion: eastus
AEODeviceARMResourceUri: /Subscriptions/<Subscription-ID>/resourceGroups/EDGECI-REGISTRATION/providers/Microsoft.AzureStackHCI/clusters/cluster-e5c7b2aa9a36490f9567b432a0eb51f1
AEOClusterNodeArcResourceUri: /subscriptions/<Subscription-ID>/resourceGroups/EDGECI-REGISTRATION/providers/Microsoft.HybridCompute/machines/v-Host1
CorrelationId: <Correlation-ID>
Observability Agent is running.
Successfully submitted on-demand. Log collection Job Id: <Job-ID>. This is used to track the log collection with Get-LogCollectionHistory.
Current log collection status: Running
Waiting for log collection to complete...
==== CUT ==================== CUT =======
Log collection ended with status: Succeeded
PS C:\Users\docsuser>
로그 수집 기록 가져오기
수행한 모든 로그 컬렉션의 기록을 가져올 수 있습니다. 이 기록을 통해 로그 컬렉션의 종류, 로그 컬렉션의 크기, 로그 수집 시간 및 로그 수집 방법에 대해 알아볼 수 있습니다.
지난 90일 동안의 로그 컬렉션 기록을 얻으려면 다음을 입력합니다.
Get-LogCollectionHistory
cmdlet의 샘플 출력은 Get-LogCollectionHistory
다음과 같습니다. 매개 변수는 datetime
UTC 표준 시간대에 있습니다.
PS C:\CloudDeployment\logs> Get-LogCollectionHistory
Name Value
---- -----
TimeCollected 9/29/2022 5:08:14 PM +00:00
Status Succeeded
CollectionFromDate 9/29/2022 4:07:57 PM +00:00
CollectionToDate 9/29/2022 5:07:57 PM +00:00
LogCollectionId fdcd94c8-1bd2-4ec6-8612-c92d5abd9a84
Type OnDemand
LogUploadSizeMb 1598
UploadNumberOfFiles 1924
Directory
Location
Error
---------- ---------------------------------------------------------
TimeCollected 9/27/2022 11:57:25 PM +00:00
Status Succeeded
CollectionFromDate 9/27/2022 9:57:16 PM +00:00
CollectionToDate 9/27/2022 11:57:16 PM +00:00
LogCollectionId f3d8dcc6-901e-4c72-a3cc-210055e6f198
Type OnDemand
LogUploadSizeMb 1069
UploadNumberOfFiles 1941
Directory
Location
Error
PS C:\CloudDeployment\logs>
로컬 파일 공유에 로그 저장
네트워크 문제가 있거나 데이터를 Azure로 보내는 대신 로컬로 저장하려는 경우 로컬 SMB(서버 메시지 블록) 공유에 진단 로그를 저장할 수 있습니다.
로컬 공유에 로그를 저장하려면 다음 단계를 수행합니다.
다음 명령을 실행하여 공유를 만듭니다.
New-SMBShare -Name <share-name> -Path <path-to-share> -FullAccess Users -ChangeAccess 'Server Operators'
다음 명령을 실행하여 공유에 대한 PSCredentials를 만듭니다.
$user = "<username>"
$pass = "<password>"
$sec=ConvertTo-SecureString -String $pass -AsPlainText -Force
$shareCredential = New-Object System.Management.Automation.PSCredential ($user, $sec)
시스템의 각 노드에서 다음 명령을 실행하여 로그를 수집하고 로컬로 저장합니다.
Send-DiagnosticData -SaveToPath <path to share> -ShareCredential $shareCredential
로그를 저장한 SMB 공유에서 아웃바운드 연결이 있는 경우 다음 명령을 실행하여 로그를 Microsoft로 보낼 수 있습니다.
Send-DiagnosticData NoLogCollection -SupplementaryLogs <path-to-share> -ShareCredentail $shareCredential
Send-DiagnosticData
명령 참조
이 섹션에서는 매개 변수, 구문 및 사용 예제를 포함하여 참조 정보를 Send-DiagnosticData
제공합니다.
FromDate 및 ToDate
이러한 매개 변수를 사용하면 특정 기간 동안 로그를 수집할 수 있습니다.
Syntax
Send-DiagnosticData [[-FilterByRole] <string[]>] [[-FromDate] <datetime>] [[-ToDate] <datetime>] [[-CollectSddc] <bool>] [<CommonParameters>]
예제
$fromDate = Get-Date -Date "11/30/2023 18:35:00"
$toDate = Get-Date -Date "11/30/2023 19:35:00"
Send-DiagnosticData –FromDate $fromDate –ToDate $toDate
확장 버전
모두
FilterByRole
이 매개 변수를 사용하면 수집하려는 역할의 로그를 선택할 수 있습니다. 여러 역할을 지정할 수 있습니다. 로그를 필터링할 수 있는 사용 가능한 역할 목록은 로그 필터링에 사용할 수 있는 역할을 참조 하세요.
Syntax
Send-DiagnosticData [[-FilterByRole] <string[]>]
예제
Send-DiagnosticData –FilterByRole “ALM” -CollectSddc $false
확장 버전
모두
CollectSddc
SDDC(소프트웨어 정의 데이터 센터) 로그를 포함하거나 제외할지 여부를 결정합니다. 기본적으로 SDDC 로그가 포함됩니다. 제외하려는 경우 $false 설정합니다. SDDC 진단 도구를 사용하는 방법에 대한 자세한 내용은 시스템에 대한 진단 데이터 수집을 참조 하세요.
Syntax
Send-DiagnosticData [-CollectSddc <bool>]
예제
Send-DiagnosticData –CollectSddc $false
확장 버전
모두
BypassObsAgent
관찰성 에이전트를 바이패스할 때 로그는 로그 수집이 시작된 노드에서만 수집됩니다. 컬렉션의 레코드는 기록에 보관되지 않습니다.
Syntax
Send-DiagnosticData [-BypassObsAgent]
예제
Send-DiagnosticData –BypassObsAgent
확장 버전
모두
SaveToPath
이 매개 변수를 사용하면 진단 로그를 Microsoft로 전송하는 대신 호스트 컴퓨터의 지정된 경로에 저장할 수 있습니다.
Syntax
Send-DiagnosticData -SaveToPath <string> [-FilterByRole <string[]>] [-FromDate <datetime>] [-ToDate <datetime>] [-CollectSddc <bool>] [-SupplementaryLogs <string>] [-ShareCredential <pscredential>] [-BypassObsAgent] [<CommonParameters>]
예제
공유 경로 또는 매개 변수에 대한 호스트 SaveToPath
의 출력 경로를 제공할 수 있습니다.
Send-DiagnosticData –SaveToPath <output path>
Send-DiagnosticData –SaveToPath <share path>
매핑되지 않은 공유 경로를 사용하는 경우 매개 변수도 사용해야 -ShareCredential
합니다.
Send-DiagnosticData –SaveToPath <share path> -ShareCredential <credentials for share path>
,FromDate
, CollectSddc
FilterByRole
ToDate
SupplementaryLogs
ShareCredential
,, 등의 다른 매개 변수와 BypassObsAgent
함께 사용할 SaveToPath
수 있습니다.
Send-DiagnosticData –SaveToPath <output path> -FIlterByRole <role>
확장 버전
버전 1.0.2.0 이상
NoLogCollection
NoLogCollection
switch 매개 변수를 사용하면 임시 로그 집합을 Microsoft로 보낼 수 있습니다. 이 매개 변수를 사용하는 경우 다음 세부 정보를 고려합니다.
- 및
ShareCredential
매개 변수를 SupplementaryLogs
매개 변수와 BypassObsAgent
결합할 NoLogCollection
수 있습니다.
- 매개 변수는
SupplementaryLogs
.를 사용할 NoLogCollection
때 필수입니다. Microsoft로 보내야 하는 로그의 경로를 지정합니다.
- 공유 경로 또는 호스트의 출력 경로를 매개 변수에 전달할 수 있는 유연성이
SupplementaryLogs
있습니다. 매핑되지 않은 공유 경로를 사용하는 경우 매개 변수도 사용해야 -ShareCredential
합니다.
Syntax
Send-DiagnosticData -SupplementaryLogs <string> -NoLogCollection [-ShareCredential <pscredential>] [-BypassObsAgent] [<CommonParameters>]
예제
필수 매개 변수와 함께 사용합니다–NoLogCollection
.SupplementaryLogs
Send-DiagnosticData –NoLogCollection –SupplementaryPath <output path>
매핑되지 않은 공유 경로와 함께 사용 –NoLogCollection
:
Send-DiagnosticData –NoLogCollection –SupplementaryPath <share path>
-ShareCredential <credential to share path>
확장 버전
버전 1.0.2.0 이상
SupplementaryLogs
SupplementaryLogs 매개 변수를 사용하면 임시 로그를 Microsoft로 보낼 수 있습니다.
Syntax
다음과 같은 방법으로 사용할 수 있습니다.
SaveToPath
사용. 이 시나리오에서는 진단 로그와 임시 로그가 모두 수집되어 지정된 경로에 저장됩니다.
Send-DiagnosticData [-SupplementaryLogs <string>] -SaveToPath <path>
NoLogCollection
사용. 여기서는 임시 로그만 수집되어 Microsoft로 전송됩니다. 진단 로그가 수집되지 않습니다.
Send-DiagnosticData -SupplementaryLogs <string> -NoLogCollection
사용하거나 NoLogCollection
사용하지 않습니다SaveToPath
. 즉, 진단 로그와 임시 로그가 모두 수집되어 Microsoft로 전송됩니다.
Send-DiagnosticData [-SupplementaryLogs <string>]
진단 및 임시 로그를 모두 수집할 때 매개 변수를 다른 매개 변수(예: FilterByRole
, ToDate
FromDate
및 CollectSddc
)와 함께 사용할 SupplementaryLogs
수 있습니다.
예제
사용 여부SaveToPath
:NoLogCollection
Send-DiagnosticData –SupplementaryLogs <path to adhoc logs to collect>
SaveToPath
사용:
Send-DiagnosticData –SaveToPath <path> -SupplementaryLogs <path to adhoc logs to collect>
NoLogCollection
사용:
Send-DiagnosticData –NoLogCollection –SupplementaryLogs <path to adhoc logs to collect>
확장 버전
버전 1.0.2.0 이상
ShareCredential
이 매개 변수는 로그를 수집하여 공유 경로에 저장하거나 공유 경로에서 Microsoft로 직접 로그를 보낼 수 있는 유연성을 제공합니다.
Syntax
경로에 로그 저장:
Send-DiagnosticData [-ShareCredential <pscredential>] -SaveToPath <path>
공유 경로에 대한 로그를 Microsoft로 보냅니다.
Send-DiagnosticData [-ShareCredential <pscredential>] -SupplementaryLogs <path> -NoLogCollection;
예제
경로에 로그 저장:
Send-DiagnosticData –SaveToPath <share path> -ShareCredential <credential to share path>
공유 경로에 대한 로그를 Microsoft로 보냅니다.
Send-DiagnosticData –NoLogCollection –SupplementaryLogs <share path> –ShareCredential <credential to the share path>
확장 버전
모두
(사용 중단 계획) ToSMBShare
이 매개 변수를 사용하면 출력 경로 또는 공유 경로에 로그를 저장할 수 있습니다. 매핑되지 않은 공유 경로를 사용하는 경우 매개 변수도 사용해야 ShareCredential
했습니다. 이 매개 변수는 이후 버전의 확장에서 제거되므로 대신 매개 변수를 -SaveToPath
사용합니다.
Syntax
Send-DiagnosticData –ToSMBShare –SharePath <path> [-ShareCredential <pscredential>]
예제
출력 경로 또는 공유 경로에 로그를 저장합니다.
Send-DiagnosticData –ToSMBShare –SharePath <output path or share path>
매핑되지 않은 공유 경로에 로그를 저장합니다.
Send-DiagnosticData –ToSMBShare –SharePath <share path> -ShareCredential <credential for the share path>
확장 버전
그러나 처음에는 모든 버전에서 액세스할 수 있지만 이 매개 변수는 결국 버전 0.1.42 이하로 제한됩니다.
(사용 중단 계획) FromSMBShare
이 매개 변수를 사용하면 출력 경로에서 로그를 보내거나 경로를 Microsoft에 직접 공유할 수 있습니다. 매핑되지 않은 공유 경로를 사용하는 경우 매개 변수도 사용해야 ShareCredential
했습니다. 이 매개 변수는 이후 버전의 확장에서 제거되므로 대신 매개 변수를 -NoLogCollection
사용합니다.
Syntax
Send-DiagnosticData –FromSMBShare –SharePath <path> [-ShareCredential <pscredential>]
예제
Send-DiagnosticData –FromSMBShare –SharePath <output path or share path>
Send-DiagnosticData –FromSMBShare –SharePath <share path>
확장 버전
그러나 처음에는 모든 버전에서 액세스할 수 있지만 이 매개 변수는 결국 버전 0.1.42 이하로 제한됩니다.
(사용 중단 계획) SharePath
SharePath 매개 변수는 다음 목적 중 하나에 사용할 수 있습니다.
- 진단 로그를 공유 경로 또는 출력 경로에 저장합니다.
- 공유 경로 또는 출력 경로에서 Microsoft로 로그를 보냅니다. 공유 경로를 사용하고 공유 경로가 매핑
ShareCredential
되지 않은 경우 매개 변수도 사용해야 합니다.
이 매개 변수는 이후 버전의 확장에서 제거되므로 경로에 로그를 저장하거나 –SupplementaryLogs
대신 Microsoft에 임시 로그를 보낼 때 이 매개 변수를 사용합니다–SaveToPath
.
Syntax
Send-DiagnosticData –ToSMBShare –SharePath <path> [-ShareCredential <pscredential>];
Send-DiagnosticData –FromSMBShare –SharePath <path> [-ShareCredential <pscredential>];
예제
Send-DiagnosticData –ToSMBShare –SharePath <output path or share path>
Send-DiagnosticData –ToSMBShare –SharePath <share path> -ShareCredential <credential for the share path>
Send-DiagnosticData –FromSMBShare –SharePath <output path or share path>
Send-DiagnosticData –FromSMBShare –SharePath <share path>
확장 버전
그러나 처음에는 모든 버전에서 액세스할 수 있지만 이 매개 변수는 결국 버전 0.1.42 이하로 제한됩니다.
로그 필터링에 사용할 수 있는 역할
FilterByRole 매개 변수를 통해 필터링할 수 있는 역할은 다음과 같습니다. 사용 가능한 역할은 향후 릴리스에서 다를 수 있습니다.
역할 이름 |
설명 |
ALM |
ALM(애플리케이션 수명 주기 관리)에는 소프트웨어 애플리케이션에 대한 개발, 테스트, 배포 및 유지 관리가 포함됩니다. |
ArcAgent |
Azure Arc를 통해 Windows Server를 관리할 수 있는 에이전트입니다. Azure Connected Machine 에이전트 개요를 참조하세요. |
BareMetal |
가상화 계층 없이 운영 체제 미설치 서버에서 서비스를 실행할 수 있는 인프라 역할입니다. 운영 체제 및 하드웨어를 완전히 액세스하고 제어할 수 있습니다. |
CommonInfra |
네트워킹, 스토리지 및 보안과 같은 일반적인 인프라 구성 요소에 대한 로그를 수집합니다. |
DeploymentLogs |
수행된 단계, 발생한 오류 및 작업 상태를 포함하여 배포 프로세스의 세부 정보를 기록합니다. |
ECE |
배포, 업데이트, 추가 노드 및 노드 교체를 포함하여 수명 주기 워크플로를 관리합니다. |
내선 번호 |
Azure 관리형 확장과 관련된 데이터입니다. |
FleetDiagnosticsAgent |
상태 트리거를 수신 대기하여 로그 수집을 시작합니다. 이러한 로그는 FleetDiagnosticsAgent 및 로그 수집 문제를 진단하는 데 사용됩니다. |
HCICloudService |
Azure Local에 대한 핵심 기능을 제공하는 Azure 클라우드 서비스입니다. Azure Power와 온-프레미스 머신의 유연성을 결합합니다. |
DownloadService |
업데이트 콘텐츠를 다운로드하는 인프라 서비스의 일부입니다. |
건강 |
이벤트 로그 및 성능 카운터와 같은 다양한 원본에서 상태, 성능 및 사용량 현황 데이터를 수집합니다. |
HostNetwork |
호스트 네트워킹을 구성하는 데 사용되는 기본 운영 체제 구성 요소인 네트워크 ATC 문제를 해결하는 데 사용되는 로그입니다. |
MOC_ARB |
Azure Local 및 Windows Server에서 가상 머신을 클라우드 기반으로 관리할 수 있도록 하는 관리 스택입니다. |
NC |
네트워크 인프라와 관련된 정보입니다. |
ObservabilityLogmanTraces |
관찰 가능성 추적에 대한 로그를 수집합니다. 이러한 로그는 진단 데이터 전송과 관련된 문제를 해결하는 데 도움이 됩니다. |
ObservabilityVolume |
관찰 볼륨에 대한 로그를 수집합니다. |
OEMDiagnostics |
OEM 진단에 대한 로그를 수집하여 BIOS, 드라이버, 센서 등과 같은 서버 하드웨어 문제를 식별하고 해결하는 데 도움이 됩니다. |
OSUpdateLogs |
Azure 로컬 노드의 운영 체제 업데이트와 관련된 로그를 수집하는 역할로, 업데이트 관련 문제를 해결하는 데 유용합니다. |
RemoteSupportAgent |
고객 지원 사례를 해결하는 데 사용되는 원격 지원 세션 문제를 해결하는 데 도움이 되는 로그입니다. |
TestObservability |
확장이 Test-Observability 제대로 작동하는지 테스트하는 데 사용되는 cmdlet에서 로그를 TelemetryAndDiagnostics 수집합니다. |
URP |
ECE 역할 이벤트와 OsUpdate 관련된 로그로 UpdateService 구성됩니다. Update Service Azure Local에 대한 업데이트를 관리합니다. OsUpdate ECE 역할은 배포 중에 시스템의 일부가 아닌 컴퓨터(물리적 호스트 및 InfraVM)에 운영 체제 업데이트를 획득하고 설치하고, 노드를 추가하고, 노드를 복구하고, 인프라 VM 업데이트 시나리오를 설치하는 데 사용됩니다. 이러한 두 구성 요소의 추적은 역할의 URP 일부입니다. |