Habilitar VM Insights mediante PowerShell
En este artículo se describe cómo habilitar la información de VM en máquinas virtuales de Azure mediante PowerShell. Este procedimiento se puede usar para:
- Azure Virtual Machines
- Azure Virtual Machine Scale Sets
Este script instala extensiones de máquina virtual para Azure Monitoring Agent (AMA) y, si es necesario, Dependency Agent para habilitar VM Insights. Si se incorpora AMA, también se asocia una regla de recopilación de datos (DCR) y una identidad administrada asignada por el usuario (UAMI) a las máquinas virtuales y a los conjuntos de escalado de máquinas virtuales.
Nota:
El agente de Azure Monitor es compatible con la versión 1.10.1.
Requisitos previos
Necesita:
- Consulte Administrar el agente de Azure Monitorpara conocer los requisitos previos relacionados con el agente de Azure Monitor.
- Vea Sistemas operativos admitidos para asegurarse de que el sistema operativo de la máquina virtual o el conjunto de escalado de máquinas virtuales que va a habilitar son compatibles.
- Para habilitar el aislamiento de red para el agente de Azure Monitor, consulte Habilitar aislamiento de red para el agente de Azure Monitor mediante Azure Private Link.
Script de PowerShell
Para habilitar VM Insights para varias VM o conjuntos de escalado de máquinas virtuales, use el script de PowerShell Install-VMInsights.ps1. El script está disponible en la Galería de PowerShell de Azure. Este script recorre en iteración las máquinas virtuales o los conjuntos de escalado de máquinas virtuales según los parámetros que especifique. El script se puede usar para habilitar VM Insights para:
- Cada máquina virtual y conjunto de escalado de máquinas virtuales de su suscripción.
- Los grupos de recursos con ámbito especificados por
-ResourceGroup
. - Una máquina virtual o un conjunto de escalado de máquinas virtuales especificado por
-Name
. Puede especificar varios grupos de recursos, máquinas virtuales o conjuntos de escalado mediante caracteres comodín.
Compruebe que usa la versión 1.0.0 o posterior del módulo Az PowerShell con Enable-AzureRM
alias de compatibilidad habilitados. Ejecute Get-Module -ListAvailable Az
para encontrar la versión. Para actualizar, consulte Instalar módulo de Azure PowerShell. Si PowerShell se ejecuta localmente, ejecute Connect-AzAccount
para crear una conexión con Azure.
Para obtener una lista de los detalles del argumento del script y el uso de ejemplo, ejecute Get-Help
.
Get-Help Install-VMInsights.ps1 -Detailed
Use el script para habilitar VM Insights mediante Azure Monitoring Agent y Dependency Agent.
Al habilitar VM Insights mediante el agente de Azure Monitor, el script asocia una regla de recopilación de datos (DCR) y una identidad administrada asignada por el usuario (UAMI) al conjunto de escalado de máquinas virtuales o máquinas virtuales. La configuración de UAMI se pasa a la extensión del agente de Azure Monitor.
Install-VMInsights.ps1 -SubscriptionId <SubscriptionId> `
[-ResourceGroup <ResourceGroup>] `
[-ProcessAndDependencies ] `
[-Name <VM or Virtual Machine Scale Set name>] `
-DcrResourceId <DataCollectionRuleResourceId> `
-UserAssignedManagedIdentityName <UserAssignedIdentityName> `
-UserAssignedManagedIdentityResourceGroup <UserAssignedIdentityResourceGroup>
Argumentos necesarios:
-SubscriptionId <String>
Id. de suscripción a Azure.-DcrResourceId <String>
Id. de identificador de recurso de Azure de la regla de recopilación de datos (DCR). Puede especificar DCR de distintas suscripciones a las máquinas virtuales o conjuntos de escalado de máquinas virtuales que se habilitan con Vm-Insights.-UserAssignedManagedIdentityResourceGroup <String>
Nombre del grupo de recursos de identidad administrada asignada por el usuario (UAMI).-UserAssignedManagedIdentityName <String>
Nombre de la identidad administrada asignada por el usuario (UAMI).
Argumentos opcionales:
-ProcessAndDependencies
Establezca esta marca para incorporar Dependency Agent con la configuración de Azure Monitoring Agent (AMA). Si no se especifica, solo se incorpora el Agente de supervisión de Azure (AMA).-Name <String>
Nombre de la máquina virtual o del conjunto de escalado de máquinas virtuales que se va a incorporar. Si no se especifica, se incorporan todas las máquinas virtuales y el conjunto de escalado de máquinas virtuales de la suscripción o el grupo de recursos. Use caracteres comodín para especificar varias máquinas virtuales o Microsoft Azure Virtual Machine Scale Sets.-ResourceGroup <String>
Nombre del grupo de recursos que contiene la máquina virtual o el conjunto de escalado de máquinas virtuales que se van a incorporar. Si no se especifica, se incorporan todas las máquinas virtuales y el conjunto de escalado de máquinas virtuales de la suscripción. Use caracteres comodín para especificar varios grupos de recursos.-PolicyAssignmentName <String>
Incluya solo las máquinas virtuales asociadas a esta directiva. Cuando se especifica el parámetro PolicyAssignmentName, se tienen en cuenta las máquinas virtuales del parámetro SubscriptionId.-TriggerVmssManualVMUpdate [<SwitchParameter>]
Desencadene la actualización de instancias de máquina virtual en un conjunto de escalado cuya directiva de actualización esté establecida en Manual.-WhatIf [<SwitchParameter>]
Obtenga información sobre el efecto esperado de los comandos en el script.-Confirm [<SwitchParameter>]
Confirme cada acción en el script.-Approve [<SwitchParameter>]
Proporcione la aprobación para que la instalación se inicie sin petición de confirmación para Microsoft Azure Virtual Machine Scale Sets o máquinas virtuales enumerados.
El script admite caracteres comodín para -Name
y -ResourceGroup
. Por ejemplo, -Name vm*
habilita VM Insights para todas las máquinas virtuales y los conjuntos de escalado de máquinas virtuales que comienzan por "vm". Para obtener más información, consulte Caracteres comodín en Windows PowerShell.
Ejemplo:
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
La salida tiene el siguiente formato:
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
Compruebe el conjunto de escalado de máquinas virtuales o máquinas virtuales en Azure Portal para ver si las extensiones están instaladas o use el comando siguiente:
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
Pasos siguientes
- Para visualizar las dependencias de las aplicaciones detectadas, vea Uso de la característica de asignación de VM Insights.
- Consulte Ver el rendimiento de las máquinas virtuales de Azure para identificar cuellos de botella, el uso general y el rendimiento de la máquina virtual.