Windows용 Azure 성능 진단(PerfInsights) VM 확장
적용 대상: ✔️ Windows VM
Azure Performance Diagnostics VM 확장은 Windows VM에서 성능 진단 데이터를 수집하는 데 도움이 됩니다. 확장은 분석을 수행하고 가상 머신의 성능 문제를 식별하고 해결하기 위한 결과 및 권장 사항 보고서를 제공합니다. 이 확장은 PerfInsights라는 문제 해결 도구를 설치합니다.
참고 항목
클래식이 아닌 VM에 대해 Azure Portal에서 VM에서 진단을 실행하려면 새 환경을 사용하는 것이 좋습니다. 자세한 내용은 Azure 가상 머신에 대한 성능 진단을 참조 하세요.
필수 조건
이 확장은 다음에서 설치할 수 있습니다.
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
- Windows Server 2008 R2
- Windows 10
- Windows 8.1
- Windows 8
확장 스키마
다음 JSON은 Azure Performance Diagnostics VM 확장에 대한 스키마를 보여 줍니다. 이 확장에는 진단 출력과 보고서를 저장하기 위해 스토리지 계정의 이름과 키가 필요합니다. 이러한 값은 중요합니다. 스토리지 계정 키는 보호된 설정 구성 내에 저장해야 합니다. Azure VM 확장 보호 설정 데이터는 암호화되며 대상 가상 머신에서만 암호 해독됩니다. storageAccountName 및 storageAccountKey는 대/소문자를 구분합니다. 다른 필수 매개 변수는 다음 섹션에 나열되어 있습니다.
{
"name": "[concat(parameters('vmName'),'/AzurePerformanceDiagnostics')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"location": "[parameters('location')]",
"apiVersion": "2015-06-15",
"properties": {
"publisher": "Microsoft.Azure.Performance.Diagnostics",
"type": "AzurePerformanceDiagnostics",
"typeHandlerVersion": "1.0",
"autoUpgradeMinorVersion": true,
"settings": {
"storageAccountName": "[parameters('storageAccountName')]",
"performanceScenario": "[parameters('performanceScenario')]",
"enableContinuousDiagnostics": "[parameters('enableContinuousDiagnostics')]",
"traceDurationInSeconds": "[parameter('traceDurationInSeconds')]",
"perfCounterTrace": "[parameters('perfCounterTrace')]",
"networkTrace": "[parameters('networkTrace')]",
"xperfTrace": "[parameters('xperfTrace')]",
"storPortTrace": "[parameters('storPortTrace')]",
"requestTimeUtc": "[parameters('requestTimeUtc')]",
"resourceId": "[resourceId('Microsoft.Compute/virtualMachines', parameters('vmName'))]"
},
"protectedSettings": {
"storageAccountKey": "[parameters('storageAccountKey')]"
}
}
}
속성 값
이름 | 값/예제 | 설명 |
---|---|---|
apiVersion | 2015-06-15 | API의 버전입니다. |
publisher | Microsoft.Azure.Performance.Diagnostics | 확장의 게시자 네임스페이스입니다. |
type | AzurePerformanceDiagnostics | VM 확장의 형식입니다. |
typeHandlerVersion | 1.0 | 확장 처리기의 버전입니다. |
performanceScenario | basic | 데이터를 캡처할 성능 시나리오입니다. 유효한 값은 기본, vmslow, azurefiles 및 사용자 지정입니다. |
enableContinuousDiagnostics | True | 연속 진단을 사용하도록 설정합니다. 유효한 값은 true 또는 false입니다. 연속 성능 진단을 사용하도록 설정하려면 이 속성을 제공해야 합니다. |
traceDurationInSeconds | 300 | 추적 옵션이 선택된 경우 추적 기간입니다. |
perfCounterTrace | p | 성능 카운터 추적을 사용하는 옵션. 유효한 값은 p 또는 빈 값입니다. 이 추적을 캡처하지 않을 경우 빈 값으로 둡니다. |
networkTrace | n | 네트워크 추적을 사용하도록 설정하는 옵션입니다. 유효한 값은 n 또는 빈 값입니다. 이 추적을 캡처하지 않을 경우 빈 값으로 둡니다. |
xperfTrace | x | XPerf 추적을 사용하도록 설정하는 옵션입니다. 유효한 값은 x 또는 빈 값입니다. 이 추적을 캡처하지 않을 경우 빈 값으로 둡니다. |
storPortTrace | s | StorPort 추적을 사용하도록 설정하는 옵션입니다. 유효한 값은 s 또는 빈 값입니다. 이 추적을 캡처하지 않을 경우 빈 값으로 둡니다. |
srNumber | 123452016365929 | 지원 티켓 번호(사용 가능한 경우)입니다. 값이 없는 경우 값을 비워 둡니다. |
requestTimeUtc | 2017-09-28T22:08:53.736Z | 현재 날짜 시간(Utc)입니다. 포털을 사용하여 이 확장을 설치하는 경우 이 값을 제공할 필요가 없습니다. |
resourceId | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} | VM의 고유 식별자 |
storageAccountName | mystorageaccount | 진단 로그 및 결과를 저장할 스토리지 계정의 이름입니다. |
storageAccountKey | lDuVvxuZB28NNP... hAiRF3voADxLBTcc== | 스토리지 계정의 키입니다. |
확장 설치
참고 항목
VM에서 성능 진단 설치 및 실행에 설명된 대로 성능 진단 블레이드를 통해 확장을 설치하는 것이 좋습니다.
다음 지침에 따라 Windows 가상 머신에 확장을 설치합니다.
Azure Portal에 로그인합니다.
이 확장을 설치할 가상 머신을 선택합니다.
확장 + 애플리케이션 블레이드를 선택하고 추가를 선택합니다.
Azure Performance Diagnostics를 검색하고, 확장을 클릭하고, 사용 약관을 검토하고, 다음을 선택합니다.
설치에 대한 매개 변수 값을 입력한 다음 확장을 설치합니다. 지원되는 시나리오에 대한 자세한 내용은 PerfInsights를 사용하는 방법을 참조하세요.
설치에 성공하면 확장 상태가 프로비전 성공으로 표시됩니다.
참고 항목
프로비전이 성공하는 경우 확장이 실행됩니다. 기본 시나리오를 완료하는 데 2분 정도 걸립니다. 다른 시나리오의 경우 설치 중에 지정된 기간 동안 실행됩니다.
확장 제거
참고 항목
성능 진단 제거에 설명 된 대로 성능 진단 블레이드를 통해 확장을 제거하는 것이 좋습니다.
가상 머신에서 확장을 제거하려면 다음 단계를 수행합니다.
Azure Portal에 로그인하고 이 확장을 제거할 가상 머신을 선택한 다음 확장 + 애플리케이션 블레이드를 선택합니다.
성능 진단 확장을 선택한 다음 제거를 선택합니다.
템플릿 배포
Azure Resource Manager 템플릿을 사용하여 Azure 가상 머신 확장을 배포할 수 있습니다. 이전 섹션에 자세히 설명된 JSON 스키마는 Azure Resource Manager 템플릿에서 사용할 수 있습니다. Azure Resource Manager 템플릿 배포 중에 Azure Performance Diagnostics VM 확장을 실행합니다. 샘플 템플릿은 다음과 같습니다.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string",
"defaultValue": "yourVMName"
},
"location": {
"type": "string",
"defaultValue": "southcentralus"
},
"storageAccountName": {
"type": "securestring",
"defaultValue": "yourStorageAccount"
},
"storageAccountKey": {
"type": "securestring",
"defaultValue": "yourStorageAccountKey"
},
"performanceScenario": {
"type": "string",
"defaultValue": "basic"
},
"enableContinuousDiagnostics": {
"type": "boolean",
"defaultValue": "false"
},
"traceDurationInSeconds": {
"type": "int",
"defaultValue": 300
},
"perfCounterTrace": {
"type": "string",
"defaultValue": "p"
},
"networkTrace": {
"type": "string",
"defaultValue": ""
},
"xperfTrace": {
"type": "string",
"defaultValue": ""
},
"storPortTrace": {
"type": "string",
"defaultValue": ""
},
"requestTimeUtc": {
"type": "string",
"defaultValue": "10/2/2017 11:06:00 PM"
}
},
"resources": [
{
"name": "[concat(parameters('vmName'),'/AzurePerformanceDiagnostics')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"location": "[parameters('location')]",
"apiVersion": "2015-06-15",
"properties": {
"publisher": "Microsoft.Azure.Performance.Diagnostics",
"type": "AzurePerformanceDiagnostics",
"typeHandlerVersion": "1.0",
"autoUpgradeMinorVersion": true,
"settings": {
"storageAccountName": "[parameters('storageAccountName')]",
"performanceScenario": "[parameters('performanceScenario')]",
"enableContinuousDiagnostics" : "[parameters('enableContinuousDiagnostics')]",
"traceDurationInSeconds": "[parameters('traceDurationInSeconds')]",
"perfCounterTrace": "[parameters('perfCounterTrace')]",
"networkTrace": "[parameters('networkTrace')]",
"xperfTrace": "[parameters('xperfTrace')]",
"storPortTrace": "[parameters('storPortTrace')]",
"requestTimeUtc": "[parameters('requestTimeUtc')]",
"resourceId": "[resourceId('Microsoft.Compute/virtualMachines', parameters('vmName'))]"
},
"protectedSettings": {
"storageAccountKey": "[parameters('storageAccountKey')]"
}
}
}
]
}
PowerShell 배포
명령을 Set-AzVMExtension
사용하여 기존 가상 머신에 Azure Performance Diagnostics VM 확장을 배포합니다.
$PublicSettings = @{ "storageAccountName"="mystorageaccount";"performanceScenario"="basic"; "enableContinuousDiagnostics" : $False;"traceDurationInSeconds"=300;"perfCounterTrace"="p";"networkTrace"="";"xperfTrace"="";"storPortTrace"="";"srNumber"="";"requestTimeUtc"="2017-09-28T22:08:53.736Z";"resourceId"="VMResourceId" }
$ProtectedSettings = @{"storageAccountKey"="mystoragekey" }
Set-AzVMExtension -ExtensionName "AzurePerformanceDiagnostics" -ResourceGroupName "myResourceGroup" -VMName "myVM" -Publisher "Microsoft.Azure.Performance.Diagnostics" -ExtensionType "AzurePerformanceDiagnostics" -TypeHandlerVersion 1.0 -Settings $PublicSettings -ProtectedSettings $ProtectedSettings -Location WestUS
수집된 데이터에 대한 정보
PerfInsights 도구는 선택한 시나리오에 따라 다양한 로그, 구성 및 진단 데이터를 수집합니다. 자세한 내용은 PerfInsights 설명서를 참조 하세요.
결과 보기 및 공유
확장의 출력은 설치 중에 지정된 스토리지 계정에 업로드되고 SAS(공유 액세스 서명)를 사용하여 30일 동안 공유되는 zip 파일에서 찾을 수 있습니다. 이 zip 파일은 진단 로그 및 결과 및 권장 사항이 있는 보고서를 포함합니다. 출력 zip 파일에 대한 SAS 링크는 c:\Packages\Plugins\Microsoft.Azure.Performance.Diagnostics.AzurePerformanceDiagnostics\<version> 폴더 아래에 있는 zipfilename_saslink.txt이라는 텍스트 파일 내에서 찾을 수 있습니다. 이 링크가 있는 모든 사람은 zip 파일을 다운로드할 수 있습니다.
지원 티켓에서 작업하는 지원 엔지니어를 지원하기 위해 Microsoft는 이 SAS 링크를 사용하여 진단 데이터를 다운로드할 수 있습니다.
보고서를 보려면 zip 파일의 압축을 풀고 PerfInsights Report.html 파일을 엽니다.
확장자를 선택하여 포털에서 직접 zip 파일을 다운로드할 수도 있습니다.
참고 항목
포털에 표시되는 SAS 링크가 때때로 작동하지 않을 수 있습니다. 인코딩 및 디코딩 작업 중에 잘못된 형식의 URL로 인해 발생할 수 있습니다. VM에서 직접 *_saslink.txt 파일의 링크를 직접 가져올 수 있습니다.
문제 해결 및 지원
확장이 성공적으로 프로비전된 경우에도 확장 배포 상태(알림 영역)에 "배포 진행 중"이 표시될 수 있습니다.
확장 상태가 확장이 성공적으로 프로비전되었음을 나타내는 한 이 문제는 무시해도 됩니다.
확장 로그를 사용하여 설치 중 발생하는 일부 문제를 해결할 수 있습니다. 확장 실행 출력은 다음 디렉터리에 있는 파일에 기록됩니다.
C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Performance.Diagnostics.AzurePerformanceDiagnostics\<version>
Azure Portal 또는 성능 진단 확장 로그(AzPerfDiagExtension.log 또는 PerfInsights.log)에 다음 오류가 표시되는 경우 이는 일반적으로 HTTPS 인증서 체인이 손상됨을 의미합니다.
-
프로비전 실패 - 메시지: PerfInsights 결과를 Azure Storage 계정에 업로드하지 못했습니다.
-
PerfInsights 프로세스가 코드 1700으로 종료되었습니다.
-
SSL/TLS 보안 채널에 대한 트러스트 관계를 설정할 수 없습니다. 유효성 검사 절차에 따르면 원격 인증서가 잘못되었습니다.
오류를 해결하려면 이 목록에 설명된 인증 기관 URL에 대한 액세스를 차단하는 NSG(네트워크 보안 그룹)가 없는지 확인합니다. 또는 네트워크 가상 어플라이언스 또는 방화벽에 SSL 검사 도구가 없는지 확인합니다.
-
도움을 요청하십시오.
질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.