Расширение виртуальной машины для диагностики производительности Azure (PerfInsights) для Windows

Область применения: ✔️ Виртуальные машины Windows

Расширение виртуальной машины диагностики производительности Azure помогает собирать диагностические данные о производительности на виртуальных машинах Windows. Расширение выполняет анализ и предоставляет отчет о результатах и рекомендациях по выявлению и устранению проблем с производительностью на виртуальной машине. Это расширение устанавливает средство устранения неполадок с именем PerfInsights.

Замечание

Если вы хотите запустить диагностику на виртуальной машине на портале Azure для не классических виртуальных машин, рекомендуется использовать новый интерфейс. Дополнительные сведения см. в статье "Диагностика производительности для виртуальных машин 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. Для этого расширения требуется имя учетной записи хранения для хранения выходных данных диагностики и отчета. Эти значения чувствительны. Ключ учетной записи хранения должен храниться в защищенной конфигурации параметров. Данные, защищенные расширением виртуальной машины Azure, шифруются и расшифровываются только на целевой виртуальной машине. Обратите внимание, что storageAccountName и storageAccountKey чувствительны к регистру. Другие необходимые параметры перечислены в следующем разделе.

Укажите тип проверки подлинности в JSON-файле. Если тип аутентификации не указан, по умолчанию используется системно назначенное управляемое удостоверение, и пользователь должен предоставить ключ учетной записи хранения.

{
     "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": {
   "authenticationType": "[parameters('authenticationType')]",
                         "storageAccountKey": "[parameters('storageAccountKey')]",
   "managedIdentityClientId": "[parameters('managedIdentityClientId')]",
   
       }
     }
   }

Значения свойств

Имя Значение и пример Description
apiVersion 2015-06-15 Версия API.
издатель Microsoft.Azure.Performance.Diagnostics Пространство имен издателя для расширения.
type AzurePerformanceDiagnostics Тип расширения виртуальной машины.
версияТипаОбработчика 1.0 Версия обработчика расширений.
сценарий производительности базовая Сценарий производительности, для которого требуется записать данные. Допустимые значения: basic, vmslow, azurefiles и custom.
"включитьНепрерывнуюДиагностику" True Включите непрерывную диагностику. Допустимые значения : true или false. Чтобы включить непрерывную диагностику производительности, необходимо указать это свойство.
traceDurationInSeconds 300 Длительность трассировки, если выбран какой-либо из параметров трассировки.
perfCounterTrace п Параметр включения трассировки счетчика производительности. Допустимые значения — p или пустое значение. Если вы не хотите записывать эту трассировку, оставьте значение пустым.
networkTrace н Опция включения трассировки сети. Допустимые значения — 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} Уникальный идентификатор виртуальной машины.
storageAccountName mystorageaccount Имя учетной записи хранения для хранения журналов диагностики и результатов.
ключХранилищаАккаунта lDuVvxuZB28NNP... hAiRF3voADxLBTcc== Ключ учетной записи хранения.
authenticationType системно управляемая идентичность Тип проверки подлинности, используемый для подключения к учетной записи хранения. Допустимые значения: systemmanagedidentity, usermanagedidentityи storagekeys.
managedIdentityClientId f81d4afe-7ced-11d0-a765-00a0c91c6bf6 Идентификатор клиента управляемого пользователем удостоверения, который будет использоваться для проверки подлинности учетной записи хранения.

Установка расширения

Замечание

Мы рекомендуем установить расширение через вкладку диагностики производительности, как описано в разделе "Установка и запуск диагностики производительности на виртуальной машине".

Выполните следующие инструкции, чтобы установить расширение на виртуальных машинах Windows:

  1. Войдите на портал Azure.

  2. Выберите виртуальную машину, в которой требуется установить это расширение.

    Снимок экрана: портал Azure с выделенными виртуальными машинами.

  3. Выберите колонку "Расширения и приложения " и нажмите кнопку "Добавить".

    Снимок экрана панели «Расширения» с выделенной кнопкой «Добавить».

  4. Найдите диагностику производительности Azure, щелкните расширение, просмотрите условия и нажмите кнопку "Далее".

    Снимок экрана экрана

  5. Укажите значения параметров для установки, а затем установите расширение. Дополнительные сведения о поддерживаемых сценариях см. в статье "Использование PerfInsights".

    Снимок экрана: диалоговое окно

  6. Когда установка выполнена успешно, состояние расширения показывает , что подготовка выполнена успешно.

    Снимок экрана: сообщение о подготовке успешно выполнено.

    Замечание

    Расширение запускается после успешной завершенной достройки. Для базового сценария требуется две минуты или меньше. Для других сценариев он функционирует в течение времени, заданного во время установки.

Удаление расширения

Замечание

Мы рекомендуем удалить расширение с помощью панели диагностики производительности, как описано в разделе Удаление диагностики производительности.

Чтобы удалить расширение из виртуальной машины, выполните следующие действия.

  1. Войдите на портал Azure, выберите виртуальную машину, из которой нужно удалить это расширение, а затем выберите колонку "Расширения + приложения ".

  2. Выберите расширение диагностики производительности и нажмите кнопку "Удалить".

    Снимок экрана: панель

Развертывание шаблона

Расширения виртуальных машин Azure можно развернуть с использованием шаблонов Azure Resource Manager. Схема JSON, описанная в предыдущем разделе, может использоваться в шаблоне Azure Resource Manager. Это запускает расширение виртуальной машины диагностики производительности Azure во время развертывания шаблона Azure Resource Manager. Ниже приведен пример шаблона:

{
 "$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"
   },
   "authenticationType": {
	 "type": "string",
	 "defaultValue": "SystemManagedIdentity"
   },
   "managedIdentityClientId": {
	 "type": "string",
		 "defaultValue": ""
   }      
 },
 "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 на существующей виртуальной машине:

  • Назначаемый системой управляемый идентификатор

    $PublicSettings = @{ "storageAccountName"="mystorageaccount";"performanceScenario"="basic"; "enableContinuousDiagnostics" : $False;"traceDurationInSeconds"=300;"perfCounterTrace"="p";"networkTrace"="";"xperfTrace"="";"storPortTrace"="";"srNumber"="";"requestTimeUtc"="2024-10-20T22:08:53.736Z";"resourceId"="VMResourceId" }
    $ProtectedSettings = @{"storageAccountName"="mystorageaccount";"authenticationType"="SystemManagedIdentity" }
    
    Set-AzVMExtension -ExtensionName "AzurePerformanceDiagnostics" -ResourceGroupName "myResourceGroup" -VMName "myVM" -Publisher "Microsoft.Azure.Performance.Diagnostics" -ExtensionType "AzurePerformanceDiagnostics" -TypeHandlerVersion 1.0 -Settings $PublicSettings -ProtectedSettings $ProtectedSettings -Location WestUS
    
  • Управляемая идентификация, назначаемая пользователем

    $PublicSettings = @{ "storageAccountName"="mystorageaccount";"performanceScenario"="basic"; "enableContinuousDiagnostics" : $False;"traceDurationInSeconds"=300;"perfCounterTrace"="p";"networkTrace"="";"xperfTrace"="";"storPortTrace"="";"srNumber"="";"requestTimeUtc"="2024-10-20T22:08:53.736Z";"resourceId"="VMResourceId" }
    $ProtectedSettings = @{"storageAccountName"="mystorageaccount";"authenticationType"="UserManagedIdentity";"managedIdentityClientId"="myUserManagedIdentityClientId"}
    
    Set-AzVMExtension -ExtensionName "AzurePerformanceDiagnostics" -ResourceGroupName "myResourceGroup" -VMName "myVM" -Publisher "Microsoft.Azure.Performance.Diagnostics" -ExtensionType "AzurePerformanceDiagnostics" -TypeHandlerVersion 1.0 -Settings $PublicSettings -ProtectedSettings $ProtectedSettings -Location WestUS
    
  • Ключи доступа к учетной записи хранения

    $PublicSettings = @{ "storageAccountName"="mystorageaccount";"performanceScenario"="basic"; "enableContinuousDiagnostics" : $False;"traceDurationInSeconds"=300;"perfCounterTrace"="p";"networkTrace"="";"xperfTrace"="";"storPortTrace"="";"srNumber"="";"requestTimeUtc"="2024-10-20T22: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-файле, который загружен в учетную запись хранения, указанную во время установки, и доступен в течение 30 дней с помощью общих ключей доступа (SAS). Этот ZIP-файл содержит журналы диагностики и отчет с результатами и рекомендациями. Ссылка SAS на выходной ZIP-файл можно найти в текстовом файле с именем zipfilename_saslink.txt в папке C:\Packages\Plugins\Microsoft.Azure.Performance.Diagnostics.AzurePerformanceDiagnostics\<version>. Любой пользователь, имеющий эту ссылку, может скачать ZIP-файл.

Чтобы помочь инженеру службы поддержки, работающему над запросом в службу поддержки, корпорация Майкрософт может использовать эту ссылку SAS для скачивания диагностических данных.

Чтобы просмотреть отчет, извлеките ZIP-файл и откройте файл PerfInsights Report.html .

Вы также можете скачать ZIP-файл непосредственно на портале, выбрав расширение.

Снимок экрана: подробное состояние диагностики производительности и ссылка на скачивание расширения.

Замечание

Ссылка SAS, отображаемая на портале, иногда не работает. Это может быть вызвано неправильным URL-адресом во время операций кодирования и декодирования. Вместо этого можно получить ссылку непосредственно из файла *_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. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.