共用方式為


將 Azure 網路監看員擴充功能更新為最新版本

Azure 網路監看員是監視整個 Azure 網路的網路效能的監視、診斷和分析服務。 對於在 Azure 虛擬機器 (VM) 上隨時擷取網路流量並使用其他進階功能來說,網路監看員代理程式虛擬機器擴充功能都是必要的。 連線監視、連線疑難排解和封包擷取會使用它。

必要條件

  • 具有有效訂用帳戶的 Azure 帳戶。 如果您沒有訂用帳戶,請建立免費帳戶
  • 已安裝網路監看員擴充功能的 Azure 虛擬機器 (VM)。

最新版本

最新版的網路監看員擴充功能為 1.4.3422.1

識別最新版本

使用 az vm extension image list 命令來識別您的 VM 作業系統適用的最新版本網路監看員擴充功能。

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

使用 PowerShell 指令碼更新擴充功能

如果您有大型部署,請使用 PowerShell 指令碼一次更新多個 VM。 下列 PowerShell 指令碼會更新訂用帳戶中所有 Windows VM 的網路監看員擴充功能:

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

手動更新擴充功能

若要更新擴充功能,您必須先知道目前使用的擴充功能版本。

檢查擴充功能版本

您可以使用 Azure 入口網站、Azure CLI 或 PowerShell 來檢查擴充功能版本。

使用 Azure 入口網站

  1. 在 Azure 入口網站中,請移至 VM 的 [擴充功能] 窗格。
  2. 選取 [AzureNetworkWatcher] 擴充功能以查看詳細資料窗格。
  3. 在 [版本] 欄位中找出版本號碼。  

使用 Azure CLI

從 Azure CLI 提示字元中執行下列命令:

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

在輸出中找出 "AzureNetworkWatcherExtension",並從輸出的 “TypeHandlerVersion” 欄位中找到版本號碼。 

擴充功能的相關資訊會多次出現在 JSON 輸出中。 擴充功能區塊下應會提供擴充功能的完整版本號碼。

您應該會看到類似以下畫面︰Azure CLI 螢幕擷取畫面

使用 PowerShell

從 PowerShell 提示字元中執行下列命令:

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

在輸出中找出 Azure 網路監看員擴充功能,並從輸出的 “TypeHandlerVersion” 欄位找出版本號碼。  

您應該會看到類似以下畫面︰PowerShell 螢幕擷取畫面

更新擴充功能

如果您的版本低於上述的最新版本,請使用下列任一選項來更新擴充功能。

選項 1:使用 PowerShell

執行下列命令:

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

如果這麼做沒有用的話。 使用下列步驟,再次移除並安裝擴充功能,即可安裝最新版本。

移除擴充功能

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

再次安裝擴充功能

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

選項 2:使用 Azure CLI

強制升級。

#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

如果這麼做沒有用的話,請移除並再次安裝擴充功能,並遵循下列步驟來自動新增最新版本。

移除擴充功能

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

再次安裝擴充功能。

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

選項 3:重新啟動 VM

如果您已將網路監看員擴充功能的自動升級設定為 true,請將 VM 安裝重新啟動至最新的擴充功能。

支援

如果您在閱讀本文途中的任何時間點需要更多協助,請參閱適用於 LinuxWindows 的網路監看員擴充功能文件。 您也可以連絡 MSDN Azure 和 Stack Overflow 論壇上的 Azure 專家。 或者提出 Azure 支援案件。 請移至 Azure 支援網站,然後選取 [取得支援]。 如需使用 Azure 支援的資訊,請參閱 Microsoft Azure 支援常見問題集