Activer VM Insights à l’aide de PowerShell
Cet article explique comment activer VM Insights sur des machines virtuelles Azure à l’aide de PowerShell. Cette procédure peut être utilisée pour :
- Machines virtuelles Azure
- Groupes de machines virtuelles identiques Azure
Ce script installe les extensions de machine virtuelle pour Log Analytics/AMA (agent Azure Monitor) et, si nécessaire, Dependency Agent afin d’activer VM Insights. Si AMA est intégré, une règle de collecte de données (DCR) et une identité managée affectée par l’utilisateur (UAMI) sont également associées aux machines virtuelles et aux groupes de machines virtuelles identiques.
Important
L’agent Log Analytics hérité sera déconseillé d’ici août 2024. Passé cette date, Microsoft ne fournira plus de support pour l’agent Log Analytics. Migrez vers l’agent Azure Monitor avant août 2024 pour continuer à ingérer des données.
Remarque
L’agent Azure Monitor est pris en charge à partir de la version 1.10.1.
Prérequis
Vous devez :
- Consulter l’article Gérer l’agent Azure Monitor pour connaître les prérequis liés à l’agent Azure Monitor.
- Pour vous assurer que le système d’exploitation de la machine virtuelle ou du groupe de machines virtuelles identiques que vous activez est pris en charge, consulter Systèmes d’exploitation pris en charge.
- Si vous souhaitez activer l’isolement réseau pour l’agent Azure Monitor, consultez Activer l’isolation réseau pour l’agent Azure Monitor à l’aide de Private Link.
Script PowerShell
Si vous souhaitez activer VM Insights pour plusieurs machines virtuelles ou groupes de machines virtuelles identiques, utilisez le script PowerShell Install-VMInsights.ps1. Ce script est disponible sur Azure PowerShell Gallery. Ce script itère sur les machines virtuelles ou les groupes de machines virtuelles identiques en fonction des paramètres que vous spécifiez. Le script peut être utilisé afin d’activer VM Insights pour :
- Chaque machine virtuelle et groupe de machines virtuelles identiques dans votre abonnement.
- Les groupes de ressources délimités par une étendue et spécifiés par
-ResourceGroup
. - Une machine virtuelle ou un groupe de machines virtuelles identiques spécifié par
-Name
. Vous pouvez spécifier plusieurs groupes de ressources, machines virtuelles ou groupes identiques à l’aide de caractères génériques.
Vérifiez que vous utilisez le module Az PowerShell version 1.0.0 ou ultérieure avec les alias de compatibilité Enable-AzureRM
activés. Exécutez Get-Module -ListAvailable Az
pour trouver la version. Pour effectuer la mise à niveau, consultez Installer le module Azure PowerShell. Si vous exécutez PowerShell en local, exécutez Connect-AzAccount
pour créer une connexion avec Azure.
Pour obtenir la liste des détails relatifs aux arguments du script ainsi qu’un exemple d’utilisation, exécutez Get-Help
.
Get-Help Install-VMInsights.ps1 -Detailed
Exécutez le script pour activer VM Insights en utilisant l’agent Azure Monitor et Dependency Agent, ou l’agent Log Analytics.
Quand vous activez VM Insights à l’aide de l’agent Azure Monitor, le script associe une règle de collecte de données (DCR) et une identité managée affectée par l’utilisateur (UAMI) à la machine virtuelle/au groupe de machines virtuelles identiques. Les paramètres d’identité managée affectée par l’utilisateur sont passés à l’extension de l’agent Azure Monitor.
Install-VMInsights.ps1 -SubscriptionId <SubscriptionId> `
[-ResourceGroup <ResourceGroup>] `
[-ProcessAndDependencies ] `
[-Name <VM or Virtual Machine Scale Set name>] `
-DcrResourceId <DataCollectionRuleResourceId> `
-UserAssignedManagedIdentityName <UserAssignedIdentityName> `
-UserAssignedManagedIdentityResourceGroup <UserAssignedIdentityResourceGroup>
Arguments requis :
-SubscriptionId <String>
ID d’abonnement Azure.-DcrResourceId <String>
Identificateur d’ID de ressource Azure de la règle de collecte de données. Vous pouvez appliquer des règles de collecte de données de différents abonnements aux machines virtuelles ou groupes de machines virtuelles identiques pour lesquels Vm-Insights est activé.-UserAssignedManagedIdentityResourceGroup <String>
Nom du groupe de ressources associé à l’identité managée affectée par l’utilisateur.-UserAssignedManagedIdentityName <String>
Nom de l’identité managée affectée par l’utilisateur.
Arguments facultatifs :
-ProcessAndDependencies
Définissez cet indicateur pour intégrer Dependency Agent aux paramètres d’AMA (agent Azure Monitor). S’il n’est pas spécifié, seul AMA (agent Azure Monitor) est intégré.-Name <String>
Nom de la machine virtuelle ou du groupe de machines virtuelles identiques à intégrer. S’il n’est pas spécifié, toutes les machines virtuelles et tous les groupes de machines virtuelles identiques de l’abonnement ou du groupe de ressources sont intégrés. Utilisez des caractères génériques pour spécifier plusieurs machines virtuelles ou groupes de machines virtuelles identiques.-ResourceGroup <String>
Nom du groupe de ressources contenant la machine virtuelle ou le groupe de machines virtuelles identiques à intégrer. S’il n’est pas spécifié, toutes les machines virtuelles et tous les groupes de machines virtuelles identiques de l’abonnement sont intégrés. Utilisez des caractères génériques pour spécifier plusieurs groupes de ressources.-PolicyAssignmentName <String>
Incluez uniquement les machines virtuelles associées à cette stratégie. Quand le paramètre PolicyAssignmentName est spécifié, la partie relative aux machines virtuelles du paramètre SubscriptionId est prise en compte.-TriggerVmssManualVMUpdate [<SwitchParameter>]
Permet de déclencher la mise à jour des instances de machines virtuelles dans un groupe identique dont la stratégie de mise à niveau est de type Manuel.-WhatIf [<SwitchParameter>]
Permet d’obtenir des informations sur l’effet attendu des commandes dans le script.-Confirm [<SwitchParameter>]
Permet de confirmer chaque action dans le script.-Approve [<SwitchParameter>]
Permet d’octroyer l’approbation nécessaire au démarrage de l’installation sans invite de confirmation pour les machines virtuelles/groupes de machines virtuelles identiques listées.
Le script prend en charge les caractères génériques pour -Name
et -ResourceGroup
. Par exemple, -Name vm*
active VM Insights pour l’ensemble des machines virtuelles et des groupes de machines virtuelles identiques commençant par « vm ». Pour plus d’informations, consultez Caractères génériques dans Windows PowerShell.
Exemple :
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
La sortie a le format suivant :
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
Vérifiez votre machine virtuelle/groupe de machines virtuelles identiques dans le portail Azure pour voir si les extensions sont installées, ou utilisez la commande suivante :
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
Étapes suivantes
- Pour afficher les dépendances d’applications découvertes, consultez Utiliser la Carte VM Insights.
- Pour identifier les goulots d’étranglement, l’utilisation globale et les performances de votre machine virtuelle, consultez Afficher les performances des machines virtuelles Azure.