La extensión de máquina virtual del agente de Network Watcher es un requisito para algunas de las características de Azure Network Watcher que capturan el tráfico de red para diagnosticar y supervisar máquinas virtuales (VM) de Azure. Para más información, consulte ¿Qué es Azure Network Watcher?
En este artículo, aprendes a instalar, actualizar y desinstalar Network Watcher Agent para Windows y Linux. La instalación del agente no interrumpe la máquina virtual ni requiere reiniciarla. Si la máquina virtual es desplegada por un servicio de Azure, revisa la documentación del servicio para determinar si permite instalar extensiones en la máquina virtual.
Note
La extensión Network Watcher Agent no es compatible con clústeres AKS.
Prerequisites
Una máquina virtual (VM) de Azure ejecutando un sistema operativo compatible. Para más información, véase Sistemas operativos soportados.
Conectividad TCP saliente a 169.254.169.254 por medio de port 80 y a 168.63.129.16 por medio de port 8037. El agente usa estas direcciones IP para comunicarse con la plataforma Azure.
Conectividad a Internet: Network Watcher Agent requiere conectividad a internet para que algunas funciones funcionen correctamente. Por ejemplo, requiere conectividad con la cuenta de almacenamiento para cargar capturas de paquetes.
Una máquina virtual (VM) de Azure ejecutando un sistema operativo compatible. Para más información, véase Sistemas operativos soportados.
Conectividad TCP saliente a 169.254.169.254 por medio de port 80 y a 168.63.129.16 por medio de port 8037. El agente usa estas direcciones IP para comunicarse con la plataforma Azure.
Conectividad a Internet: Network Watcher Agent requiere conectividad a internet para que algunas funciones funcionen correctamente. Por ejemplo, requiere conectividad con la cuenta de almacenamiento para cargar capturas de paquetes.
Azure Cloud Shell o Azure PowerShell.
Los pasos de este artículo ejecutan los cmdlets de Azure PowerShell de forma interactiva en Azure Cloud Shell. Para ejecutar los comandos en Cloud Shell, seleccione Abrir Cloud Shell en la esquina superior derecha de un bloque de código. Seleccione Copiar para copiar el código y péguelo, a continuación, en Cloud Shell para ejecutarlo. También puede ejecutar el Cloud Shell desde el portal de Azure.
También puede instalar Azure PowerShell localmente para ejecutar los cmdlets. Si ejecuta PowerShell localmente, inicie sesión en Azure con el cmdlet Connect-AzAccount.
Una máquina virtual (VM) de Azure ejecutando un sistema operativo compatible. Para más información, véase Sistemas operativos soportados.
Conectividad TCP saliente a 169.254.169.254 por medio de port 80 y a 168.63.129.16 por medio de port 8037. El agente usa estas direcciones IP para comunicarse con la plataforma Azure.
Conectividad a Internet: Network Watcher Agent requiere conectividad a internet para que algunas funciones funcionen correctamente. Por ejemplo, requiere conectividad con la cuenta de almacenamiento para cargar capturas de paquetes.
Azure Cloud Shell o la CLI de Azure.
En los pasos de este artículo se ejecutan los comandos de la CLI de Azure de forma interactiva en Azure Cloud Shell. Para ejecutar los comandos en Cloud Shell, seleccione Abrir Cloud Shell en la esquina superior derecha de un bloque de código. Seleccione Copiar para copiar el código y péguelo en Cloud Shell para ejecutarlo. También puede ejecutar el Cloud Shell desde el portal de Azure.
También puede instalar la CLI de Azure localmente para ejecutar los comandos. Si ejecuta CLI de Azure localmente, inicie sesión en Azure con el comando az login.
Una máquina virtual (VM) de Azure ejecutando un sistema operativo compatible. Para más información, véase Sistemas operativos soportados.
Conectividad TCP saliente a 169.254.169.254 por medio de port 80 y a 168.63.129.16 por medio de port 8037. El agente usa estas direcciones IP para comunicarse con la plataforma Azure.
Conectividad a Internet: Network Watcher Agent requiere conectividad a internet para que algunas funciones funcionen correctamente. Por ejemplo, requiere conectividad con la cuenta de almacenamiento para cargar capturas de paquetes.
Azure PowerShell o la CLI de Azure instalados localmente para implementar la plantilla.
Sistemas operativos compatibles
Puedes instalar la extensión Network Watcher Agent para Windows en los siguientes sistemas operativos:
- Versiones de Windows Server 2012, 2012 R2, 2016, 2019, 2022 y 2025.
- Windows 10 y 11, lanzamientos.
Note
Actualmente, no se admite Nano Server.
Puedes instalar la extensión Network Watcher Agent para Linux en las siguientes distribuciones de Linux:
| Distribution |
Versión |
| AlmaLinux |
9.2 |
| Azure Linux |
2.0 |
| CentOS 1 |
6.10 y 7 |
| Debian |
7 y 8 |
| openSUSE Leap |
42.3+ |
| Oracle Linux |
6.10 2, 7, 8 y 9+ |
| Red Hat Enterprise Linux (RHEL) |
6.10 3, 7, 8 y 9.2 |
| Rocky Linux |
9.1 |
| SUSE Linux Enterprise Server (SLES) |
12 y 15 (SP2, SP3 y SP4) |
| Ubuntu |
Más de 16 |
1 CentOS Linux alcanzó su fin de vida útil (EOL) el 30 de junio de 2024. Para obtener más información, consulte la Guía de fin de ciclo de vida de CentOS.
2Compatibilidad con el ciclo de vida extendido (ELS) para Oracle Linux versión 6.X finalizó el 1 de julio de 2024.
3Compatibilidad con el ciclo de vida extendido (ELS) para Red Hat Enterprise Linux 6.X finalizó el 30 de junio de 2024.
Note
Actualmente, la supervisión del Protocolo de mensajes de control de Internet (ICMP) no se admite en Network Watcher Agent en Oracle Linux debido a limitaciones conocidas del kernel propias de la distribución.
Esquema de extensión
El siguiente JSON muestra el esquema para la extensión del agente de Network Watcher. La extensión no requiere ni soporta ninguna configuración proporcionada por el usuario y depende de su configuración predeterminada.
{
"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"
}
}
Enumeración de las extensiones instaladas
Desde la página de la máquina virtual en el portal de Azure, puedes ver las extensiones instaladas siguiendo estos pasos:
En Configuración, seleccione Extensiones + aplicaciones.
En la pestaña Extensiones, puede ver todas las extensiones instaladas en la máquina virtual. Si la lista es larga, usa el cuadro de búsqueda para filtrarla.
Utiliza el cmdlet Get-AzVMExtension para listar todas las extensiones instaladas en la máquina virtual.
# List the installed extensions on the virtual machine.
Get-AzVMExtension -ResourceGroupName 'myResourceGroup' -VMName 'myVM' | format-table Name, Publisher, ExtensionType, AutoUpgradeMinorVersion, EnableAutomaticUpgrade
La salida del cmdlet enumera las extensiones instaladas:
Name Publisher ExtensionType AutoUpgradeMinorVersion EnableAutomaticUpgrade
---- --------- ------------- ----------------------- ----------------------
AzureNetworkWatcherExtension Microsoft.Azure.NetworkWatcher NetworkWatcherAgentWindows True True
Name Publisher ExtensionType AutoUpgradeMinorVersion EnableAutomaticUpgrade
---- --------- ------------- ----------------------- ----------------------
AzureNetworkWatcherExtension Microsoft.Azure.NetworkWatcher NetworkWatcherAgentLinux True True
Utiliza el comando az vm extension list para listar todas las extensiones instaladas en la máquina virtual.
# List the installed extensions on the virtual machine.
az vm extension list --resource-group 'myResourceGroup' --vm-name 'myVM' --out table
La salida del comando enumera todas las extensiones instaladas:
Name ProvisioningState Publisher Version AutoUpgradeMinorVersion
---------------------------- ------------------- ------------------------------ --------- -------------------------
AzureNetworkWatcherExtension Succeeded Microsoft.Azure.NetworkWatcher 1.4 True
Instalación de la extensión de máquina virtual del agente de Network Watcher
En la página de la máquina virtual de Azure Portal, puede instalar la extensión de máquina virtual del agente de Network Watcher siguiendo estos pasos:
En Configuración, seleccione Extensiones + aplicaciones.
Selecciona + Añadir, busca Network Watcher Agent e instálalo. Si la extensión ya está instalada, puede verla en la lista de extensiones.
En el cuadro de búsqueda de Instalar una extensión, introduce Network Watcher Agent, selecciona de la lista la extensión correspondiente para tu sistema operativo y, luego, selecciona Siguiente.
Seleccione Revisar y crear y, a continuación, seleccione Crear.
Utiliza el cmdlet Set-AzVMExtension para instalar la extensión de VM Network Watcher Agent en la máquina virtual:
# 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'
Cuando termina la instalación, verás la siguiente salida:
RequestId IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
True OK
Usa el comando az vm extension set para instalar la extensión de máquina virtual Network Watcher Agent en la máquina virtual:
# 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'
Utiliza la siguiente plantilla de Azure Resource Manager (plantilla ARM) para instalar la extensión VM Network Watcher Agent en una máquina virtual:
{
"$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"
}
}
]
}
Puede usar Azure PowerShell o la CLI de Azure para implementar la plantilla de 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'
Actualización de la extensión de VM de Network Watcher Agent
Comprobación de la versión de la extensión
Puede comprobar la versión de la extensión mediante Azure Portal, la CLI de Azure o PowerShell.
Ve a Extensiones + aplicaciones de tu máquina virtual en el portal de Azure.
En la lista de extensiones, comprueba la columna Versión para AzureNetworkWatcherExtension. Si hay una versión más reciente disponible, la columna Última Versión aparece (Actualización disponible).
Utiliza el cmdlet Get-AzVM para comprobar la versión instalada de la extensión:
(Get-AzVM -ResourceGroupName 'myResourceGroup' -Name 'myVM' -Status).Extensions | Where-Object { $_.Name -eq 'AzureNetworkWatcherExtension' } | Select-Object Name, TypeHandlerVersion
Utiliza el cmdlet Get-AzVMExtensionImage para encontrar la última versión disponible de la extensión para el sistema operativo y la región de tu máquina virtual:
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
Utiliza el comando az-vm get-instance-view para comprobar la versión instalada de la extensión:
az vm get-instance-view --resource-group 'myResourceGroup' --name 'myVM' --query "extensions[?name=='AzureNetworkWatcherExtension'].typeHandlerVersion" --output tsv
Usa el comando az vm extension image list para encontrar la versión más reciente disponible de la extensión para el sistema operativo de tu 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 versión más reciente de la extensión Network Watcher es 1.4.4011.1.
Habilitar la actualización automática
La actualización automática permite a la plataforma Azure actualizar la extensión a la última versión sin intervención manual. Utiliza los siguientes pasos para comprobar si la actualización automática está activada y, si no lo está, activarla.
En Configuración de tu máquina virtual en el portal de Azure, selecciona Extensiones + aplicaciones.
Selecciona AzureNetworkWatcherExtension de la lista de extensiones y comprueba la columna Estado de actualización automática .
Si aparece Desactivado, selecciona Activar actualización automática desde la barra de herramientas.
Seleccione Sí para confirmar.
Utiliza el cmdlet Get-AzVMExtension para comprobar si la actualización automática está habilitada:
Get-AzVMExtension -ResourceGroupName 'myResourceGroup' -VMName 'myVM' -Name 'AzureNetworkWatcherExtension' | Select-Object Name, EnableAutomaticUpgrade
Si EnableAutomaticUpgrade es False, utiliza el cmdlet Set-AzVMExtension para habilitarlo:
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
Usa el comando show de la extensión de az vm para comprobar si la actualización automática está activada:
az vm extension show --resource-group 'myResourceGroup' --vm-name 'myVM' --name 'AzureNetworkWatcherExtension' --query 'enableAutomaticUpgrade'
Si el comando devuelve false, usa el comando extension set az vm para habilitarlo:
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'
Utiliza la siguiente plantilla de Azure Resource Manager (plantilla ARM) para habilitar la actualización automática en la extensión 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"
}
}
]
}
Puede usar Azure PowerShell o la CLI de Azure para implementar la plantilla de 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
Después de activar la actualización automática, Azure actualiza la extensión automáticamente sin necesidad de reiniciar la máquina virtual. Este proceso puede tardar hasta 30 días tras el lanzamiento de una nueva versión.
Actualizar manualmente
En Configuración de tu máquina virtual en el portal de Azure, selecciona Extensiones + aplicaciones.
Selecciona AzureNetworkWatcherExtension desde la lista de extensiones y luego selecciona Actualizar desde la barra de herramientas.
Seleccione Sí para confirmar.
Cuando termina la actualización, las columnas de Versión y Última Versión muestran el mismo número de versión.
Si actualizar no aplica la última versión, elimina la extensión e instálala de nuevo:
- Seleccione AzureNetworkWatcherExtension en la lista de extensiones y, después, seleccione Desinstalar.
- Selecciona + Añadir, busca Network Watcher Agent y vuelve a instáltalo. La plataforma instala automáticamente la última versión disponible. Para más información, consulte Instalar la extensión VM del Network Watcher Agent.
Utiliza el cmdlet Set-AzVMExtension con el -ForceRerun parámetro para volver a aplicar la extensión sin desinstalarla. El -ForceRerun valor debe ser diferente de su valor actual cada vez que ejecutas el comando, así que usa un valor que cambie, como la fecha y hora actuales:
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 esa condición no actualiza la extensión, elimínala y vuelve a instalarla para obtener la última versión:
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'
Usa el comando az vm extension set con el parámetro --force-update para reaplicar la extensión sin desinstalarla:
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 esa condición no actualiza la extensión, elimínala y vuelve a instalarla para obtener la última versión:
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'
Utiliza la siguiente plantilla de Azure Resource Manager (plantilla ARM) para volver a aplicar la extensión. Actualiza el typeHandlerVersion parámetro a la última versión que has identificado en Revisa la versión de tu extensión y vuelve a desplegar la plantilla:
{
"$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')]"
}
}
]
}
Puede usar Azure PowerShell o la CLI de Azure para implementar la plantilla de 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>'
Actualización a gran escala con un script de PowerShell
Si tienes despliegues grandes, usa un script de PowerShell para actualizar varias máquinas virtuales en una suscripción a la vez. El siguiente script actualiza la extensión Network Watcher en todas las máquinas virtuales desactualizadas en una suscripción:
<#
.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"
}
Desinstalación de la extensión de máquina virtual del agente de Network Watcher
En la página de la máquina virtual de Azure Portal, puede desinstalar la extensión de máquina virtual del agente de Network Watcher siguiendo estos pasos:
En Configuración, seleccione Extensiones + aplicaciones.
Seleccione AzureNetworkWatcherExtension en la lista de extensiones y, después, seleccione Desinstalar.
Note
Es posible que vea la extensión de máquina virtual del agente de Network Watcher denominada de forma diferente a AzureNetworkWatcherExtension.
Utiliza el cmdlet Remove-AzVMExtension para eliminar la extensión VM Network Watcher Agent de la máquina virtual:
# Uninstall Network Watcher Agent VM extension.
Remove-AzVMExtension -Name 'AzureNetworkWatcherExtension' -ResourceGroupName 'myResourceGroup' -VMName 'myVM'
Utiliza el comando az vm extension delete para eliminar la extensión de máquina virtual del agente Network Watcher de la máquina virtual:
# Uninstall Network Watcher Agent VM extension.
az vm extension delete --name 'AzureNetworkWatcherExtension' --resource-group 'myResourceGroup' --vm-name 'myVM'
Preguntas más frecuentes (FAQ)
Para obtener respuestas a las preguntas más frecuentes sobre Network Watcher Agent, consulta las preguntas frecuentes sobre Network Watcher Agent.
Contenido relacionado