Habilitar insights de VM usando o script do PowerShell

Este artigo descreve como habilitar insights de VM usando um script do PowerShell que pode habilitar várias VMs. Esse processo usa um script que instala extensões de VM para o Agente de Monitoramento do Azure (AMA) e, se necessário, o Agente de Dependência para habilitar o VM Insights. Se o AMA estiver integrado, uma Regra de Coleta de Dados (DCR) e uma UAMI (Identidade Gerenciada Atribuída pelo Usuário) também serão associadas às máquinas virtuais e aos conjuntos de dimensionamento de máquinas virtuais.

Nota

Para usar o PowerShell para habilitar insights de VM sem usar esse script, consulte Habilitar insights de VM usando modelos ARM

Máquinas suportadas

  • Máquinas Virtuais do Microsoft Azure
  • Conjuntos de Dimensionamento de Máquinas Virtuais do Azure

Nota

O Azure Monitor Agent é suportado a partir da versão 1.10.1.

Pré-requisitos

Script do PowerShell

Use o script do PowerShell Install-VMInsights.ps1 para habilitar insights de VM para várias VMs ou conjuntos de dimensionamento de máquinas virtuais. Esse script itera pelas máquinas virtuais ou conjuntos de dimensionamento de máquinas virtuais de acordo com os parâmetros especificados. O script pode ser usado para habilitar insights de VM para:

  • De cada máquina virtual e conjunto de dimensionamento de máquinas virtuais na sua subscrição.
  • Os grupos de recursos com escopo especificados pelo -ResourceGroup.
  • Um conjunto de escala de VM ou máquina virtual especificado pelo -Name. Você pode especificar vários grupos de recursos, VMs ou conjuntos de dimensionamento usando curingas.

Verifique se você está usando o módulo Az PowerShell versão 1.0.0 ou posterior com Enable-AzureRM aliases de compatibilidade habilitados. Executar Get-Module -ListAvailable Az para localizar a versão. Para atualizar, consulte Instalar o módulo do Azure PowerShell. Se você estiver executando o PowerShell localmente, execute Connect-AzAccount para criar uma conexão com o Azure.

Para obter uma lista dos detalhes do argumento do script e do uso de exemplo, execute Get-Help.

Get-Help Install-VMInsights.ps1 -Detailed

Use o script para habilitar insights de VM usando o Agente de Monitoramento do Azure e o Agente de Dependência.

Quando você habilita insights de VM usando o Azure Monitor Agent, o script associa uma Regra de Coleta de Dados (DCR) e uma Identidade Gerenciada Atribuída ao Usuário (UAMI) ao Conjunto de Dimensionamento de VM/Máquina Virtual. As configurações do UAMI são passadas para a extensão do Agente do 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 necessários:

  • -SubscriptionId <String> ID de assinatura do Azure.
  • -DcrResourceId <String> Identificador de ID de recurso do Azure da Regra de Recolha de Dados (DCR). Você pode especificar DCRs de diferentes assinaturas para as VMs ou conjuntos de dimensionamento de máquinas virtuais que estão sendo habilitados com o Vm-Insights.
  • -UserAssignedManagedIdentityResourceGroup <String> Nome do grupo de recursos UAMI (User Assigned Managed Identity).
  • -UserAssignedManagedIdentityName <String> Nome da Identidade Gerenciada Atribuída ao Usuário (UAMI).

Argumentos opcionais:

  • -ProcessAndDependencies Defina esse sinalizador para integrar o Agente de Dependência com as configurações do Agente de Monitoramento do Azure (AMA). Se não for especificado, apenas o Agente de Monitoramento do Azure (AMA) será integrado.
  • -Name <String> Nome da VM ou do Conjunto de Escala da Máquina Virtual a ser integrado. Se não for especificado, todas as VMs e o Conjunto de Dimensionamento de Máquina Virtual na assinatura ou no grupo de recursos serão integrados. Use curingas para especificar várias VMs ou Conjuntos de Dimensionamento de Máquina Virtual.
  • -ResourceGroup <String> Nome do grupo de recursos que contém a VM ou o Conjunto de Dimensionamento de Máquina Virtual a ser integrado. Se não for especificado, todas as VMs e o Conjunto de Escala de Máquina Virtual na assinatura serão integrados. Use curingas para especificar vários grupos de recursos.
  • -PolicyAssignmentName <String> Inclua apenas VMs associadas a esta política. Quando o parâmetro PolicyAssignmentName é especificado, a parte VMs do parâmetro SubscriptionId é considerada.
  • -TriggerVmssManualVMUpdate [<SwitchParameter>] Acione a atualização de instâncias de VM em um conjunto de escala cuja política de atualização esteja definida como Manual.
  • -WhatIf [<SwitchParameter>] Obtenha informações sobre o efeito esperado dos comandos no script.
  • -Confirm [<SwitchParameter>] Confirme cada ação no script.
  • -Approve [<SwitchParameter>] Forneça a aprovação para que a instalação seja iniciada sem nenhum prompt de confirmação para os conjuntos de escala de VM/máquina virtual listados.

O script suporta curingas para -Name e -ResourceGroup. Por exemplo, -Name vm* habilita insights de VM para todas as VMs e Conjuntos de Escala de Máquina Virtual que começam com "vm". Para obter mais informações, consulte Curingas no Windows PowerShell.

Exemplo:

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

A saída tem o seguinte 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

Verifique seu Conjunto de Escala de VM/Máquina Virtual no portal do Azure para ver se as extensões estão instaladas ou use o seguinte comando:


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

Próximos passos

  • Consulte Usar mapa de insights de VM para exibir dependências de aplicativos descobertas.
  • Consulte Exibir o desempenho da VM do Azure para identificar gargalos, a utilização geral e o desempenho da sua VM.