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:
- Vedere Gestire l'agente di Monitoraggio di Azure per i prerequisiti correlati all'agente di Monitoraggio di Azure.
- Vedere Sistemi operativi supportati per assicurarsi che il sistema operativo della macchina virtuale o del set di scalabilità di macchine virtuali che si sta abilitando sia supportato.
- Per abilitare l'isolamento di rete per l'agente di Monitoraggio di Azure, vedere Abilitare l'isolamento di rete per l'agente di Monitoraggio di Azure usando collegamento privato.
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.