Включение аналитики виртуальных машин с помощью PowerShell
В этой статье описывается, как включить аналитику виртуальных машин на виртуальных машинах Azure с помощью PowerShell. Эту процедуру можно использовать для:
- Виртуальные машины Azure
- Масштабируемые наборы виртуальных машин Azure
Этот скрипт устанавливает расширения виртуальных машин для Агента мониторинга Azure (AMA) и при необходимости агент зависимостей для включения Аналитика виртуальной машины. Если AMA подключена, правило сбора данных (DCR) и управляемое удостоверение пользователя (UAMI) также связаны с виртуальными машинами и масштабируемыми наборами виртуальных машин.
Внимание
Поддержка устаревшего агента Log Analyticsбудет прекращена в августе 2024 года. После этой даты корпорация Майкрософт больше не будет предоставлять поддержку агента Log Analytics. Чтобы продолжить прием данных, перейдите на агент Azure Monitor до августа 2024 года.
Примечание.
Агент Azure Monitor поддерживается в версии 1.10.1.
Необходимые компоненты
Вам нужно:
- См. статью "Управление агентом Azure Monitor" для предварительных требований, связанных с агентом Azure Monitor.
- Ознакомьтесь с поддерживаемыми операционными системами, чтобы убедиться, что операционная система виртуальной машины или масштабируемого набора виртуальных машин, которую вы включаете, поддерживается.
- Чтобы включить сетевую изоляцию для агента Azure Monitor, см. статью "Включить сетевую изоляцию для агента Azure Monitor" с помощью Приватный канал.
Сценарий 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
Следующие шаги
- См. статью Использование функции Map из VM Insights для понимания компонентов приложения.
- См. статью Создание диаграммы производительности с помощью VM Insights, чтобы определить узкие места, уровень потребления и производительности виртуальной машины.