Share via


Abilitare le informazioni dettagliate sulle macchine virtuali con PowerShell

Questo articolo descrive come abilitare informazioni dettagliate sulle macchine virtuali di Azure usando PowerShell. Questa procedura può essere usata per:

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

Questo script installa le estensioni vm per Log Analytics/Azure Monitoring Agent (AMA) e, se necessario, Dependency Agent per abilitare Informazioni dettagliate macchina virtuale. Se si esegue l'onboarding di AMA, viene associata 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.

Importante

L'agentedi Log Analytics legacy sarà deprecato entro agosto 2024. Dopo questa data, Microsoft non fornirà più supporto per l'agente di Log Analytics. Eseguire la migrazione all'agente di Monitoraggio di Azure prima di agosto 2024 per continuare l'inserimento dei dati.

Nota

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

Prerequisiti

Dovrai:

Script di PowerShell

Per abilitare informazioni dettagliate sulle macchine virtuali per più macchine virtuali o set di scalabilità di macchine virtuali, usare lo script di PowerShell Install-VMInsights.ps1. Lo script è disponibile in Azure PowerShell Gallery. Questo script scorre le macchine virtuali o i set di scalabilità di macchine virtuali in base ai parametri specificati. Lo script può essere usato per abilitare le informazioni dettagliate sulle macchine virtuali 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 Enable-AzureRM alias di compatibilità abilitati. Eseguire Get-Module -ListAvailable Az per trovare la versione. Per 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 dei dettagli dell'argomento dello script e dell'utilizzo di esempio, eseguire Get-Help.

Get-Help Install-VMInsights.ps1 -Detailed

Usare lo script per abilitare le informazioni dettagliate sulle macchine virtuali usando l'agente di monitoraggio di Azure e Dependency Agent o l'agente di Log Analytics.

Quando si abilitano informazioni dettagliate sulle macchine virtuali 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/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 sottoscrizione di Azure.
  • -DcrResourceId <String> Identificatore dell'ID risorsa di Azure DCR (Data Collection Rule). È possibile specificare controller di dominio da sottoscrizioni diverse alle macchine virtuali o ai set di scalabilità di macchine virtuali abilitati con Vm-Insights.
  • -UserAssignedManagedIdentityResourceGroup <String> Nome del gruppo di risorse UAMI (User Assigned Managed Identity).
  • -UserAssignedManagedIdentityName <String> Nome dell'identità gestita assegnata dall'utente.

Argomenti facoltativi:

  • -ProcessAndDependencies Impostare questo flag per eseguire l'onboarding dell'agente di dipendenza con le impostazioni dell'agente di monitoraggio di Azure. Se 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 da caricare. Se 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 contenente la macchina virtuale o il set di scalabilità di macchine virtuali di cui eseguire l'onboarding. Se 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 il set di scalabilità di macchine virtuali della macchina virtuale elencata.

Lo script supporta i caratteri jolly per -Name e -ResourceGroup. Ad esempio, -Name vm* abilita informazioni dettagliate sulle macchine virtuali per tutte le macchine virtuali e 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/macchine virtuali in 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

  • Vedere Usare la mappa delle informazioni dettagliate delle macchine virtuali per visualizzare le dipendenze delle applicazioni individuate.
  • Vedere Visualizzare le prestazioni delle macchine virtuali di Azure per identificare i colli di bottiglia, l'utilizzo complessivo e le prestazioni della macchina virtuale.