Habilitar insights de VM usando o PowerShell

Este artigo descreve como habilitar os insights de VM em máquinas virtuais do Azure usando o PowerShell. Esse procedimento pode ser usado para:

  • Máquinas Virtuais do Azure
  • Conjuntos de dimensionamento de máquina virtual do Azure

Este script instala extensões de VM para o Log Analytics/AMA (agente do Azure Monitor) e, se necessário, o Dependency Agent para habilitar os Insights da VM. Se o AMA estiver integrado, uma DCR (regra de coleta de dados) e uma UAMI (identidade gerenciada atribuída pelo usuário) também serão associadas às máquinas virtuais e conjuntos de dimensionamento de máquinas virtuais.

Importante

O agente herdado do Log Analyticsserá preterido em agosto de 2024. Após essa data, a Microsoft não fornecerá mais suporte para o agente do Log Analytics. Migre para o agente do Azure Monitor antes de agosto de 2024 para continuar a ingestão de dados.

Observação

Há suporte para o agente do Azure Monitor na versão 1.10.1.

Pré-requisitos

Você precisa:

Script do PowerShell

Para habilitar os insights da VM em várias VMs ou em conjuntos de dimensionamento de máquinas virtuais, use o script Install-VMInsights.ps1. O script está disponível na Galeria do Azure PowerShell. Este script itera pelas máquinas virtuais ou pelos conjuntos de dimensionamento de máquinas virtuais de acordo com os parâmetros especificados. O script pode ser usado para habilitar os insights da VM para:

  • Cada máquina virtual e conjunto de dimensionamento de máquinas virtuais em sua assinatura.
  • Os grupos de recursos com escopo especificados por -ResourceGroup.
  • Uma VM ou um conjunto de dimensionamento de máquinas virtuais especificado por -Name. Você pode especificar vários grupos de recursos, VMs ou conjuntos de dimensionamento usando curingas.

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

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

Get-Help Install-VMInsights.ps1 -Detailed

Use o script para habilitar os insights da VM usando o agente do Azure Monitor e o Dependency Agent ou o Agente do Log Analytics.

Quando você habilita os Insights da VM usando o agente do Azure Monitor, o script associa uma DCR (regra de coleta de dados) e uma UAMI (identidade gerenciada atribuída pelo usuário) à VM/ao conjunto de dimensionamento de máquinas virtuais. As configurações da UAMI são transmitidas 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 da assinatura do Azure.
  • -DcrResourceId <String> Identificador da ID do recurso do Azure da DCR (regra de coleta de dados). Você pode especificar DCRs de assinaturas diferentes para as VMs ou os conjuntos de dimensionamento de máquinas virtuais que estão sendo habilitados com os Insights da VM.
  • -UserAssignedManagedIdentityResourceGroup <String> Nome do grupo de recursos da UAMI (identidade gerenciada atribuída pelo usuário).
  • -UserAssignedManagedIdentityName <String> Nome da UAMI (identidade gerenciada atribuída pelo usuário).

Argumentos opcionais:

  • -ProcessAndDependencies Defina esse sinalizador para integrar o Dependency Agent com as configurações do AMA (agente do Azure Monitor). Se isso não for especificado, somente o AMA (agente do Azure Monitor) será integrado.
  • -Name <String> Nome da VM ou do conjunto de dimensionamento de máquinas virtuais a ser integrado. Se isso não for especificado, todas as VMs e o conjunto de dimensionamento de máquinas virtuais da assinatura ou do grupo de recursos serão integrados. Use curingas para especificar várias VMs ou Conjuntos de Dimensionamento de Máquinas Virtuais.
  • -ResourceGroup <String> Nome do grupo de recursos que contém a VM ou o conjunto de dimensionamento de máquinas virtuais a ser integrado. Se isso não for especificado, todas as VMs e o conjunto de dimensionamento de máquinas virtuais da assinatura serão integrados. Use curingas para especificar vários grupos de recursos.
  • -PolicyAssignmentName <String> Inclua somente as VMs associadas a essa política. Quando o parâmetro PolicyAssignmentName é especificado, as VMs que fazem parte do parâmetro SubscriptionId são consideradas.
  • -TriggerVmssManualVMUpdate [<SwitchParameter>] Dispare a atualização de instâncias de VM em um conjunto de dimensionamento cuja política de atualização está 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 as VMs/os Conjuntos de Dimensionamento de Máquinas Virtuais listados.

O script dá suporte a caracteres curinga em -Name e -ResourceGroup. Por exemplo, -Name vm* habilita os Insights da VM para todas as VMs e conjuntos de dimensionamento de máquinas virtuais que começam com “vm”. Para obter mais informações, confira Curingas do 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 a VM/o conjunto de dimensionamento de máquinas virtuais 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óximas etapas