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

  1. Na webu Azure Portal přejděte do podokna Rozšíření vašeho virtuálního počítače.
  2. Výběrem rozšíření AzureNetworkWatcher zobrazíte podokno podrobností.
  3. 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: Snímek obrazovky Azure CLI

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: Snímek obrazovky PowerShellu

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.