Aktualizace rozšíření Azure Network Watcher na nejnovější verzi
Azure Network Watcher je služba monitorování výkonu sítě, diagnostika a analýza, která monitoruje sítě Azure. Rozšíření virtuálního počítače agenta Network Watcher je požadavek na zachycení síťového provozu na vyžádání a použití dalších pokročilých funkcí na virtuálních počítačích Azure. Používá se monitorováním připojení, řešením potíží s připojením a zachytáváním paketů.
Požadavky
- Účet Azure s aktivním předplatným. Pokud žádné nemáte, vytvořte si bezplatný účet.
- Virtuální počítač Azure s nainstalovaným rozšířením Network Watcher.
Nejnovější verze
Nejnovější verze rozšíření Network Watcher je 1.4.3422.1
.
Identifikace nejnovější verze
Pomocí příkazu az vm extension image list identifikujte nejnovější verzi rozšíření Network Watcher pro operační systém vašeho virtuálního počítače.
# Identify latest version of Network Watcher extension for Linux.
az vm extension image list --name 'NetworkWatcherAgentLinux' --publisher 'Microsoft.Azure.NetworkWatcher' --latest --location 'eastus'
Aktualizace rozšíření pomocí skriptu PowerShellu
Pokud máte velká nasazení, použijte skript PowerShellu k aktualizaci více virtuálních počítačů najednou. Následující skript PowerShellu aktualizuje rozšíření Network Watcher pro všechny virtuální počítače s Windows v předplatném:
<#
.SYNOPSIS
This script will scan all VMs in the provided subscription and upgrade any out of date AzureNetworkWatcherExtensions
.DESCRIPTION
This script should be no-op if AzureNetworkWatcherExtensions are up to date
Requires Azure PowerShell 4.2 or higher to be installed (e.g. Install-Module AzureRM).
.EXAMPLE
.\UpdateVMAgentsInSub.ps1 -SubID F4BC4873-5DAB-491E-B713-1358EF4992F2 -NoUpdate
#>
[CmdletBinding()]
param(
[Parameter(Mandatory=$true)]
[string] $SubID,
[Parameter(Mandatory=$false)]
[Switch] $NoUpdate = $false,
[Parameter(Mandatory=$false)]
[string] $MinVersion = "1.4.2573.1"
)
function NeedsUpdate($version)
{
if ([Version]$version -lt [Version]$MinVersion)
{
$lessThan = $true
}else{
$lessThan = $false
}
return $lessThan
}
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*"
foreach ($extension in $vm.Extensions)
{
if ($extension.Name -eq "AzureNetworkWatcherExtension")
{
if (NeedsUpdate($extension.TypeHandlerVersion))
{
$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 " -NoNewline
Remove-AzVMExtension -ResourceGroupName $vm.ResourceGroupName -VMName $vm.Name -Name "AzureNetworkWatcherExtension" -Force
Write-Host "... " -NoNewline
$type = if ($isitWindows) { "NetworkWatcherAgentWindows" } else { "NetworkWatcherAgentLinux" }
Set-AzVMExtension -ResourceGroupName $vm.ResourceGroupName -Location $vmName.Location -VMName $vm.Name -Name "AzureNetworkWatcherExtension" -Publisher "Microsoft.Azure.NetworkWatcher" -Type $type -typeHandlerVersion $MinVersion
Write-Host "Done"
}
else
{
Write-Host "Found $(if ($isitWindows) {"Windows"} else {"Linux"}) VM that needs to be updated: 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"
}
Ruční aktualizace rozšíření
Pokud chcete rozšíření aktualizovat, musíte znát svou verzi rozšíření.
Kontrola verze rozšíření
Verzi rozšíření můžete zkontrolovat pomocí webu Azure Portal, Azure CLI nebo PowerShellu.
Použití portálu Azure Portal
- Na webu Azure Portal přejděte do podokna Rozšíření vašeho virtuálního počítače.
- Výběrem rozšíření AzureNetworkWatcher zobrazíte podokno podrobností.
- Vyhledejte číslo verze v poli Verze .
Použití Azure CLI
Z příkazového řádku Azure CLI spusťte následující příkaz:
az vm get-instance-view --resource-group "SampleRG" --name "Sample-VM"
Ve výstupu vyhledejte "AzureNetworkWatcherExtension" a ve výstupu určete číslo verze z pole TypeHandlerVersion.
Informace o rozšíření se ve výstupu JSON zobrazí několikrát. Úplný počet verzí rozšíření je k dispozici v bloku Rozšíření.
Mělo by se zobrazit něco jako v následujícím příkladu:
Použití PowerShellu
Z příkazového řádku PowerShellu spusťte následující příkazy:
Get-AzVM -ResourceGroupName "SampleRG" -Name "Sample-VM" -Status
Vyhledejte ve výstupu rozšíření Azure Network Watcher a identifikujte číslo verze z pole TypeHandlerVersion ve výstupu.
Mělo by se zobrazit něco jako v následujícím příkladu:
Aktualizace rozšíření
Pokud je vaše verze nižší než nejnovější výše uvedená verze, aktualizujte rozšíření pomocí některé z následujících možností.
Možnost 1: Použití PowerShellu
Spusťte následující příkazy:
#Linux command
Set-AzVMExtension -ResourceGroupName "myResourceGroup1" -Location "WestUS" -VMName "myVM1" -Name "AzureNetworkWatcherExtension" -Publisher "Microsoft.Azure.NetworkWatcher" -Type "NetworkWatcherAgentLinux"
#Windows command
Set-AzVMExtension -ResourceGroupName "myResourceGroup1" -Location "WestUS" -VMName "myVM1" -Name "AzureNetworkWatcherExtension" -Publisher "Microsoft.Azure.NetworkWatcher" -Type "NetworkWatcherAgentWindows" -ForceRerun "True"
Pokud to nepomůže. Pokud chcete nainstalovat nejnovější verzi, odeberte rozšíření a nainstalujte ho znovu pomocí následujícího postupu.
Odebrání rozšíření
#Same command for Linux and Windows
Remove-AzVMExtension -ResourceGroupName "SampleRG" -VMName "Sample-VM" -Name "AzureNetworkWatcherExtension"
Opětovná instalace rozšíření
#Linux command
Set-AzVMExtension -ResourceGroupName "SampleRG" -Location "centralus" -VMName "Sample-VM" -Name "AzureNetworkWatcherExtension" -Publisher "Microsoft.Azure.NetworkWatcher" -Type "NetworkWatcherAgentLinux" -typeHandlerVersion "1.4"
#Windows command
Set-AzVMExtension -ResourceGroupName "SampleRG" -Location "centralus" -VMName "Sample-VM" -Name "AzureNetworkWatcherExtension" -Publisher "Microsoft.Azure.NetworkWatcher" -Type "NetworkWatcherAgentWindows" -typeHandlerVersion "1.4"
Možnost 2: Použití Azure CLI
Vynuťte upgrade.
#Linux command
az vm extension set --resource-group "myResourceGroup1" --vm-name "myVM1" --name "NetworkWatcherAgentLinux" --publisher "Microsoft.Azure.NetworkWatcher" --force-update
#Windows command
az vm extension set --resource-group "myResourceGroup1" --vm-name "myVM1" --name "NetworkWatcherAgentWindows" --publisher "Microsoft.Azure.NetworkWatcher" --force-update
Pokud to nepomůže, odeberte a nainstalujte rozšíření znovu a podle těchto kroků automaticky přidejte nejnovější verzi.
Odeberte rozšíření.
#Same for Linux and Windows
az vm extension delete --resource-group "myResourceGroup1" --vm-name "myVM1" -n "AzureNetworkWatcherExtension"
Nainstalujte rozšíření znovu.
#Linux command
az vm extension set --resource-group "DALANDEMO" --vm-name "Linux-01" --name "NetworkWatcherAgentLinux" --publisher "Microsoft.Azure.NetworkWatcher"
#Windows command
az vm extension set --resource-group "DALANDEMO" --vm-name "Linux-01" --name "NetworkWatcherAgentWindows" --publisher "Microsoft.Azure.NetworkWatcher"
Možnost 3: Restartování virtuálních počítačů
Pokud máte pro rozšíření Network Watcher nastavený automatický upgrade na true, restartujte instalaci virtuálního počítače na nejnovější rozšíření.
Technická podpora
Pokud potřebujete další pomoc v libovolném bodě tohoto článku, projděte si dokumentaci k rozšíření Network Watcher pro Linux nebo Windows. Můžete také kontaktovat odborníky na Azure na fórech MSDN Azure a Stack Overflow. Případně vytvořte incident podpora Azure. Přejděte na web podpora Azure a vyberte Získat podporu. Informace o používání podpory Azure najdete v nejčastějších dotazech k Microsoftu podpora Azure.