適用於 Windows 的 Azure 效能診斷 (PerfInsights) VM 擴充功能
適用於:✔️ Windows VM
Azure 效能診斷 VM 擴充功能可協助從 Windows VM 收集效能診斷數據。 延伸模組會執行分析,並提供結果和建議報告,以識別並解決虛擬機上的效能問題。 此延伸模組會安裝名為 PerfInsights 的疑難解答工具。
注意
如果您想要從非傳統 VM 的 Azure 入口網站 對 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 版本。 |
publisher | Microsoft.Azure.Performance.Diagnostics | 延伸模組的發行者命名空間。 |
type | AzurePerformanceDiagnostics | VM 擴充功能的型別。 |
typeHandlerVersion | 1.0 | 擴充處理程式的版本。 |
performanceScenario | basic | 要擷取數據的效能案例。 有效值為: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 檔案包含診斷記錄和具有結果和建議的報告。 您可以在名為 zipfilename 的文本文件內找到輸出 zip 檔案的 SAS 鏈接_saslink.txt資料夾 C:\Packages\Plugins\Microsoft.Azure.Performance.Diagnostics.AzurePerformanceDiagnostics\<version>。 擁有此連結的任何人都可以下載 zip 檔案。
為了協助支援工程師處理您的支援票證,Microsoft可能會使用此 SAS 鏈接來下載診斷數據。
若要檢視報表,請解壓縮 zip 檔案,然後開啟 PerfInsights Report.html 檔案。
您也可以選取擴展名,直接從入口網站下載 zip 檔案。
注意
入口網站中顯示的SAS連結有時可能無法運作。 這可能是編碼和譯碼作業期間格式不正確的 URL 所造成。 您可以改為直接從 VM 取得 *_saslink.txt 檔案的連結。
疑難排解與支援
延伸模組部署狀態(在通知區域中)可能會顯示「部署進行中」,即使已成功布建延伸模組也一樣。
只要延伸模塊狀態指出已成功布建延伸模組,就可以安全地忽略此問題。
您可以使用擴充功能記錄在安裝期間解決一些問題。 擴充功能執行輸出會記錄至下列目錄中的檔案︰
C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Performance.Diagnostics.AzurePerformanceDiagnostics\<version>
如果您在 Azure 入口網站 或效能診斷擴充功能記錄中看到下列錯誤(AzPerfDiagExtension.log或PerfInsights.log),這通常表示 HTTPS 憑證鏈結已中斷:
-
布建失敗 - 訊息:無法將 PerfInsights 結果上傳至 Azure 儲存體帳戶。
-
PerfInsights 進程結束,代碼為 1700。
-
無法建立 SSL/TLS 安全通道的信任關係。 根據驗證程序,遠端憑證無效。
若要解決這些錯誤,請確定您沒有網路安全組 (NSG) 封鎖此清單中所述的證書頒發機構單位 URL 存取。 或者,請確定您在網路虛擬設備或防火牆中沒有任何 SSL 檢查工具。
-
與我們連絡,以取得說明
如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。