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


Включение аналитики виртуальных машин с помощью скрипта PowerShell

В этой статье описывается, как включить аналитику виртуальных машин с помощью скрипта PowerShell, который может включать несколько виртуальных машин. Этот процесс использует скрипт, который устанавливает расширения виртуальных машин для агента мониторинга Azure (AMA) и при необходимости агент зависимостей для включения службы "Аналитика виртуальных машин". Если AMA подключена, правило сбора данных (DCR) и управляемое удостоверение пользователя (UAMI) также связаны с виртуальными машинами и масштабируемыми наборами виртуальных машин.

Примечание.

Сведения об использовании PowerShell для включения аналитики виртуальных машин без использования этого скрипта см. в статье "Включение аналитики виртуальных машин с помощью шаблонов ARM"

Поддерживаемые компьютеры

  • Виртуальные машины Azure
  • Масштабируемые наборы виртуальных машин Azure

Примечание.

Агент Azure Monitor поддерживается в версии 1.10.1.

Необходимые компоненты

Сценарий 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

Следующие шаги