Поделиться через


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

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

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

Примечание.

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

{
     "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')]"       
       }
     }
   }

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

Имя. Значение и пример Description
версия_API 15.06.2015 Версия API.
издатель Microsoft.Azure.Performance.Diagnostics Пространство имен издателя для расширения.
type AzurePerformanceDiagnostics Тип расширения виртуальной машины.
typeHandlerVersion 1.0 Версия обработчика расширения.
performanceScenario базовая Сценарий производительности, для которого требуется собрать данные. Допустимые значения: basic, vmslow, azurefiles и custom.
enableContinuousDiagnostics Верно Включите непрерывные диагностика. Допустимые значения — true или false. Чтобы включить непрерывную диагностику производительности, необходимо указать это свойство.
traceDurationInSeconds 300 Длительность трассировки, если выбран любой из параметров трассировки.
perfCounterTrace п Параметр, позволяющий включить трассировку счетчиков производительности. Допустимые значения: p или пустое значение. Если вы не хотите записывать данные трассировки, оставьте значение пустым.
networkTrace n Параметр, позволяющий включить трассировку сети. Допустимые значения: n или пустое значение. Если вы не хотите записывать данные трассировки, оставьте значение пустым.
xperfTrace x Параметр, позволяющий включить трассировку XPerf. Допустимые значения: x или пустое значение. Если вы не хотите записывать данные трассировки, оставьте значение пустым.
storPortTrace s Параметр, позволяющий включить трассировку StorPort. Допустимые значения: s или пустое значение. Если вы не хотите записывать данные трассировки, оставьте значение пустым.
srNumber 123452016365929 Номер запроса в службу поддержки (если доступно). Оставьте значение пустым, если у вас его нет.
requestTimeUtc 2017-09-28T22:08:53.736Z Текущая дата и время в формате UTC. Если вы устанавливали расширение с помощью портала, это значение можно не указывать.
resourceId /subscriptions/{ИД_подписки}/resourceGroups/{имя_группы_ресурсов}/providers/{пространство_имен_поставщика_ресурса}/{тип_ресурса}/{имя_ресурса} Уникальный идентификатор виртуальной машины.
storageAccountName mystorageaccount Имя учетной записи хранения для хранения журналов диагностики и результатов.
storageAccountKey lDuVvxuZB28NNP…hAiRF3voADxLBTcc== Ключ для учетной записи хранения.

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

Примечание.

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

Выполните указанные ниже действия, чтобы установить расширение на виртуальных машинах Windows.

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

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

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

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

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

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

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

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

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

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

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

    Примечание.

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

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

Примечание.

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

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

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

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

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

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

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

{
 "$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 на существующей виртуальной машине:

$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-файле, который передается в учетную запись хранения, указанную во время установки. Его можно совместно использовать на протяжении 30 дней с помощью подписанного URL-адреса (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.