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

В этой статье описывается, как включить аналитику виртуальных машин на виртуальных машинах Azure с помощью PowerShell. Эту процедуру можно использовать для:

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

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

Внимание

Поддержка устаревшего агента Log Analyticsбудет прекращена в августе 2024 года. После этой даты корпорация Майкрософт больше не будет предоставлять поддержку агента Log Analytics. Чтобы продолжить прием данных, перейдите на агент Azure Monitor до августа 2024 года.

Примечание.

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

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

Вам нужно:

Сценарий PowerShell

Чтобы включить аналитику виртуальных машин для нескольких виртуальных машин или масштабируемого набора виртуальных машин, используйте скрипт PowerShell Install-VM Аналитика.ps1. Скрипт доступен в Azure коллекция PowerShell. Этот скрипт выполняет итерацию по виртуальным машинам или масштабируемым наборам виртуальных машин в соответствии с заданными параметрами. Скрипт можно использовать для включения аналитики виртуальных машин для:

  • все виртуальные машины и масштабируемые наборы виртуальных машин в вашей подписке;
  • Группы ресурсов область, указанные в параметре -ResourceGroup.
  • Виртуальные машины или масштабируемый набор виртуальных машин, указанные в параметре -Name. Можно указать несколько групп ресурсов, виртуальных машин или масштабируемых наборов с помощью wild карта s.

Убедитесь, что вы используете модуль 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 и агента зависимостей или агента Log Analytics.

Если включить аналитику виртуальных машин с помощью агента 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). Можно указать контроллеры домена из разных подписок на виртуальные машины или масштабируемые наборы виртуальных машин, которые включены с помощью Аналитика виртуальной машины.
  • -UserAssignedManagedIdentityResourceGroup <String> Имя группы ресурсов, назначаемой пользователем (UAMI).
  • -UserAssignedManagedIdentityName <String> Имя управляемого удостоверения, назначаемого пользователем (UAMI).

Необязательные аргументы:

  • -ProcessAndDependencies Установите этот флаг для подключения агента зависимостей с параметрами агента мониторинга Azure (AMA). Если это не указано, подключение подключен только агента мониторинга Azure (AMA).
  • -Name <String> Имя виртуальной машины или масштабируемого набора виртуальных машин для подключения. Если не указано, все виртуальные машины и масштабируемый набор виртуальных машин в подписке или группе ресурсов подключены. Используйте wild карта s для указания нескольких виртуальных машин или Масштабируемые наборы виртуальных машин.
  • -ResourceGroup <String> Имя группы ресурсов, содержащей виртуальную машину или масштабируемый набор виртуальных машин для подключения. Если это не указано, все виртуальные машины и масштабируемый набор виртуальных машин в подписке подключены. Используйте wild карта s для указания нескольких групп ресурсов.
  • -PolicyAssignmentName <String> К ним относятся только виртуальные машины, связанные с этой политикой. Если указан параметр PolicyAssignmentName, виртуальные машины, часть параметра SubscriptionId, считаются.
  • -TriggerVmssManualVMUpdate [<SwitchParameter>] Активируйте обновление экземпляров виртуальных машин в масштабируемом наборе, политика обновления которого имеет значение Manual.
  • -WhatIf [<SwitchParameter>] Получение сведений о ожидаемом эффекте команд в скрипте.
  • -Confirm [<SwitchParameter>] Подтвердите каждое действие в скрипте.
  • -Approve [<SwitchParameter>]Предоставьте утверждение для начала установки без запроса подтверждения для указанной виртуальной машины или Масштабируемые наборы виртуальных машин.

Скрипт поддерживает дикие карта для -Name и-ResourceGroup. Например, -Name vm* включает аналитику виртуальных машин для всех виртуальных машин и Масштабируемые наборы виртуальных машин, которые начинаются с "vm". Дополнительные сведения см. в разделе Wild карта s в 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

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