L'estensione macchina virtuale Network Watcher Agent è un requisito per alcune delle funzionalità di Azure Network Watcher che acquisiscono il traffico di rete per diagnosticare e monitorare le macchine virtuali di Azure. Per altre informazioni, vedere Che cos'è Azure Network Watcher?
In questo articolo impari come installare, aggiornare e disinstallare Network Watcher Agent per Windows e Linux. L'installazione dell'agente non causa l'interruzione, né richiede il riavvio della macchina virtuale. Se la macchina virtuale viene distribuita da un servizio Azure, verifica la documentazione del servizio per determinare se il servizio consente l'installazione di estensioni nella macchina virtuale.
Note
L'estensione Network Watcher Agent non è supportata nei cluster AKS.
Prerequisiti
Una macchina virtuale Azure (VM) che esegue un sistema operativo supportato. Per ulteriori informazioni, vedi Sistemi operativi supportati.
Connettività TCP in uscita per 169.254.169.254 su port 80 e 168.63.129.16 su port 8037. L'agente usa questi indirizzi IP per comunicare con la piattaforma Azure.
Connettività Internet: Network Watcher Agent richiede connettività internet affinché alcune funzionalità funzionino correttamente. Ad esempio, richiede la connettività all'account di archiviazione per caricare pacchetti di dati.
Una macchina virtuale Azure (VM) che esegue un sistema operativo supportato. Per ulteriori informazioni, vedi Sistemi operativi supportati.
Connettività TCP in uscita per 169.254.169.254 su port 80 e 168.63.129.16 su port 8037. L'agente usa questi indirizzi IP per comunicare con la piattaforma Azure.
Connettività Internet: Network Watcher Agent richiede connettività internet affinché alcune funzionalità funzionino correttamente. Ad esempio, richiede la connettività all'account di archiviazione per caricare pacchetti di dati.
Azure Cloud Shell o Azure PowerShell.
I passaggi descritti in questo articolo eseguono i cmdlet di Azure PowerShell in modo interattivo in Azure Cloud Shell. Per eseguire i comandi in Cloud Shell, selezionare Apri Cloud Shell nell'angolo superiore destro di un blocco di codice. Selezionare Copia per copiare il codice e incollarlo in Cloud Shell per eseguirlo. È anche possibile eseguire il Cloud Shell dall'interno del portale di Azure.
È anche possibile installare Azure PowerShell in locale per eseguire i cmdlet. Se si esegue PowerShell in locale, accedere ad Azure usando il cmdlet Connect-AzAccount.
Una macchina virtuale Azure (VM) che esegue un sistema operativo supportato. Per ulteriori informazioni, vedi Sistemi operativi supportati.
Connettività TCP in uscita per 169.254.169.254 su port 80 e 168.63.129.16 su port 8037. L'agente usa questi indirizzi IP per comunicare con la piattaforma Azure.
Connettività Internet: Network Watcher Agent richiede connettività internet affinché alcune funzionalità funzionino correttamente. Ad esempio, richiede la connettività all'account di archiviazione per caricare pacchetti di dati.
Azure Cloud Shell o interfaccia della riga di comando di Azure.
I passaggi descritti in questo articolo eseguono i comandi interfaccia della riga di comando di Azure in modo interattivo in Azure Cloud Shell. Per eseguire i comandi in Cloud Shell, selezionare Apri Cloud Shell nell'angolo superiore destro di un blocco di codice. Selezionare Copia per copiare il codice e incollarlo in Cloud Shell per eseguirlo. È anche possibile eseguire il Cloud Shell dall'interno del portale di Azure.
È anche possibile installare interfaccia della riga di comando di Azure in locale per eseguire i comandi. Se esegui il CLI di Azure localmente, accedi ad Azure usando il comando az login.
Una macchina virtuale Azure (VM) che esegue un sistema operativo supportato. Per ulteriori informazioni, vedi Sistemi operativi supportati.
Connettività TCP in uscita per 169.254.169.254 su port 80 e 168.63.129.16 su port 8037. L'agente usa questi indirizzi IP per comunicare con la piattaforma Azure.
Connettività Internet: Network Watcher Agent richiede connettività internet affinché alcune funzionalità funzionino correttamente. Ad esempio, richiede la connettività all'account di archiviazione per caricare pacchetti di dati.
Azure PowerShell o interfaccia della riga di comando di Azure installato localmente per distribuire il modello.
Sistemi operativi supportati
Puoi installare l'estensione Network Watcher Agent per Windows sui seguenti sistemi operativi:
- Versioni di Windows Server 2012, 2012 R2, 2016, 2019, 2022 e 2025.
- Versioni di Windows 10 e 11.
Note
Attualmente Nano Server non è supportato.
Puoi installare l'estensione Network Watcher Agent per Linux sulle seguenti distribuzioni Linux:
| Distribution |
Versione |
| AlmaLinux |
9.2 |
| Azure Linux |
2.0 |
| CentOS 1 |
6.10 e 7 |
| Debian |
7 e 8 |
| openSUSE Leap |
42.3+ |
| Oracle Linux |
6.10 2, 7, 8 e 9+ |
| Red Hat Enterprise Linux (RHEL) |
6.10 3, 7, 8 e 9.2 |
| Rocky Linux |
9.1 |
| SUSE Linux Enterprise Server (SLES) |
12 e 15 (SP2, SP3 e SP4) |
| Ubuntu |
16+ |
1 CentOS Linux ha raggiunto la fine della sua vita (EOL) il 30 giugno 2024. Per ulteriori informazioni, consultare la Guida alla fine del ciclo di vita di CentOS.
2Il supporto del ciclo di vita esteso (ELS) per Oracle Linux versione 6.X è terminato il 1° luglio 2024.
3Il supporto del ciclo di vita esteso (ELS) per Red Hat Enterprise Linux 6.X è terminato il 30 giugno 2024.
Note
Il monitoraggio dell'Internet Control Message Protocol (ICMP) attualmente non è supportato nel Network Watcher Agent su Oracle Linux a causa di limitazioni note a livello di kernel specifiche della distribuzione.
Schema dell'estensione
Lo schema JSON seguente illustra lo schema dell'estensione Network Watcher Agent. L'estensione non richiede né supporta alcuna impostazione fornita dall'utente e si basa sulla configurazione predefinita.
{
"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"
}
}
Elencare le estensioni installate
Dalla pagina della macchina virtuale nel portale Azure, puoi visualizzare le estensioni installate seguendo questi passaggi:
In Impostazioni selezionare Estensioni e applicazioni.
Nella scheda Estensioni è possibile visualizzare tutte le estensioni installate nella macchina virtuale. Se la lista è lunga, usa la casella di ricerca per filtrare la lista.
Usa il cmdlet Get-AzVMExtension per elencare tutte le estensioni installate sulla macchina virtuale.
# List the installed extensions on the virtual machine.
Get-AzVMExtension -ResourceGroupName 'myResourceGroup' -VMName 'myVM' | format-table Name, Publisher, ExtensionType, AutoUpgradeMinorVersion, EnableAutomaticUpgrade
L'output del cmdlet elenca le estensioni installate:
Name Publisher ExtensionType AutoUpgradeMinorVersion EnableAutomaticUpgrade
---- --------- ------------- ----------------------- ----------------------
AzureNetworkWatcherExtension Microsoft.Azure.NetworkWatcher NetworkWatcherAgentWindows True True
Name Publisher ExtensionType AutoUpgradeMinorVersion EnableAutomaticUpgrade
---- --------- ------------- ----------------------- ----------------------
AzureNetworkWatcherExtension Microsoft.Azure.NetworkWatcher NetworkWatcherAgentLinux True True
Usa il comando az vm extension list per elencare tutte le estensioni installate sulla macchina virtuale.
# List the installed extensions on the virtual machine.
az vm extension list --resource-group 'myResourceGroup' --vm-name 'myVM' --out table
L'output del comando elenca le estensioni installate:
Name ProvisioningState Publisher Version AutoUpgradeMinorVersion
---------------------------- ------------------- ------------------------------ --------- -------------------------
AzureNetworkWatcherExtension Succeeded Microsoft.Azure.NetworkWatcher 1.4 True
Installare l'estensione macchina virtuale Network Watcher Agent
Dalla pagina della macchina virtuale nel portale di Azure è possibile installare l'estensione macchina virtuale Network Watcher Agent seguendo questa procedura:
In Impostazioni selezionare Estensioni e applicazioni.
Seleziona + Aggiungi, cerca Network Watcher Agent e installalo. Se l'estensione è già installata, è possibile visualizzarla nell'elenco delle estensioni.
Nella casella di ricerca di Installa un'estensione, inserisci Network Watcher Agent, seleziona l'estensione corrispondente per il tuo sistema operativo dalla lista e poi seleziona Avanti.
Selezionare Rivedi e crea e quindi Crea.
Usa il cmdlet Set-AzVMExtension per installare l'estensione VM Network Watcher Agent sulla macchina virtuale:
# 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'
Quando l'installazione termina, si vede il seguente risultato:
RequestId IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
True OK
Usa il comando extension set di az vm per installare l'estensione VM Network Watcher Agent sulla macchina virtuale:
# 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'
Usa il seguente template Azure Resource Manager (template ARM) per installare l'estensione VM Network Watcher Agent su una macchina virtuale:
{
"$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"
}
}
]
}
È possibile usare Azure PowerShell o l'interfaccia della riga di comando di Azure per distribuire il modello di 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'
Aggiorna l'estensione VM Network Watcher Agent
Controllare la versione dell'estensione
È possibile controllare la versione dell'estensione usando il portale di Azure, l'interfaccia della riga di comando di Azure o PowerShell.
Vai su Estensioni + applicazioni della tua VM nel portale Azure.
Nella lista delle estensioni, controlla la colonna Versione per AzureNetworkWatcherExtension. Se è disponibile una versione più recente, la colonna Ultima Versione appare (Aggiornamento disponibile).
Usa il cmdlet Get-AzVM per controllare la versione installata dell'estensione:
(Get-AzVM -ResourceGroupName 'myResourceGroup' -Name 'myVM' -Status).Extensions | Where-Object { $_.Name -eq 'AzureNetworkWatcherExtension' } | Select-Object Name, TypeHandlerVersion
Usa il cmdlet Get-AzVMExtensionImage per trovare l'ultima versione disponibile dell'estensione per il sistema operativo e la regione della tua 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
Usa il comando az-vm get-instance-view per controllare la versione installata dell'estensione:
az vm get-instance-view --resource-group 'myResourceGroup' --name 'myVM' --query "extensions[?name=='AzureNetworkWatcherExtension'].typeHandlerVersion" --output tsv
Usa il comando az vm extension image list per trovare l'ultima versione disponibile dell'estensione per il sistema operativo della tua 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
L’ultima versione dell'estensione Network Watcher è 1.4.4011.1.
Abilita l'aggiornamento automatico
L'aggiornamento automatico consente alla piattaforma Azure di aggiornare l'estensione all'ultima versione senza interventi manuali. Usa i seguenti passaggi per verificare se l'aggiornamento automatico è abilitato e per attivarlo se non lo è.
Nelle impostazioni della tua VM nel portale Azure, seleziona Estensioni + applicazioni.
Seleziona AzureNetworkWatcherExtension dall'elenco delle estensioni e seleziona la colonna Stato dell'aggiornamento automatico .
Se risulta Disabilitato, seleziona Abilita aggiornamento automatico dalla barra degli strumenti.
Seleziona Sì per confermare.
Usa il cmdlet Get-AzVMExtension per verificare se l'aggiornamento automatico è abilitato:
Get-AzVMExtension -ResourceGroupName 'myResourceGroup' -VMName 'myVM' -Name 'AzureNetworkWatcherExtension' | Select-Object Name, EnableAutomaticUpgrade
Se EnableAutomaticUpgrade è False, usa il cmdlet Set-AzVMExtension per abilitarlo:
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 il comando az vm extension show per verificare se l'aggiornamento automatico è abilitato:
az vm extension show --resource-group 'myResourceGroup' --vm-name 'myVM' --name 'AzureNetworkWatcherExtension' --query 'enableAutomaticUpgrade'
Se il comando restituisce false, usa il comando az vm extension set per abilitarlo:
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'
Usa il seguente modello Azure Resource Manager (template ARM) per abilitare l'aggiornamento automatico sull'estensione 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"
}
}
]
}
È possibile usare Azure PowerShell o l'interfaccia della riga di comando di Azure per distribuire il modello di 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
Dopo aver abilitato l'aggiornamento automatico, Azure aggiorna l'estensione automaticamente senza dover riavviare la macchina virtuale. Questo processo può richiedere fino a 30 giorni dopo il rilascio di una nuova versione.
Aggiorna manualmente
Nelle impostazioni della tua VM nel portale Azure, seleziona Estensioni + applicazioni.
Seleziona AzureNetworkWatcherExtension dall'elenco delle estensioni, poi seleziona Aggiorna dalla barra degli strumenti.
Seleziona Sì per confermare.
Quando l'aggiornamento termina, le colonne Versione e Ultima Versione mostrano lo stesso numero di versione.
Se l'aggiornamento non applica l'ultima versione, rimuovi l'estensione e reinstallala:
- Selezionare AzureNetworkWatcherExtension dall'elenco delle estensioni e quindi selezionare Disinstalla.
- Seleziona + Aggiungi, cerca Network Watcher Agent e installalo di nuovo. La piattaforma installa automaticamente l'ultima versione disponibile. Per ulteriori informazioni, consulta Installa l'estensione VM di Network Watcher Agent.
Usa il cmdlet Set-AzVMExtension con il -ForceRerun parametro per riapplicare l'estensione senza disinstallarla. Il -ForceRerun valore deve essere diverso dal suo valore corrente ogni volta che esegui il comando, quindi usa un valore che cambia, come la data e l'ora attuali:
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)
Se questa condizione non aggiorna l'estensione, rimuovila e reinstallala per ottenere l'ultima versione:
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 il comando extension set di az vm con il --force-update parametro per riapplicare l'estensione senza disinstallarla:
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
Se questa condizione non aggiorna l'estensione, rimuovila e reinstallala per ottenere l'ultima versione:
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'
Utilizzare il seguente modello Azure Resource Manager (template ARM) per riapplicare l'estensione. Aggiorna il typeHandlerVersion parametro all'ultima versione che hai identificato in Verifica la versione della tua estensione e ridistribuisci il template:
{
"$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')]"
}
}
]
}
È possibile usare Azure PowerShell o l'interfaccia della riga di comando di Azure per distribuire il modello di 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>'
Aggiornamento su larga scala con uno script PowerShell
Se hai grandi deployment, usa uno script PowerShell per aggiornare più VM in un abbonamento contemporaneamente. Il seguente script aggiorna l'estensione Network Watcher su tutte le VM obsolete in un abbonamento:
<#
.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"
}
Disinstallare l'estensione VM Network Watcher Agent
Dalla pagina della macchina virtuale nel portale di Azure è possibile disinstallare l'estensione macchina virtuale Network Watcher Agent seguendo questa procedura:
In Impostazioni selezionare Estensioni e applicazioni.
Selezionare AzureNetworkWatcherExtension dall'elenco delle estensioni e quindi selezionare Disinstalla.
Note
È possibile che venga visualizzata l'estensione macchina virtuale Network Watcher Agent con un nome diverso da AzureNetworkWatcherExtension.
Usa il cmdlet Remove-AzVMExtension per rimuovere l'estensione VM Network Watcher Agent dalla macchina virtuale:
# Uninstall Network Watcher Agent VM extension.
Remove-AzVMExtension -Name 'AzureNetworkWatcherExtension' -ResourceGroupName 'myResourceGroup' -VMName 'myVM'
Usa il comando delete dell'estensione az vm per rimuovere l'estensione VM Network Watcher Agent dalla macchina virtuale:
# Uninstall Network Watcher Agent VM extension.
az vm extension delete --name 'AzureNetworkWatcherExtension' --resource-group 'myResourceGroup' --vm-name 'myVM'
Domande frequenti
Per trovare risposte alle domande più frequenti su Network Watcher Agent, consulta le FAQ su Network Watcher Agent.
Contenuti correlati