Rozszerzenie maszyny wirtualnej agenta usługi Network Watcher jest wymagane w przypadku niektórych funkcji usługi Azure Network Watcher, które przechwytują ruch sieciowy w celu diagnozowania i monitorowania maszyn wirtualnych platformy Azure. Aby uzyskać więcej informacji, zobacz Co to jest usługa Azure Network Watcher?
W tym artykule dowiesz się, jak instalować, aktualizować i odinstalować Network Watcher Agent dla Windows i Linux. Instalacja agenta nie zakłóca ani nie wymaga ponownego uruchomienia maszyny wirtualnej. Jeśli maszyna wirtualna jest wdrażana przez usługę Azure, sprawdź dokumentację tej usługi, aby ustalić, czy usługa pozwala na instalację rozszerzeń w maszynie wirtualnej.
Note
Rozszerzenie Network Watcher Agent nie jest obsługiwane na klastrzach AKS.
Wymagania wstępne
Wirtualna maszyna Azure (VM) działająca na obsługiwanym systemie operacyjnym. Więcej informacji można znaleźć w sekcji Obsługiwane systemy operacyjne.
Wychodząca łączność TCP z 169.254.169.254 za pośrednictwem port 80 i 168.63.129.16 za pośrednictwem port 8037. Agent używa tych adresów IP do komunikowania się z platformą Azure.
Łączność z Internetem: Network Watcher Agent wymaga połączenia z internetem, aby niektóre funkcje działały poprawnie. Na przykład wymaga łączności z kontem magazynu w celu przesyłania przechwyconych pakietów.
Wirtualna maszyna Azure (VM) działająca na obsługiwanym systemie operacyjnym. Więcej informacji można znaleźć w sekcji Obsługiwane systemy operacyjne.
Wychodząca łączność TCP z 169.254.169.254 za pośrednictwem port 80 i 168.63.129.16 za pośrednictwem port 8037. Agent używa tych adresów IP do komunikowania się z platformą Azure.
Łączność z Internetem: Network Watcher Agent wymaga połączenia z internetem, aby niektóre funkcje działały poprawnie. Na przykład wymaga łączności z kontem magazynu w celu przesyłania przechwyconych pakietów.
Azure Cloud Shell lub Azure PowerShell.
Kroki opisane w tym artykule umożliwiają interaktywne uruchamianie poleceń cmdlet Azure PowerShell w Azure Cloud Shell. Aby uruchomić polecenia w usłudze Cloud Shell, wybierz pozycję Otwórz usługę Cloud Shell w prawym górnym rogu bloku kodu. Wybierz pozycję Copy aby skopiować kod, a następnie wklej go do Cloud Shell, aby go uruchomić. Możesz również uruchomić Cloud Shell z poziomu portalu Azure.
Możesz również zainstalować program Azure PowerShell lokalnie , aby uruchomić polecenia cmdlet. Jeśli uruchomisz program PowerShell lokalnie, zaloguj się do Azure przy użyciu polecenia cmdlet Connect-AzAccount.
Wirtualna maszyna Azure (VM) działająca na obsługiwanym systemie operacyjnym. Więcej informacji można znaleźć w sekcji Obsługiwane systemy operacyjne.
Wychodząca łączność TCP z 169.254.169.254 za pośrednictwem port 80 i 168.63.129.16 za pośrednictwem port 8037. Agent używa tych adresów IP do komunikowania się z platformą Azure.
Łączność z Internetem: Network Watcher Agent wymaga połączenia z internetem, aby niektóre funkcje działały poprawnie. Na przykład wymaga łączności z kontem magazynu w celu przesyłania przechwyconych pakietów.
Azure Cloud Shell lub Azure CLI.
Kroki opisane w tym artykule umożliwiają interaktywne uruchamianie poleceń Azure CLI w Azure Cloud Shell. Aby uruchomić polecenia w usłudze Cloud Shell, wybierz pozycję Otwórz usługę Cloud Shell w prawym górnym rogu bloku kodu. Wybierz pozycję Copy aby skopiować kod, i wklej go do Cloud Shell, aby go uruchomić. Możesz również uruchomić Cloud Shell z poziomu portalu Azure.
Możesz również instalować Azure CLI lokalnie aby uruchomić polecenia. Jeśli uruchamiasz Azure CLI lokalnie, zaloguj się do Azure używając polecenia az login.
Wirtualna maszyna Azure (VM) działająca na obsługiwanym systemie operacyjnym. Więcej informacji można znaleźć w sekcji Obsługiwane systemy operacyjne.
Wychodząca łączność TCP z 169.254.169.254 za pośrednictwem port 80 i 168.63.129.16 za pośrednictwem port 8037. Agent używa tych adresów IP do komunikowania się z platformą Azure.
Łączność z Internetem: Network Watcher Agent wymaga połączenia z internetem, aby niektóre funkcje działały poprawnie. Na przykład wymaga łączności z kontem magazynu w celu przesyłania przechwyconych pakietów.
Program Azure PowerShell lub interfejs wiersza polecenia platformy Azure zainstalowany lokalnie w celu wdrożenia szablonu.
Obsługiwane systemy operacyjne
Możesz zainstalować rozszerzenie Network Watcher Agent dla Windows na następujących systemach operacyjnych:
- Systemy Windows Server w wersjach 2012, 2012 R2, 2016, 2019, 2022 i 2025.
- Wersje systemu Windows 10 i 11.
Note
Obecnie serwer Nano Server nie jest obsługiwany.
Możesz zainstalować rozszerzenie Network Watcher Agent dla Linuksa na następujących dystrybucjach Linuksa:
| Distribution |
Version |
| AlmaLinux |
9.2 |
| Azure Linux |
2.0 |
| CentOS 1 |
6.10 i 7 |
| Debian |
7 i 8 |
| openSUSE Leap |
42.3+ |
| Oracle Linux |
6.10 2, 7, 8 i 9+ |
| Red Hat Enterprise Linux (RHEL) |
6.10 3, 7, 8 i 9.2 |
| Rocky Linux |
9.1 |
| SUSE Linux Enterprise Server (SLES) |
12 i 15 (SP2, SP3 i SP4) |
| Ubuntu |
16+ |
1 CentOS Linux osiągnął koniec swojego życia (EOL) 30 czerwca 2024 roku. Aby uzyskać więcej informacji, zobacz wskazówki dotyczące zakończenia życia systemu CentOS.
2Rozszerzona obsługa cyklu życia (ELS) dla systemu Oracle Linux w wersji 6.X zakończyła się 1 lipca 2024 r.
3Wsparcie rozszerzonego cyklu życia (ELS) dla systemu Red Hat Enterprise Linux 6.X zakończyło się 30 czerwca 2024 r.
Note
Monitorowanie protokołu Internet Control Message Protocol (ICMP) nie jest obecnie obsługiwane w Network Watcher Agent na Oracle Linux ze względu na znane ograniczenia na poziomie jądra specyficzne dla dystrybucji.
Schemat rozszerzenia
Poniższy kod JSON przedstawia schemat rozszerzenia agenta usługi Network Watcher. Rozszerzenie nie wymaga ani nie obsługuje żadnych ustawień dostarczanych przez użytkownika i opiera się na swojej domyślnej konfiguracji.
{
"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"
}
}
Wyświetlanie listy zainstalowanych rozszerzeń
Na stronie maszyny wirtualnej w portalu Azure możesz zobaczyć zainstalowane rozszerzenia, wykonując następujące kroki:
W obszarze Ustawienia wybierz Rozszerzenia i aplikacje.
Na karcie Rozszerzenia można wyświetlić wszystkie zainstalowane rozszerzenia na maszynie wirtualnej. Jeśli lista jest długa, użyj pola wyszukiwania, aby ją przefiltrować.
Użyj komandy Get-AzVMExtension , aby wypisać wszystkie zainstalowane rozszerzenia na maszynie wirtualnej.
# List the installed extensions on the virtual machine.
Get-AzVMExtension -ResourceGroupName 'myResourceGroup' -VMName 'myVM' | format-table Name, Publisher, ExtensionType, AutoUpgradeMinorVersion, EnableAutomaticUpgrade
Dane wyjściowe polecenia cmdlet zawierają listę zainstalowanych rozszerzeń:
Name Publisher ExtensionType AutoUpgradeMinorVersion EnableAutomaticUpgrade
---- --------- ------------- ----------------------- ----------------------
AzureNetworkWatcherExtension Microsoft.Azure.NetworkWatcher NetworkWatcherAgentWindows True True
Name Publisher ExtensionType AutoUpgradeMinorVersion EnableAutomaticUpgrade
---- --------- ------------- ----------------------- ----------------------
AzureNetworkWatcherExtension Microsoft.Azure.NetworkWatcher NetworkWatcherAgentLinux True True
Użyj polecenia AZ VM extension list , aby wypisać wszystkie zainstalowane rozszerzenia na maszynie wirtualnej.
# List the installed extensions on the virtual machine.
az vm extension list --resource-group 'myResourceGroup' --vm-name 'myVM' --out table
Dane wyjściowe polecenia zawierają listę zainstalowanych rozszerzeń:
Name ProvisioningState Publisher Version AutoUpgradeMinorVersion
---------------------------- ------------------- ------------------------------ --------- -------------------------
AzureNetworkWatcherExtension Succeeded Microsoft.Azure.NetworkWatcher 1.4 True
Instalacja rozszerzenia agenta usługi Network Watcher dla maszyny wirtualnej (VM)
Na stronie maszyny wirtualnej w witrynie Azure Portal możesz zainstalować rozszerzenie maszyny wirtualnej agenta usługi Network Watcher, wykonując następujące kroki:
W obszarze Ustawienia wybierz Rozszerzenia i aplikacje.
Wybierz + Dodaj, wyszukaj Network Watcher Agent i zainstaluj go. Jeśli rozszerzenie jest już zainstalowane, można go zobaczyć na liście rozszerzeń.
W polu wyszukiwania Install an Extension wpisz Network Watcher Agent, wybierz odpowiadające rozszerzenie dla swojego systemu operacyjnego z listy, a następnie wybierz Dalej.
Wybierz pozycję Przeglądanie i tworzenie, a następnie wybierz pozycję Utwórz.
Użyj komandora Set-AzVMExtension, aby zainstalować rozszerzenie Network Watcher Agent VM na maszynie wirtualnej:
# 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'
Po zakończeniu instalacji zobaczysz następujące wyjście:
RequestId IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
True OK
Użyj polecenia az VM extension set, aby zainstalować rozszerzenie Network Watcher Agent VM na maszynie wirtualnej:
# 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'
Użyj poniższego szablonu Azure Resource Manager (szablon ARM), aby zainstalować rozszerzenie Network Watcher Agent VM na maszynie wirtualnej:
{
"$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"
}
}
]
}
Aby wdrożyć szablon usługi Resource Manager, możesz użyć programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure:
# 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'
Aktualizacja rozszerzenia maszyny maszynowej Network Watcher Agent
Sprawdzanie wersji rozszerzenia
Możesz sprawdzić wersję rozszerzenia przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub programu PowerShell.
Przejdź do Rozszerzenia + aplikacje swojej maszyny wirtualnej w portalu Azure.
Na liście rozszerzeń sprawdź kolumnę Version dla AzureNetworkWatcherExtension. Jeśli dostępna jest nowsza wersja, kolumna Ostatnia wersja pokazuje (Dostępna aktualizacja).
Użyj cmdlet Get-AzVM , aby sprawdzić zainstalowaną wersję rozszerzenia:
(Get-AzVM -ResourceGroupName 'myResourceGroup' -Name 'myVM' -Status).Extensions | Where-Object { $_.Name -eq 'AzureNetworkWatcherExtension' } | Select-Object Name, TypeHandlerVersion
Użyj komandora Get-AzVMExtensionImage , aby znaleźć najnowszą dostępną wersję rozszerzenia dla systemu operacyjnego i regionu twojej maszyny wirtualnej:
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
Użyj polecenia get-instance-view w az VM, aby sprawdzić zainstalowaną wersję rozszerzenia:
az vm get-instance-view --resource-group 'myResourceGroup' --name 'myVM' --query "extensions[?name=='AzureNetworkWatcherExtension'].typeHandlerVersion" --output tsv
Użyj polecenia AZ VM Extension Image List , aby znaleźć najnowszą dostępną wersję rozszerzenia dla systemu operacyjnego twojej maszyny wirtualnej:
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
Najnowszą wersją rozszerzenia usługi Network Watcher jest 1.4.4011.1.
Włącz automatyczną aktualizację
Automatyczna aktualizacja pozwala platformie Azure zaktualizować rozszerzenie do najnowszej wersji bez ręcznej ingerencji. Użyj poniższych kroków, aby sprawdzić, czy automatyczna aktualizacja jest włączona, a jeśli nie, włącz ją.
W Ustawieniach maszyny wirtualnej w portalu Azure wybierz Rozszerzenia + aplikacje.
Wybierz rozszerzenie AzureNetworkWatcherExtension z listy rozszerzeń i sprawdź kolumnę Automatyczny status aktualizacji .
Jeśli pokazuje Wyłączone, wybierz Włącz automatyczną aktualizację na pasku narzędzi.
Wybierz Tak, aby potwierdzić.
Użyj komandora Get-AzVMExtension , aby sprawdzić, czy włączona jest automatyczna aktualizacja:
Get-AzVMExtension -ResourceGroupName 'myResourceGroup' -VMName 'myVM' -Name 'AzureNetworkWatcherExtension' | Select-Object Name, EnableAutomaticUpgrade
Jeśli EnableAutomaticUpgrade ma wartość False, użyj polecenia cmdlet Set-AzVMExtension, aby je włączyć:
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
Użyj polecenia az vm extension show, aby sprawdzić, czy automatyczne uaktualnianie jest włączone:
az vm extension show --resource-group 'myResourceGroup' --vm-name 'myVM' --name 'AzureNetworkWatcherExtension' --query 'enableAutomaticUpgrade'
Jeśli polecenie zwraca false, użyj polecenia az vm extension set, aby je włączyć:
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'
Użyj poniższego szablonu Azure Resource Manager (szablon ARM), aby umożliwić automatyczną aktualizację rozszerzenia Network Watcher Agent VM:
{
"$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"
}
}
]
}
Aby wdrożyć szablon usługi Resource Manager, możesz użyć programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure:
# 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
Po włączeniu automatycznej aktualizacji Azure aktualizuje rozszerzenie automatycznie, bez konieczności restartu maszyny wirtualnej. Proces ten może trwać do 30 dni po wydaniu nowej wersji.
Aktualizuj ręcznie
W Ustawieniach maszyny wirtualnej w portalu Azure wybierz Rozszerzenia + aplikacje.
Wybierz AzureNetworkWatcherExtension z listy rozszerzeń, a następnie wybierz Aktualizuj z paska narzędzi.
Wybierz Tak, aby potwierdzić.
Po zakończeniu aktualizacji kolumny Wersja i Najnowsze Wersje pokazują ten sam numer wersji.
Jeśli aktualizacja nie zastosuje najnowszej wersji, usuń rozszerzenie i zainstaluj je ponownie:
- Wybierz pozycję AzureNetworkWatcherExtension z listy rozszerzeń, a następnie wybierz pozycję Odinstaluj.
- Wybierz + Dodaj, wyszukaj Network Watcher Agent i zainstaluj go ponownie. Platforma automatycznie instaluje najnowszą dostępną wersję. Więcej informacji można znaleźć w artykule Install Network Watcher Agent VM extension.
Użyj komandora Set-AzVMExtension z parametrem -ForceRerun , aby ponownie zastosować rozszerzenie bez konieczności odinstalowywania. Wartość -ForceRerun ta musi różnić się od aktualnej wartości za każdym razem, gdy wykonujesz polecenie, więc użyj wartości, która się zmienia, takiej jak aktualna data i godzina:
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)
Jeśli ten warunek nie zaktualizuje rozszerzenia, usuń je i zainstaluj ponownie, aby uzyskać najnowszą wersję:
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'
Użyj polecenia AZ VM Extension Set z parametrem --force-update , aby ponownie zastosować rozszerzenie bez jego odinstalowywania:
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
Jeśli ten warunek nie zaktualizuje rozszerzenia, usuń je i zainstaluj ponownie, aby uzyskać najnowszą wersję:
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'
Użyj poniższego szablonu Azure Resource Manager (szablon ARM), aby ponownie zastosować rozszerzenie. Zaktualizuj typeHandlerVersion parametr do najnowszej wersji, którą zidentyfikowałeś w Sprawdź wersję rozszerzenia i ponownie wdroż szablon:
{
"$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')]"
}
}
]
}
Aby wdrożyć szablon usługi Resource Manager, możesz użyć programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure:
# 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>'
Aktualizacja na dużą skalę za pomocą skryptu PowerShell
Jeśli masz duże wdrożenia, użyj skryptu PowerShell, aby zaktualizować wiele maszyn wirtualnych w subskrypcji jednocześnie. Poniższy skrypt aktualizuje rozszerzenie Network Watcher na wszystkich nieaktualnych maszynach wirtualnych w subskrypcji:
<#
.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"
}
Odinstaluj rozszerzenie agenta Network Watcher dla maszyny wirtualnej
Na stronie maszyny wirtualnej w witrynie Azure Portal możesz odinstalować rozszerzenie maszyny wirtualnej agenta usługi Network Watcher, wykonując następujące kroki:
W obszarze Ustawienia wybierz Rozszerzenia i aplikacje.
Wybierz pozycję AzureNetworkWatcherExtension z listy rozszerzeń, a następnie wybierz pozycję Odinstaluj.
Note
Być może zobaczysz rozszerzenie maszyny wirtualnej agenta usługi Network Watcher o nazwie innej niż AzureNetworkWatcherExtension.
Użyj komandora Remove-AzVMExtension, aby usunąć rozszerzenie Network Watcher Agent VM z maszyny wirtualnej:
# Uninstall Network Watcher Agent VM extension.
Remove-AzVMExtension -Name 'AzureNetworkWatcherExtension' -ResourceGroupName 'myResourceGroup' -VMName 'myVM'
Użyj polecenia az VM extension delete, aby usunąć rozszerzenie Network Watcher Agent VM z maszyny wirtualnej:
# Uninstall Network Watcher Agent VM extension.
az vm extension delete --name 'AzureNetworkWatcherExtension' --resource-group 'myResourceGroup' --vm-name 'myVM'
Najczęściej zadawane pytania (FAQ)
Aby uzyskać odpowiedzi na najczęściej zadawane pytania dotyczące Network Watcher Agent, zobacz FAQ Network Watcher Agent.
Treści powiązane