Azure Network Watcher-extensie bijwerken naar de nieuwste versie

Azure Network Watcher is een bewakings-, diagnostische en analyseservice voor netwerkprestaties waarmee Azure-netwerken worden bewaakt. De VM-extensie (Network Watcher Agent) is een vereiste voor het vastleggen van netwerkverkeer op aanvraag en het gebruik van andere geavanceerde functionaliteit op Virtuele Azure-machines. Het wordt gebruikt door verbindingsmonitor, problemen met de verbinding oplossen en pakketopname.

Vereisten

  • Een Azure-account met een actief abonnement. Als u nog geen account hebt, kunt u een gratis account maken.
  • Een virtuele Azure-machine (VM) waarop de Network Watcher-extensie is geïnstalleerd.

Nieuwste versie

De nieuwste versie van de Network Watcher-extensie is 1.4.3206.1.

Meest recente versie identificeren

Gebruik de opdracht az vm extension image list om de nieuwste versie van de Network Watcher-extensie voor het besturingssysteem van uw VIRTUELE machine te identificeren.

# Identify latest version of Network Watcher extension for Linux.
az vm extension image list --name 'NetworkWatcherAgentLinux' --publisher 'Microsoft.Azure.NetworkWatcher' --latest --location 'eastus'

Uw extensie bijwerken met behulp van een PowerShell-script

Als u grote implementaties hebt, gebruikt u een PowerShell-script om meerdere VM's tegelijk bij te werken. Met het volgende PowerShell-script wordt de Network Watcher-extensie van alle Windows-VM's in een abonnement bijgewerkt:

<# 
    .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" 
}

Uw extensie handmatig bijwerken

Als u uw extensie wilt bijwerken, moet u de extensieversie kennen.

Controleer de extensieversie

U kunt uw extensieversie controleren met behulp van Azure Portal, De Azure CLI of PowerShell.

De Azure-portal gebruiken

  1. Ga naar het deelvenster Extensies van uw VIRTUELE machine in Azure Portal.
  2. Selecteer de Extensie AzureNetworkWatcher om het detailvenster te bekijken.
  3. Zoek het versienummer in het veld Versie .  

De Azure CLI gebruiken

Voer de volgende opdracht uit vanaf een Azure CLI-prompt:

az vm get-instance-view --resource-group  "SampleRG" --name "Sample-VM"

Zoek 'AzureNetworkWatcherExtension' in de uitvoer en identificeer het versienummer uit het veld TypeHandlerVersion in de uitvoer. 

Informatie over de extensie wordt meerdere keren weergegeven in de JSON-uitvoer. Het volledige versienummer van de extensie is beschikbaar onder het uitbreidingsblok.

U ziet er ongeveer als volgt uit: Schermopname van Azure CLI

PowerShell gebruiken

Voer de volgende opdrachten uit vanaf een PowerShell-prompt:

Get-AzVM -ResourceGroupName "SampleRG" -Name "Sample-VM" -Status

Zoek de Azure Network Watcher-extensie in de uitvoer en identificeer het versienummer uit het veld TypeHandlerVersion in de uitvoer.  

U ziet er ongeveer als volgt uit: Schermopname van PowerShell

Uw extensie bijwerken

Als uw versie lager is dan de meest recente versie die hierboven wordt genoemd, werkt u de extensie bij met behulp van een van de volgende opties.

Optie 1: PowerShell gebruiken

Voer de volgende opdrachten uit:

#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"

Als dat niet werkt. Verwijder en installeer de extensie opnieuw met behulp van de onderstaande stappen om de nieuwste versie te installeren.

De extensie verwijderen

#Same command for Linux and Windows
Remove-AzVMExtension -ResourceGroupName "SampleRG" -VMName "Sample-VM" -Name "AzureNetworkWatcherExtension"

De extensie opnieuw installeren

#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"

Optie 2: De Azure CLI gebruiken

Een upgrade afdwingen.

#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

Als dat niet werkt, verwijdert en installeert u de extensie opnieuw en volgt u deze stappen om automatisch de nieuwste versie toe te voegen.

Verwijder de extensie.

#Same for Linux and Windows
az vm extension delete --resource-group "myResourceGroup1" --vm-name "myVM1" -n "AzureNetworkWatcherExtension"

Installeer de extensie opnieuw.

#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"

Optie 3: Uw VM's opnieuw opstarten

Als u automatische upgrade hebt ingesteld op True voor de Network Watcher-extensie, start u de installatie van de VIRTUELE machine opnieuw op naar de nieuwste extensie.

Ondersteuning

Als u op enig moment in dit artikel meer hulp nodig hebt, raadpleegt u de network Watcher-extensiedocumentatie voor Linux of Windows. U kunt ook contact opnemen met de Azure-experts op de MSDN Azure- en Stack Overflow-forums. U kunt ook een ondersteuning voor Azure incident indienen. Ga naar de ondersteuning voor Azure site en selecteer Ondersteuning krijgen. Lees de veelgestelde vragen over microsoft ondersteuning voor Azure voor informatie over het gebruik van Azure-ondersteuning.