Расширение виртуальной машины для диагностики производительности 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.
Войдите на портал Azure.
Выберите виртуальную машину, на которой необходимо установить расширение.
Выберите колонку "Расширения и приложения " и нажмите кнопку "Добавить".
Найдите диагностику производительности Azure, щелкните расширение, просмотрите условия и нажмите кнопку "Далее".
Укажите значения параметров для установки, а затем установите расширение. Дополнительные сведения о поддерживаемых сценариях см. в этом разделе.
Когда установка выполнена успешно, состояние расширения показывает , что подготовка выполнена успешно.
Примечание.
Расширение запустится после успешного завершения подготовки. Для базового сценария оно выполняется не более двух минут. Для других сценариев расширение выполняется в течение периода, указанного во время установки.
Удаление расширения
Примечание.
Мы рекомендуем удалить расширение с помощью колонки диагностика производительности, как описано в разделе "Удаление производительности диагностика".
Чтобы удалить расширение с виртуальной машины, сделайте следующее:
Войдите в портал Azure, выберите виртуальную машину, из которой нужно удалить это расширение, а затем выберите колонку Extensions + applications.
Выберите расширение диагностики производительности и нажмите кнопку "Удалить".
Развертывание шаблона
Расширения виртуальной машины 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.