L’extension de machine virtuelle de l’agent Network Watcher est obligatoire pour certaines fonctionnalités d’Azure Network Watcher qui capturent le trafic afin de diagnostiquer et de superviser les machines virtuelles Azure. Pour plus d’informations, consultez Présentation d’Azure Network Watcher.
Dans cet article, vous apprenez comment installer, mettre à jour et désinstaller Network Watcher Agent pour Windows et Linux. L’installation de l’agent n’est pas perturbante et ne nécessite pas le redémarrage de la machine virtuelle. Si la machine virtuelle est déployée par un service Azure, vérifiez la documentation du service pour déterminer s’il permet d’installer des extensions dans la machine virtuelle.
Note
L'extension Network Watcher Agent n'est pas prise en charge sur les clusters AKS.
Prerequisites
Une machine virtuelle Azure (VM) fonctionnant sous un système d’exploitation pris en charge. Pour plus d’informations, voir Systèmes d’exploitation pris en charge.
Connectivité TCP sortante vers 169.254.169.254 sur port 80 et 168.63.129.16 sur port 8037. L’agent utilise ces adresses IP pour communiquer avec la plateforme Azure.
Connectivité Internet : Network Watcher Agent nécessite une connectivité internet pour que certaines fonctionnalités fonctionnent correctement. Par exemple, il nécessite une connectivité à votre compte de stockage pour charger des captures de paquets.
Une machine virtuelle Azure (VM) fonctionnant sous un système d’exploitation pris en charge. Pour plus d’informations, voir Systèmes d’exploitation pris en charge.
Connectivité TCP sortante vers 169.254.169.254 sur port 80 et 168.63.129.16 sur port 8037. L’agent utilise ces adresses IP pour communiquer avec la plateforme Azure.
Connectivité Internet : Network Watcher Agent nécessite une connectivité internet pour que certaines fonctionnalités fonctionnent correctement. Par exemple, il nécessite une connectivité à votre compte de stockage pour charger des captures de paquets.
Azure Cloud Shell ou Azure PowerShell.
Les étapes décrites dans cet article exécutent les applets de commande Azure PowerShell de manière interactive dans Azure Cloud Shell. Pour exécuter les commandes dans le Cloud Shell, sélectionnez Open Cloud Shell en haut à droite d’un bloc de code. Sélectionnez Copier pour copier le code, puis collez-le dans Cloud Shell pour l’exécuter. Vous pouvez également exécuter le Cloud Shell à partir du portail Azure.
Vous pouvez également installer Azure PowerShell localement pour exécuter les applets de commande. Si vous exécutez PowerShell localement, connectez-vous à Azure avec la cmdlet Connect-AzAccount.
Une machine virtuelle Azure (VM) fonctionnant sous un système d’exploitation pris en charge. Pour plus d’informations, voir Systèmes d’exploitation pris en charge.
Connectivité TCP sortante vers 169.254.169.254 sur port 80 et 168.63.129.16 sur port 8037. L’agent utilise ces adresses IP pour communiquer avec la plateforme Azure.
Connectivité Internet : Network Watcher Agent nécessite une connectivité internet pour que certaines fonctionnalités fonctionnent correctement. Par exemple, il nécessite une connectivité à votre compte de stockage pour charger des captures de paquets.
Azure Cloud Shell ou Azure CLI.
Les étapes décrites dans cet article exécutent les commandes Azure CLI de manière interactive dans Azure Cloud Shell. Pour exécuter les commandes dans le Cloud Shell, sélectionnez Open Cloud Shell en haut à droite d’un bloc de code. Sélectionnez Copier pour copier le code, puis collez-le dans Cloud Shell afin de l’exécuter. Vous pouvez également exécuter le Cloud Shell à partir du portail Azure.
Vous pouvez également installer Azure CLI localement afin d’exécuter les commandes. Si vous exécutez Azure CLI localement, connectez-vous à Azure à l’aide de la commande az login .
Une machine virtuelle Azure (VM) fonctionnant sous un système d’exploitation pris en charge. Pour plus d’informations, voir Systèmes d’exploitation pris en charge.
Connectivité TCP sortante vers 169.254.169.254 sur port 80 et 168.63.129.16 sur port 8037. L’agent utilise ces adresses IP pour communiquer avec la plateforme Azure.
Connectivité Internet : Network Watcher Agent nécessite une connectivité internet pour que certaines fonctionnalités fonctionnent correctement. Par exemple, il nécessite une connectivité à votre compte de stockage pour charger des captures de paquets.
Azure PowerShell ou Azure CLI installé localement pour déployer le modèle.
Systèmes d'exploitation pris en charge
Vous pouvez installer l’extension Network Watcher Agent pour Windows sur les systèmes d’exploitation suivants :
- Versions de Windows Server 2012, 2012 R2, 2016, 2019, 2022 et 2025.
- Versions de Windows 10 et 11.
Note
Actuellement, Nano Server n’est pas pris en charge.
Vous pouvez installer l’extension Network Watcher Agent pour Linux sur les distributions Linux suivantes :
| Distribution |
Version |
| AlmaLinux |
9.2 |
| Azure Linux |
2.0 |
| CentOS 1 |
6.10 et 7 |
| Debian |
7 et 8 |
| openSUSE Leap |
42.3+ |
| Oracle Linux |
6.10 2, 7, 8 et 9+ |
| Red Hat Enterprise Linux (RHEL) |
6.10 3, 7, 8 et 9.2 |
| Linux rocailleux |
9,1 |
| SLES (SUSE Linux Enterprise Server) |
12 et 15 (SP2, SP3 et SP4) |
| Ubuntu |
16+ |
1 CentOS Linux a atteint sa fin de vie (EOL) le 30 juin 2024. Pour plus d’informations, consultez les conseils sur la fin de vie centOS.
2La prise en charge du cycle de vie étendu (ELS) pour Oracle Linux version 6.X a pris fin le 1er juillet 2024.
3La prise en charge du cycle de vie étendu (ELS) pour Red Hat Enterprise Linux 6.X a pris fin le 30 juin 2024.
Note
La surveillance du protocole Internet Control Message Protocol (ICMP) n'est actuellement pas prise en charge dans le Network Watcher Agent sur Oracle Linux en raison de limitations connues au niveau du noyau propres à la distribution.
Schéma d’extensions
Le JSON suivant illustre le schéma de l’extension Agent Network Watcher. L’extension ne nécessite ni ne prend en charge aucun réglage fourni par l’utilisateur, et elle repose sur sa configuration par défaut.
{
"name": "[concat(parameters('vmName'), '/AzureNetworkWatcherExtension')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2023-03-01",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', parameters('vmName'))]"
],
"properties": {
"autoUpgradeMinorVersion": true,
"publisher": "Microsoft.Azure.NetworkWatcher",
"type": "NetworkWatcherAgentWindows",
"typeHandlerVersion": "1.4"
}
}
{
"name": "[concat(parameters('vmName'), '/AzureNetworkWatcherExtension')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2023-03-01",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', parameters('vmName'))]"
],
"properties": {
"autoUpgradeMinorVersion": true,
"publisher": "Microsoft.Azure.NetworkWatcher",
"type": "NetworkWatcherAgentLinux",
"typeHandlerVersion": "1.4"
}
}
Lister les extensions installées
Depuis la page de la machine virtuelle du portail Azure, vous pouvez consulter les extensions installées en suivant ces étapes :
Sous Paramètres, sélectionnez Extensions + applications.
Sous l’onglet Extensions, vous pouvez voir toutes les extensions installées sur la machine virtuelle. Si la liste est longue, utilisez la barre de recherche pour filtrer la liste.
Utilisez le cmdlet Get-AzVMExtension pour lister toutes les extensions installées sur la machine virtuelle.
# List the installed extensions on the virtual machine.
Get-AzVMExtension -ResourceGroupName 'myResourceGroup' -VMName 'myVM' | format-table Name, Publisher, ExtensionType, AutoUpgradeMinorVersion, EnableAutomaticUpgrade
La sortie de la cmdlet répertorie les extensions installées :
Name Publisher ExtensionType AutoUpgradeMinorVersion EnableAutomaticUpgrade
---- --------- ------------- ----------------------- ----------------------
AzureNetworkWatcherExtension Microsoft.Azure.NetworkWatcher NetworkWatcherAgentWindows True True
Name Publisher ExtensionType AutoUpgradeMinorVersion EnableAutomaticUpgrade
---- --------- ------------- ----------------------- ----------------------
AzureNetworkWatcherExtension Microsoft.Azure.NetworkWatcher NetworkWatcherAgentLinux True True
Utilisez la commande az vm extension list pour lister toutes les extensions installées sur la machine virtuelle.
# List the installed extensions on the virtual machine.
az vm extension list --resource-group 'myResourceGroup' --vm-name 'myVM' --out table
La sortie de la commande répertorie les extensions installées :
Name ProvisioningState Publisher Version AutoUpgradeMinorVersion
---------------------------- ------------------- ------------------------------ --------- -------------------------
AzureNetworkWatcherExtension Succeeded Microsoft.Azure.NetworkWatcher 1.4 True
Installer l’extension de machine virtuelle de l’agent Network Watcher
À partir de la page de machine virtuelle dans le Portail Azure, vous pouvez installer l’extension de machine virtuelle de l’agent Network Watcher en suivant les étapes suivantes :
Sous Paramètres, sélectionnez Extensions + applications.
Sélectionnez + Ajouter, cherchez Network Watcher Agent, et installez-le. Si l’extension est déjà installée, vous pouvez la voir dans la liste des extensions.
Dans la barre de recherche Installer une extension, saisissez Network Watcher Agent, sélectionnez l’extension correspondante à votre système d’exploitation dans la liste, puis sélectionnez Suivant.
Sélectionnez Vérifier + créer, puis sélectionnez Créer.
Utilisez le cmdlet Set-AzVMExtension pour installer l’extension VM Network Watcher Agent sur la machine virtuelle :
# Install Network Watcher Agent for Windows on the virtual machine.
Set-AzVMExtension -Name 'AzureNetworkWatcherExtension' -Publisher 'Microsoft.Azure.NetworkWatcher' -ExtensionType 'NetworkWatcherAgentWindows' -EnableAutomaticUpgrade 1 -TypeHandlerVersion '1.4' -ResourceGroupName 'myResourceGroup' -VMName 'myVM'
# Install Network Watcher Agent for Linux on the virtual machine.
Set-AzVMExtension -Name 'AzureNetworkWatcherExtension' -Publisher 'Microsoft.Azure.NetworkWatcher' -ExtensionType 'NetworkWatcherAgentLinux' -EnableAutomaticUpgrade 1 -TypeHandlerVersion '1.4' -ResourceGroupName 'myResourceGroup' -VMName 'myVM'
Lorsque l’installation est terminée, vous voyez la sortie suivante :
RequestId IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
True OK
Utilisez la commande az vm extension set pour installer l’extension de machine virtuelle Network Watcher Agent dans la machine virtuelle :
# Install Network Watcher Agent for Windows on the virtual machine.
az vm extension set --name 'NetworkWatcherAgentWindows' --extension-instance-name 'AzureNetworkWatcherExtension' --publisher 'Microsoft.Azure.NetworkWatcher' --enable-auto-upgrade 'true' --version '1.4' --resource-group 'myResourceGroup' --vm-name 'myVM'
# Install Network Watcher Agent for Linux on the virtual machine.
az vm extension set --name 'NetworkWatcherAgentLinux' --extension-instance-name 'AzureNetworkWatcherExtension' --publisher 'Microsoft.Azure.NetworkWatcher' --enable-auto-upgrade 'true' --version '1.4' --resource-group 'myResourceGroup' --vm-name 'myVM'
Utilisez le modèle Azure Resource Manager (modèle ARM) suivant pour installer l’extension VM Network Watcher Agent sur une machine virtuelle :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
}
},
"resources": [
{
"name": "[concat(parameters('vmName'), '/AzureNetworkWatcherExtension')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2024-07-01",
"location": "[resourceGroup().location]",
"properties": {
"autoUpgradeMinorVersion": true,
"publisher": "Microsoft.Azure.NetworkWatcher",
"type": "NetworkWatcherAgentWindows",
"typeHandlerVersion": "1.4"
}
}
]
}
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
}
},
"resources": [
{
"name": "[concat(parameters('vmName'), '/AzureNetworkWatcherExtension')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2024-07-01",
"location": "[resourceGroup().location]",
"properties": {
"autoUpgradeMinorVersion": true,
"publisher": "Microsoft.Azure.NetworkWatcher",
"type": "NetworkWatcherAgentLinux",
"typeHandlerVersion": "1.4"
}
}
]
}
Vous pouvez utiliser Azure PowerShell ou Azure CLI pour déployer le modèle Resource Manager :
# Deploy the JSON template file using Azure PowerShell.
New-AzResourceGroupDeployment -ResourceGroupName 'myResourceGroup' -TemplateFile 'agent.json'
# Deploy the JSON template file using the Azure CLI.
az deployment group create --resource-group 'myResourceGroup' --template-file 'agent.json'
Mise à jour de l’extension VM Network Watcher Agent
Vérifier la version de votre extension
Vous pouvez vérifier la version de votre extension à l’aide du portail Azure, d’Azure CLI ou de PowerShell.
Allez dans Extensions + applications de votre VM dans le portail Azure.
Dans la liste des extensions, vérifiez la colonne Version pour AzureNetworkWatcherExtension. Si une version plus récente est disponible, la colonne Dernière version s’affiche (Mise à jour disponible).
Utilisez le cmdlet Get-AzVM pour vérifier la version installée de l’extension :
(Get-AzVM -ResourceGroupName 'myResourceGroup' -Name 'myVM' -Status).Extensions | Where-Object { $_.Name -eq 'AzureNetworkWatcherExtension' } | Select-Object Name, TypeHandlerVersion
Utilisez le commandlet Get-AzVMExtensionImage pour trouver la dernière version disponible de l’extension pour le système d’exploitation et la région de votre VM :
Get-AzVMExtensionImage -Location '<region>' -PublisherName 'Microsoft.Azure.NetworkWatcher' -Type 'NetworkWatcherAgentWindows' | Sort-Object -Property { [Version]$_.Version } -Descending | Select-Object -First 1
Get-AzVMExtensionImage -Location '<region>' -PublisherName 'Microsoft.Azure.NetworkWatcher' -Type 'NetworkWatcherAgentLinux' | Sort-Object -Property { [Version]$_.Version } -Descending | Select-Object -First 1
Utilisez la commande az-vm get-instance-view pour vérifier la version installée de l’extension :
az vm get-instance-view --resource-group 'myResourceGroup' --name 'myVM' --query "extensions[?name=='AzureNetworkWatcherExtension'].typeHandlerVersion" --output tsv
Utilisez la commande az vm extension image list pour trouver la dernière version disponible de l’extension pour le système d’exploitation de votre VM :
az vm extension image list --name 'NetworkWatcherAgentWindows' --publisher 'Microsoft.Azure.NetworkWatcher' --latest
az vm extension image list --name 'NetworkWatcherAgentLinux' --publisher 'Microsoft.Azure.NetworkWatcher' --latest
Note
La version la plus récente de l’extension Network Watcher est 1.4.4011.1.
Activer la mise à jour automatique
La mise à jour automatique permet à la plateforme Azure de mettre à jour l’extension vers la dernière version sans intervention manuelle. Utilisez les étapes suivantes pour vérifier si la mise à niveau automatique est activée, et pour l’activer si ce n’est pas le cas.
Dans les paramètres de votre VM sur le portail Azure, sélectionnez Extensions + applications.
Sélectionnez AzureNetworkWatcherExtension dans la liste des extensions, et vérifiez la colonne État de mise à niveau automatique .
Si l’affichage est désactivé, sélectionnez Activer la mise à jour automatique depuis la barre d’outils.
Sélectionnez Oui pour confirmer.
Utilisez le cmdlet Get-AzVMExtension pour vérifier si la mise à jour automatique est activée :
Get-AzVMExtension -ResourceGroupName 'myResourceGroup' -VMName 'myVM' -Name 'AzureNetworkWatcherExtension' | Select-Object Name, EnableAutomaticUpgrade
Si EnableAutomaticUpgrade est False, utilisez le cmdlet Set-AzVMExtension pour l’activer :
Set-AzVMExtension -ResourceGroupName 'myResourceGroup' -VMName 'myVM' -Name 'AzureNetworkWatcherExtension' -Publisher 'Microsoft.Azure.NetworkWatcher' -ExtensionType 'NetworkWatcherAgentWindows' -EnableAutomaticUpgrade $true
Set-AzVMExtension -ResourceGroupName 'myResourceGroup' -VMName 'myVM' -Name 'AzureNetworkWatcherExtension' -Publisher 'Microsoft.Azure.NetworkWatcher' -ExtensionType 'NetworkWatcherAgentLinux' -EnableAutomaticUpgrade $true
Utilisez la commande az vm extension show pour vérifier si la mise à niveau automatique est activée :
az vm extension show --resource-group 'myResourceGroup' --vm-name 'myVM' --name 'AzureNetworkWatcherExtension' --query 'enableAutomaticUpgrade'
Si la commande renvoie false, utilisez la commande az vm extension set pour l’activer :
az vm extension set --resource-group 'myResourceGroup' --vm-name 'myVM' --name 'NetworkWatcherAgentWindows' --publisher 'Microsoft.Azure.NetworkWatcher' --enable-auto-upgrade 'true'
az vm extension set --resource-group 'myResourceGroup' --vm-name 'myVM' --name 'NetworkWatcherAgentLinux' --publisher 'Microsoft.Azure.NetworkWatcher' --enable-auto-upgrade 'true'
Utilisez le modèle Azure Resource Manager (modèle ARM) suivant pour permettre la mise à jour automatique sur l’extension VM Network Watcher Agent :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
}
},
"resources": [
{
"name": "[concat(parameters('vmName'), '/AzureNetworkWatcherExtension')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2024-07-01",
"location": "[resourceGroup().location]",
"properties": {
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"publisher": "Microsoft.Azure.NetworkWatcher",
"type": "NetworkWatcherAgentWindows",
"typeHandlerVersion": "1.4"
}
}
]
}
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
}
},
"resources": [
{
"name": "[concat(parameters('vmName'), '/AzureNetworkWatcherExtension')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2024-07-01",
"location": "[resourceGroup().location]",
"properties": {
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"publisher": "Microsoft.Azure.NetworkWatcher",
"type": "NetworkWatcherAgentLinux",
"typeHandlerVersion": "1.4"
}
}
]
}
Vous pouvez utiliser Azure PowerShell ou Azure CLI pour déployer le modèle Resource Manager :
# Deploy the JSON template file using Azure PowerShell.
New-AzResourceGroupDeployment -ResourceGroupName 'myResourceGroup' -TemplateFile 'agent.json'
# Deploy the JSON template file using the Azure CLI.
az deployment group create --resource-group 'myResourceGroup' --template-file 'agent.json'
Note
Après avoir activé la mise à jour automatique, Azure met à jour l’extension automatiquement sans avoir à redémarrer la machine virtuelle. Ce processus peut prendre jusqu’à 30 jours après la sortie d’une nouvelle version.
Mettre à jour manuellement
Dans les paramètres de votre VM sur le portail Azure, sélectionnez Extensions + applications.
Sélectionnez AzureNetworkWatcherExtension dans la liste des extensions, puis sélectionnez Mettre à jour dans la barre d’outils.
Sélectionnez Oui pour confirmer.
Lorsque la mise à jour se termine, les colonnes Version et Dernière Version affichent le même numéro de version.
Si la mise à jour ne s’applique pas à la dernière version, supprimez l’extension et réinstallez-la :
- Sélectionnez AzureNetworkWatcherExtension dans la liste des extensions, puis sélectionnez Désinstaller.
- Sélectionnez + Ajouter, cherchez Network Watcher Agent, puis réinstallez-le. La plateforme installe automatiquement la dernière version disponible. Pour plus d’informations, voir Installer l’extension VM de Network Watcher Agent.
Utilisez le cmdlet Set-AzVMExtension avec le -ForceRerun paramètre pour réappliquer l’extension sans la désinstaller. La -ForceRerun valeur doit être différente de sa valeur actuelle à chaque exécution de la commande, donc utilisez une valeur qui change, comme la date et l’heure actuelles :
Set-AzVMExtension -ResourceGroupName 'myResourceGroup' -VMName 'myVM' -Name 'AzureNetworkWatcherExtension' -Publisher 'Microsoft.Azure.NetworkWatcher' -Type 'NetworkWatcherAgentWindows' -ForceRerun (Get-Date -Format o)
Set-AzVMExtension -ResourceGroupName 'myResourceGroup' -VMName 'myVM' -Name 'AzureNetworkWatcherExtension' -Publisher 'Microsoft.Azure.NetworkWatcher' -Type 'NetworkWatcherAgentLinux' -ForceRerun (Get-Date -Format o)
Si cette condition ne met pas à jour l’extension, supprimez-la et réinstallez-la pour obtenir la dernière version :
Remove-AzVMExtension -ResourceGroupName 'myResourceGroup' -VMName 'myVM' -Name 'AzureNetworkWatcherExtension'
Set-AzVMExtension -ResourceGroupName 'myResourceGroup' -VMName 'myVM' -Name 'AzureNetworkWatcherExtension' -Publisher 'Microsoft.Azure.NetworkWatcher' -Type 'NetworkWatcherAgentWindows'
Set-AzVMExtension -ResourceGroupName 'myResourceGroup' -VMName 'myVM' -Name 'AzureNetworkWatcherExtension' -Publisher 'Microsoft.Azure.NetworkWatcher' -Type 'NetworkWatcherAgentLinux'
Utilisez la commande extension az vm set avec le --force-update paramètre pour réappliquer l’extension sans la désinstaller :
az vm extension set --resource-group 'myResourceGroup' --vm-name 'myVM' --name 'NetworkWatcherAgentWindows' --publisher 'Microsoft.Azure.NetworkWatcher' --force-update
az vm extension set --resource-group 'myResourceGroup' --vm-name 'myVM' --name 'NetworkWatcherAgentLinux' --publisher 'Microsoft.Azure.NetworkWatcher' --force-update
Si cette condition ne met pas à jour l’extension, supprimez-la et réinstallez-la pour obtenir la dernière version :
az vm extension delete --resource-group 'myResourceGroup' --vm-name 'myVM' --name 'AzureNetworkWatcherExtension'
az vm extension set --resource-group 'myResourceGroup' --vm-name 'myVM' --name 'NetworkWatcherAgentWindows' --publisher 'Microsoft.Azure.NetworkWatcher'
az vm extension set --resource-group 'myResourceGroup' --vm-name 'myVM' --name 'NetworkWatcherAgentLinux' --publisher 'Microsoft.Azure.NetworkWatcher'
Utilisez le modèle Azure Resource Manager (modèle ARM) suivant pour réappliquer l’extension. Mettez à jour le typeHandlerVersion paramètre vers la dernière version que vous avez identifiée dans Vérifiez la version de votre extension, puis redéployez le modèle :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
},
"typeHandlerVersion": {
"type": "string"
}
},
"resources": [
{
"name": "[concat(parameters('vmName'), '/AzureNetworkWatcherExtension')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2024-07-01",
"location": "[resourceGroup().location]",
"properties": {
"autoUpgradeMinorVersion": true,
"publisher": "Microsoft.Azure.NetworkWatcher",
"type": "NetworkWatcherAgentWindows",
"typeHandlerVersion": "[parameters('typeHandlerVersion')]"
}
}
]
}
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
},
"typeHandlerVersion": {
"type": "string"
}
},
"resources": [
{
"name": "[concat(parameters('vmName'), '/AzureNetworkWatcherExtension')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2024-07-01",
"location": "[resourceGroup().location]",
"properties": {
"autoUpgradeMinorVersion": true,
"publisher": "Microsoft.Azure.NetworkWatcher",
"type": "NetworkWatcherAgentLinux",
"typeHandlerVersion": "[parameters('typeHandlerVersion')]"
}
}
]
}
Vous pouvez utiliser Azure PowerShell ou Azure CLI pour déployer le modèle Resource Manager :
# Deploy the JSON template file using Azure PowerShell.
New-AzResourceGroupDeployment -ResourceGroupName 'myResourceGroup' -TemplateFile 'agent.json' -typeHandlerVersion '<version>'
# Deploy the JSON template file using the Azure CLI.
az deployment group create --resource-group 'myResourceGroup' --template-file 'agent.json' --parameters typeHandlerVersion='<version>'
Mise à jour à grande échelle avec un script PowerShell
Si vous avez de gros déploiements, utilisez un script PowerShell pour mettre à jour plusieurs machines virtuelles dans un abonnement en même temps. Le script suivant met à jour l’extension Network Watcher sur toutes les machines virtuelles obsolètes dans un abonnement :
<#
.SYNOPSIS
This script scans all VMs in the provided subscription and upgrades any out-of-date AzureNetworkWatcherExtensions to the latest available version.
.DESCRIPTION
This script is a no-op if AzureNetworkWatcherExtensions are already up to date.
Requires Azure PowerShell 4.2 or higher to be installed.
.EXAMPLE
.\UpdateVMAgentsInSub.ps1 -SubID aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e -NoUpdate
#>
[CmdletBinding()]
param(
[Parameter(Mandatory=$true)]
[string] $SubID,
[Parameter(Mandatory=$false)]
[Switch] $NoUpdate = $false
)
function Get-LatestExtensionVersion($location, $extensionType)
{
$latestImage = Get-AzVMExtensionImage -Location $location -PublisherName "Microsoft.Azure.NetworkWatcher" -Type $extensionType |
Sort-Object -Property { [Version]$_.Version } -Descending |
Select-Object -First 1
return $latestImage.Version
}
Write-Host "Scanning all VMs in the subscription: $($SubID)"
Set-AzContext -SubscriptionId $SubID
$vms = Get-AzVM
$foundVMs = $false
Write-Host "Starting VM search, this may take a while"
foreach ($vmName in $vms)
{
# Get Detailed VM info
$vm = Get-AzVM -ResourceGroupName $vmName.ResourceGroupName -Name $vmName.name -Status
$isitWindows = $vm.OsName -like "*Windows*"
$type = if ($isitWindows) { "NetworkWatcherAgentWindows" } else { "NetworkWatcherAgentLinux" }
$latestVersion = Get-LatestExtensionVersion -location $vmName.Location -extensionType $type
foreach ($extension in $vm.Extensions)
{
if ($extension.Name -eq "AzureNetworkWatcherExtension")
{
if ([Version]$extension.TypeHandlerVersion -lt [Version]$latestVersion)
{
$foundVMs = $true
if (-not ($NoUpdate))
{
Write-Host "Found VM that needs to be updated: subscriptions/$($SubID)/resourceGroups/$($vm.ResourceGroupName)/providers/Microsoft.Compute/virtualMachines/$($vm.Name) -> Updating to $latestVersion " -NoNewline
Remove-AzVMExtension -ResourceGroupName $vm.ResourceGroupName -VMName $vm.Name -Name "AzureNetworkWatcherExtension" -Force
Write-Host "... " -NoNewline
Set-AzVMExtension -ResourceGroupName $vm.ResourceGroupName -Location $vmName.Location -VMName $vm.Name -Name "AzureNetworkWatcherExtension" -Publisher "Microsoft.Azure.NetworkWatcher" -Type $type -TypeHandlerVersion $latestVersion
Write-Host "Done"
}
else
{
Write-Host "Found $(if ($isitWindows) {"Windows"} else {"Linux"}) VM that needs to be updated to $($latestVersion): subscriptions/$($SubID)/resourceGroups/$($vm.ResourceGroupName)/providers/Microsoft.Compute/virtualMachines/$($vm.Name)"
}
}
}
}
}
if ($foundVMs)
{
Write-Host "Finished $(if ($NoUpdate) {"searching"} else {"updating"}) out of date AzureNetworkWatcherExtension on VMs"
}
else
{
Write-Host "All AzureNetworkWatcherExtensions up to date"
}
Désinstaller l’extension de machine virtuelle de l’agent Network Watcher
À partir de la page de machine virtuelle dans le Portail Azure, vous pouvez désinstaller l’extension de machine virtuelle de l’agent Network Watcher en suivant les étapes suivantes :
Sous Paramètres, sélectionnez Extensions + applications.
Sélectionnez AzureNetworkWatcherExtension dans la liste des extensions, puis sélectionnez Désinstaller.
Note
Il est possible que vous voyiez l’extension de machine virtuelle de l’agent Network Watcher nommée différemment d’AzureNetworkWatcherExtension.
Utilisez le cmdlet Remove-AzVMExtension pour retirer l’extension VM Network Watcher Agent de la machine virtuelle :
# Uninstall Network Watcher Agent VM extension.
Remove-AzVMExtension -Name 'AzureNetworkWatcherExtension' -ResourceGroupName 'myResourceGroup' -VMName 'myVM'
Utilisez la commande delete de l’extension az vm pour retirer l’extension VM Network Watcher Agent de la machine virtuelle :
# Uninstall Network Watcher Agent VM extension.
az vm extension delete --name 'AzureNetworkWatcherExtension' --resource-group 'myResourceGroup' --vm-name 'myVM'
Questions fréquemment posées (FAQ)
Pour obtenir des réponses aux questions les plus fréquemment posées sur Network Watcher Agent, consultez la FAQ Network Watcher Agent.
Contenu connexe