Condividi tramite


Abilitare informazioni dettagliate sulle macchine virtuali usando lo script di PowerShell

Questo articolo descrive come abilitare le informazioni dettagliate sulle macchine virtuali usando uno script di PowerShell in grado di abilitare più macchine virtuali. Questo processo usa uno script per installare le estensioni di macchina virtuale per l'agente di monitoraggio di Azure e, se necessario, Dependency Agent per abilitare Informazioni dettagliate macchina virtuale. Se si esegue l'onboarding dell'agente di Monitoraggio di Azure, vengono associate anche una regola di raccolta dati e un'identità gestita assegnata dall'utente (UAMI) alle macchine virtuali e ai set di scalabilità di macchine virtuali.

Nota

Per usare PowerShell per abilitare le informazioni dettagliate sulle macchine virtuali senza usare questo script, vedere Abilitare informazioni dettagliate sulle macchine virtuali usando i modelli di Resource Manager

Computer supportati

  • Macchine virtuali di Azure
  • Set di scalabilità di macchine virtuali di Azure

Nota

L'agente di Monitoraggio di Azure è supportato dalla versione 1.10.1.

Prerequisiti

Script di PowerShell

Usare lo script di PowerShell Install-VMInsights.ps1 per abilitare informazioni dettagliate sulle macchine virtuali per più macchine virtuali o set di scalabilità di macchine virtuali. Questo script esegue l'iterazione delle macchine virtuali o dei set di scalabilità di macchine virtuali in base ai parametri specificati. Lo script può essere usato per abilitare Informazioni dettagliate macchina virtuale per:

  • Ogni macchina virtuale e set di scalabilità di macchine virtuali nella sottoscrizione.
  • Gruppi di risorse con ambito specificati da -ResourceGroup.
  • Una macchina virtuale o un set di scalabilità di macchine virtuali specificato da -Name. È possibile specificare più gruppi di risorse, macchine virtuali o set di scalabilità usando caratteri jolly.

Verificare di usare il modulo Az PowerShell versione 1.0.0 o successiva con alias di compatibilità Enable-AzureRM abilitati. Eseguire Get-Module -ListAvailable Az per trovare la versione. Se è necessario eseguire l'aggiornamento, vedere Installare il modulo Azure PowerShell. Se si esegue PowerShell in locale, eseguire Connect-AzAccount per creare una connessione con Azure.

Per un elenco di dettagli sugli argomenti dello script con esempi di utilizzo, eseguire Get-Help.

Get-Help Install-VMInsights.ps1 -Detailed

Usare lo script per abilitare Informazioni dettagliate macchina virtuale usando l'agente di monitoraggio di Azure e Dependency Agent.

Quando si abilita Informazioni dettagliate macchina virtuale usando l'agente di Monitoraggio di Azure, lo script associa una regola di raccolta dati (DCR) e un'identità gestita assegnata dall'utente al set di scalabilità di macchine virtuali / alle macchine virtuali. Le impostazioni UAMI vengono passate all'estensione agente di Monitoraggio di Azure.

Install-VMInsights.ps1 -SubscriptionId <SubscriptionId> `
[-ResourceGroup <ResourceGroup>] `
[-ProcessAndDependencies ] `
[-Name <VM or Virtual Machine Scale Set name>] `
-DcrResourceId <DataCollectionRuleResourceId> `
-UserAssignedManagedIdentityName <UserAssignedIdentityName> `
-UserAssignedManagedIdentityResourceGroup <UserAssignedIdentityResourceGroup> 

Argomenti obbligatori:

  • -SubscriptionId <String> ID della sottoscrizione di Azure.
  • -DcrResourceId <String> Identificatore dell'ID risorsa di Azure della regola di raccolta dati (DCR). È possibile specificare i DCR da sottoscrizioni diverse alle macchine virtuali o ai set di scalabilità di macchine virtuali abilitati con Informazioni dettagliate macchina virtuale.
  • -UserAssignedManagedIdentityResourceGroup <String> Nome del gruppo di risorse di identità gestita assegnata dall'utente (UAMI).
  • -UserAssignedManagedIdentityName <String> Nome dell'identità gestita assegnata dall'utente (UAMI).

Argomenti facoltativi:

  • -ProcessAndDependencies Impostare questo flag per eseguire l'onboarding del Dependency Agent con le impostazioni dell'agente di Monitoraggio di Azure. Se il valore non è specificato, viene eseguito solo l'onboarding dell'agente di Monitoraggio di Azure.
  • -Name <String> Nome della macchina virtuale o del set di scalabilità di macchine virtuali per cui eseguire l'onboarding. Se il valore non è specificato, viene eseguito l'onboarding di tutte le macchine virtuali e del set di scalabilità di macchine virtuali nella sottoscrizione o nel gruppo di risorse. Usare i caratteri jolly per specificare più macchine virtuali o set di scalabilità di macchine virtuali.
  • -ResourceGroup <String> Nome del gruppo di risorse che contiene la macchina virtuale o il set di scalabilità di macchine virtuali di cui eseguire l'onboarding. Se il valore non è specificato, viene eseguito l'onboarding di tutte le macchine virtuali e del set di scalabilità di macchine virtuali nella sottoscrizione. Usare i caratteri jolly per specificare più gruppi di risorse.
  • -PolicyAssignmentName <String> Includere solo le macchine virtuali associate a questo criterio. Quando viene specificato il parametro PolicyAssignmentName, vengono considerate le macchine virtuali che fanno parte del parametro SubscriptionId.
  • -TriggerVmssManualVMUpdate [<SwitchParameter>] Attivare l'aggiornamento delle istanze di macchina virtuale in un set di scalabilità i cui criteri di aggiornamento sono impostati su Manuale.
  • -WhatIf [<SwitchParameter>] Ottenere informazioni sull'effetto previsto dei comandi nello script.
  • -Confirm [<SwitchParameter>] Confermare ogni azione nello script.
  • -Approve [<SwitchParameter>] Fornire l'approvazione per l'installazione per iniziare senza una richiesta di conferma per i set di scalabilità di macchine virtuali / le macchine virtuali elencati.

Lo script supporta i caratteri jolly per -Name e -ResourceGroup. Ad esempio, -Name vm* abilita Informazioni dettagliate macchina virtuale per tutte le macchine virtuali e i set di scalabilità di macchine virtuali che iniziano con "vm". Per altre informazioni, vedere Caratteri jolly in Windows PowerShell.

Esempio:

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

L'output presenta il formato seguente:

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

Controllare il set di scalabilità di macchine virtuali / le macchine virtuali nel portale di Azure per verificare se le estensioni sono installate o usare il comando seguente:


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

Passaggi successivi