共用方式為


適用於 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 擴充功能保護的設定數據會加密,而且只會在目標虛擬機上解密。 請注意, storageAccountNamestorageAccountKey 會區分大小寫。 下一節會列出其他必要的參數。

{
     "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 基本 要擷取數據的效能案例。 有效值為: basicvmslowazurefilescustom
enableContinuousDiagnostics True 啟用持續診斷。 有效值為 truefalse。 若要啟用持續效能診斷,您必須提供此屬性。
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 虛擬機上安裝擴充功能:

  1. 登入 Azure 入口網站

  2. 選取您要安裝此擴充功能的虛擬機。

    Azure 入口網站的螢幕快照,其中已醒目提示 [虛擬機]。

  3. 選取 [ 擴充功能 + 應用程式] 刀鋒視窗,然後選取 [ 新增]

    [延伸模組] 刀鋒視窗的螢幕快照,其中已醒目提示 [新增]。

  4. 搜尋 Azure 效能診斷、單擊擴充功能、檢閱條款和條件,然後選取 [ 下一步]

    [新增資源] 畫面的螢幕快照,其中已醒目提示 [Azure 效能診斷]。

  5. 提供安裝的參數值,然後安裝擴充功能。 如需支援案例的詳細資訊,請參閱 如何使用 PerfInsights

    [安裝擴充功能] 對話框的螢幕快照。

  6. 安裝成功時,擴充功能的狀態會顯示 [ 布建成功]

    布建成功訊息的螢幕快照。

    注意事項

    延伸模組會在布建成功時執行。 基本案例需要兩分鐘或更少的時間才能完成。 在其他案例中,它會在安裝期間指定的持續時間執行。

拿掉延伸模組

注意事項

建議您透過 [效能診斷] 刀鋒視窗卸載擴充功能,如 卸載效能診斷中所述。

若要從虛擬機移除擴充功能,請遵循下列步驟:

  1. 登入 Azure 入口網站,選取您要從中移除此擴充功能的虛擬機,然後選取 [ 擴充功能 + 應用程式] 刀鋒視窗。

  2. 選取 [效能診斷擴充功能],然後選取 [ 卸載]

    [擴充功能] 刀鋒視窗的螢幕快照,其中已醒目提示 [卸載]。

範本部署

您可以使用 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 意應見反社群