適用於 Windows 的 Azure 效能診斷 (PerfInsights) VM 擴充功能
Azure 效能診斷 VM 擴充功能可協助從 Windows VM 收集效能診斷數據。 延伸模組會執行分析,並提供結果和建議的報告,以識別和解決虛擬機上的效能問題。 此擴充功能會安裝稱為 PerfInsights 的疑難解答工具。
注意事項
如果您想要從 Azure 入口網站針對非傳統 VM 在 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 效能診斷 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 版本。 |
發行人 | Microsoft.Azure.Performance.Diagnostics | 延伸模組的發行者命名空間。 |
類型 | AzurePerformanceDiagnostics | VM 擴充功能的類型。 |
typeHandlerVersion | 1.0 | 擴充功能處理程式的版本。 |
performanceScenario | 基本 | 要擷取數據的效能案例。 有效值為: basic、 vmslow、 azurefiles 和 custom。 |
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 入口網站。
選取您要安裝此擴充功能的虛擬機。
選取 [ 擴充功能 + 應用程式] 刀鋒視窗,然後選取 [ 新增]。
搜尋 Azure 效能診斷、單擊擴充功能、檢閱條款和條件,然後選取 [ 下一步]。
提供安裝的參數值,然後安裝擴充功能。 如需支援案例的詳細資訊,請參閱 如何使用 PerfInsights。
安裝成功時,擴充功能的狀態會顯示 [ 布建成功]。
注意事項
延伸模組會在布建成功時執行。 基本案例需要兩分鐘或更少的時間才能完成。 在其他案例中,它會在安裝期間指定的持續時間執行。
拿掉延伸模組
注意事項
建議您透過 [效能診斷] 刀鋒視窗卸載擴充功能,如 卸載效能診斷中所述。
若要從虛擬機移除擴充功能,請遵循下列步驟:
登入 Azure 入口網站,選取您要從中移除此擴充功能的虛擬機,然後選取 [ 擴充功能 + 應用程式] 刀鋒視窗。
選取 [效能診斷擴充功能],然後選取 [ 卸載]。
範本部署
您可以使用 Azure Resource Manager 範本部署 Azure 虛擬機擴充功能。 上一節中詳述的 JSON 架構可用於 Azure Resource Manager 範本。 這會在 Azure Resource Manager 範本部署期間執行 Azure 效能診斷 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 效能診斷 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 檔。
檢視和共享結果
您可以在 ZIP 檔案中找到擴充功能的輸出,該檔案上傳至安裝期間指定的記憶體帳戶,並使用共用存 取簽章 (SAS) 共用 30 天。 此 zip 檔案包含診斷記錄和包含結果和建議的報告。 您可以在資料夾 C:\Packages\Plugins\Microsoft.Azure.Performance.Diagnostics.AzurePerformanceDiagnostics\<version> 下名為 zipfilename_saslink.txt 的文本文件內找到輸出 zip 檔案的 SAS 連結。 擁有此連結的任何人都可以下載 zip 檔案。
為了協助支援工程師處理您的支援票證,Microsoft可能會使用此 SAS 鏈接來下載診斷數據。
若要檢視報表,請擷取 zip 檔案,然後開啟 PerfInsights Report.html 檔案。
您也應該可以選取擴展名,直接從入口網站下載 zip 檔案。
注意事項
入口網站中顯示的SAS連結有時可能無法運作。 這可能是因為編碼和譯碼作業期間的 URL 格式不正確所造成。 您可以改為直接從 VM 中的 *_saslink.txt 檔案取得連結。
疑難解答和支援
通知區域中 (擴充功能部署狀態) 可能會顯示「部署進行中」,即使已成功布建擴充功能也一樣。
只要擴充功能狀態指出已成功布建擴充功能,就可以放心地忽略此問題。
您可以使用擴充功能記錄來解決安裝期間的一些問題。 延伸模組執行輸出會記錄到下列目錄中的檔案:
C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Performance.Diagnostics.AzurePerformanceDiagnostics\<version>
與我們連絡,以取得說明
如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以將產品意見反應提交給 Azure 意應見反社群。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應