Включение аналитики виртуальных машин с помощью скрипта PowerShell
В этой статье описывается, как включить аналитику виртуальных машин с помощью скрипта PowerShell, который может включать несколько виртуальных машин. Этот процесс использует скрипт, который устанавливает расширения виртуальных машин для агента мониторинга Azure (AMA) и при необходимости агент зависимостей для включения службы "Аналитика виртуальных машин". Если AMA подключена, правило сбора данных (DCR) и управляемое удостоверение пользователя (UAMI) также связаны с виртуальными машинами и масштабируемыми наборами виртуальных машин.
Примечание.
Сведения об использовании PowerShell для включения аналитики виртуальных машин без использования этого скрипта см. в статье "Включение аналитики виртуальных машин с помощью шаблонов ARM"
Поддерживаемые компьютеры
- Виртуальные машины Azure
- Масштабируемые наборы виртуальных машин Azure
Примечание.
Агент Azure Monitor поддерживается в версии 1.10.1.
Необходимые компоненты
- См. статью "Управление агентом Azure Monitor" для предварительных требований, связанных с агентом Azure Monitor.
- Ознакомьтесь с поддерживаемыми операционными системами и средами агента Azure Monitor, чтобы убедиться, что операционная система поддерживается агентом Azure Monitor. Ознакомьтесь с требованиями агента зависимостей, чтобы убедиться, что операционная система поддерживается агентом зависимостей.
- Чтобы включить сетевую изоляцию для агента Azure Monitor, см. статью "Включить сетевую изоляцию для агента Azure Monitor" с помощью Приватный канал.
Сценарий PowerShell
Используйте скрипт PowerShell Install-VMInsights.ps1 , чтобы включить аналитику виртуальных машин для нескольких виртуальных машин или масштабируемых наборов виртуальных машин. Этот скрипт выполняет итерацию по виртуальным машинам или масштабируемым наборам виртуальных машин в соответствии с заданными параметрами. Скрипт можно использовать для включения аналитики виртуальных машин для:
- все виртуальные машины и масштабируемые наборы виртуальных машин в вашей подписке;
- Группы ресурсов с заданной областью
-ResourceGroup
. - Виртуальные машины или масштабируемый набор виртуальных машин, указанные в параметре
-Name
. Можно указать несколько групп ресурсов, виртуальных машин или масштабируемых наборов с помощью подстановочных знаков.
Убедитесь, что вы используете модуль Az PowerShell версии 1.0.0 или более поздней версии с Enable-AzureRM
включенными псевдонимами совместимости. Чтобы узнать версию, выполните команду Get-Module -ListAvailable Az
. Сведения об обновлении см. в разделе "Установка модуля Azure PowerShell". Если вы используете PowerShell локально, выполните команду Connect-AzAccount
, чтобы создать подключение к Azure.
Для списка сведений о аргументах скрипта и примерах использования выполните команду Get-Help
.
Get-Help Install-VMInsights.ps1 -Detailed
Используйте скрипт для включения аналитики виртуальных машин с помощью агента мониторинга Azure и агента зависимостей.
Если включить аналитику виртуальных машин с помощью агента Azure Monitor, скрипт связывает правило сбора данных (DCR) и управляемое удостоверение пользователя (UAMI) с масштабируемым набором виртуальных машин или виртуальной машины. Параметры UAMI передаются в расширение агента Azure Monitor.
Install-VMInsights.ps1 -SubscriptionId <SubscriptionId> `
[-ResourceGroup <ResourceGroup>] `
[-ProcessAndDependencies ] `
[-Name <VM or Virtual Machine Scale Set name>] `
-DcrResourceId <DataCollectionRuleResourceId> `
-UserAssignedManagedIdentityName <UserAssignedIdentityName> `
-UserAssignedManagedIdentityResourceGroup <UserAssignedIdentityResourceGroup>
Обязательные аргументы:
-SubscriptionId <String>
Идентификатор подписки Azure.-DcrResourceId <String>
Идентификатор идентификатора ресурса Azure (DCR). Можно указать контроллеры домена из разных подписок на виртуальные машины или масштабируемые наборы виртуальных машин, которые включены с помощью Vm-Insights.-UserAssignedManagedIdentityResourceGroup <String>
Имя группы ресурсов, назначаемой пользователем (UAMI).-UserAssignedManagedIdentityName <String>
Имя управляемого удостоверения, назначаемого пользователем (UAMI).
Необязательные аргументы:
-ProcessAndDependencies
Установите этот флаг для подключения агента зависимостей с параметрами агента мониторинга Azure (AMA). Если это не указано, подключение подключен только агента мониторинга Azure (AMA).-Name <String>
Имя виртуальной машины или масштабируемого набора виртуальных машин для подключения. Если не указано, все виртуальные машины и масштабируемый набор виртуальных машин в подписке или группе ресурсов подключены. Используйте подстановочные знаки для указания нескольких виртуальных машин или Масштабируемые наборы виртуальных машин.-ResourceGroup <String>
Имя группы ресурсов, содержащей виртуальную машину или масштабируемый набор виртуальных машин для подключения. Если это не указано, все виртуальные машины и масштабируемый набор виртуальных машин в подписке подключены. Используйте подстановочные знаки для указания нескольких групп ресурсов.-PolicyAssignmentName <String>
К ним относятся только виртуальные машины, связанные с этой политикой. Если указан параметр PolicyAssignmentName, виртуальные машины, часть параметра SubscriptionId, считаются.-TriggerVmssManualVMUpdate [<SwitchParameter>]
Активируйте обновление экземпляров виртуальных машин в масштабируемом наборе, политика обновления которого имеет значение Manual.-WhatIf [<SwitchParameter>]
Получение сведений о ожидаемом эффекте команд в скрипте.-Confirm [<SwitchParameter>]
Подтвердите каждое действие в скрипте.-Approve [<SwitchParameter>]
Предоставьте утверждение для начала установки без запроса подтверждения для указанной виртуальной машины или Масштабируемые наборы виртуальных машин.
Скрипт поддерживает подстановочные знаки для -Name
и -ResourceGroup
. Например, -Name vm*
включает аналитику виртуальных машин для всех виртуальных машин и Масштабируемые наборы виртуальных машин, которые начинаются с "vm". Дополнительные сведения см. в разделе "Подстановочные знаки" в Windows PowerShell.
Пример:
Install-VMInsights.ps1 -SubscriptionId 12345678-abcd-abcd-1234-12345678 `
-ResourceGroup rg-AMAPowershell `
-ProcessAndDependencies `
-Name vmAMAPowershellWindows `
-DcrResourceId /subscriptions/12345678-abcd-abcd-1234-12345678/resourceGroups/rg-AMAPowershell/providers/Microsoft.Insights/dataCollectionRules/MSVMI-ama-vmi-default-dcr `
-UserAssignedManagedIdentityName miamatest1 `
-UserAssignedManagedIdentityResourceGroup amapowershell
Выходные данные будут иметь следующий формат:
Name Account SubscriptionName Environment TenantId
---- ------- ---------------- ----------- --------
AzMon001 12345678-abcd-123… MSI@9876 AzMon001 AzureCloud abcd1234-9876-abcd-1234-1234abcd5648
Getting list of VMs or VM Scale Sets matching specified criteria.
VMs and Virtual Machine Scale Sets matching selection criteria :
ResourceGroup : rg-AMAPowershell
vmAMAPowershellWindows
Confirm
Continue?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):
(rg-AMAPowershell) : Assigning roles
(rg-AMAPowershell) vmAMAPowershellWindows : Assigning User Assigned Managed Identity edsMIAMATest
(rg-AMAPowershell) vmAMAPowershellWindows : Successfully assigned User Assigned Managed Identity edsMIAMATest
(rg-AMAPowershell) vmAMAPowershellWindows : Data Collection Rule Id /subscriptions/12345678-abcd-abcd-1234-12345678/resourceGroups/rg-AMAPowershell/providers/Microsoft.Insights/dataCollectionRules/MSVMI-ama-vmi-default-dcr already associated with the VM.
(rg-AMAPowershell) vmAMAPowershellWindows : Extension AzureMonitorWindowsAgent, type = Microsoft.Azure.Monitor.AzureMonitorWindowsAgent already installed. Provisioning State : Succeeded
(rg-AMAPowershell) vmAMAPowershellWindows : Installing/Updating extension AzureMonitorWindowsAgent, type = Microsoft.Azure.Monitor.AzureMonitorWindowsAgent
(rg-AMAPowershell) vmAMAPowershellWindows : Successfully installed/updated extension AzureMonitorWindowsAgent, type = Microsoft.Azure.Monitor.AzureMonitorWindowsAgent
(rg-AMAPowershell) vmAMAPowershellWindows : Installing/Updating extension DA-Extension, type = Microsoft.Azure.Monitoring.DependencyAgent.DependencyAgentWindows
(rg-AMAPowershell) vmAMAPowershellWindows : Successfully installed/updated extension DA-Extension, type = Microsoft.Azure.Monitoring.DependencyAgent.DependencyAgentWindows
(rg-AMAPowershell) vmAMAPowershellWindows : Successfully onboarded VM insights
Summary :
Total VM/VMSS to be processed : 1
Succeeded : 1
Skipped : 0
Failed : 0
VMSS Instance Upgrade Failures : 0
Проверьте масштабируемый набор виртуальных машин или виртуальных машин в портал Azure, чтобы узнать, установлены ли расширения или используйте следующую команду:
az vm extension list --resource-group <resource group> --vm-name <VM name> -o table
Name ProvisioningState Publisher Version AutoUpgradeMinorVersion
------------------------ ------------------- ------------------------------------------ --------- -------------------------
AzureMonitorWindowsAgent Succeeded Microsoft.Azure.Monitor 1.16 True
DA-Extension Succeeded Microsoft.Azure.Monitoring.DependencyAgent 9.10 True
Следующие шаги
- См. статью Использование функции Map из VM Insights для понимания компонентов приложения.
- См. статью Создание диаграммы производительности с помощью VM Insights, чтобы определить узкие места, уровень потребления и производительности виртуальной машины.