Atualizar a extensão do Azure Network Watcher para a versão mais recente
O Azure Network Watcher é um serviço de monitoramento, diagnóstico e análise de desempenho de rede que monitora redes do Azure. A extensão de máquina virtual (VM) do Network Watcher Agent é um requisito para capturar tráfego de rede sob demanda e usar outras funcionalidades avançadas em VMs do Azure. Ele é usado pelo monitor de conexão, solução de problemas de conexão e captura de pacotes.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Se não tiver uma subscrição, crie uma conta gratuita.
- Uma máquina virtual (VM) do Azure que tem a extensão Network Watcher instalada.
Versão mais recente
A última versão da extensão Network Watcher é 1.4.3422.1
.
Identificar a versão mais recente
Use o comando az vm extension image list para identificar a versão mais recente da extensão Network Watcher para o sistema operacional da sua VM.
# Identify latest version of Network Watcher extension for Linux.
az vm extension image list --name 'NetworkWatcherAgentLinux' --publisher 'Microsoft.Azure.NetworkWatcher' --latest --location 'eastus'
Atualize sua extensão usando um script do PowerShell
Se você tiver implantações grandes, use um script do PowerShell para atualizar várias VMs de uma só vez. O seguinte script do PowerShell atualiza a extensão do Inspetor de Rede de todas as VMs do Windows em uma assinatura:
<#
.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"
}
Atualize a extensão manualmente
Para atualizar sua extensão, você precisa saber sua versão de extensão.
Verifique a sua versão de extensão
Você pode verificar sua versão de extensão usando o portal do Azure, a CLI do Azure ou o PowerShell.
Utilizar o portal do Azure
- Vá para o painel Extensões da sua VM no portal do Azure.
- Selecione a extensão AzureNetworkWatcher para ver o painel de detalhes.
- Localize o número da versão no campo Versão .
Utilizar a CLI do Azure
Execute o seguinte comando a partir de um prompt da CLI do Azure:
az vm get-instance-view --resource-group "SampleRG" --name "Sample-VM"
Localize "AzureNetworkWatcherExtension" na saída e identifique o número da versão no campo "TypeHandlerVersion" na saída.
As informações sobre a extensão aparecem várias vezes na saída JSON. O número completo da versão da extensão está disponível no bloco Extensões.
Você deve ver algo como o abaixo:
Utilizar o PowerShell
Execute os seguintes comandos a partir de um prompt do PowerShell:
Get-AzVM -ResourceGroupName "SampleRG" -Name "Sample-VM" -Status
Localize a extensão do Azure Network Watcher na saída e identifique o número da versão no campo "TypeHandlerVersion" na saída.
Você deve ver algo como o abaixo:
Atualize a sua extensão
Se a sua versão estiver abaixo da versão mais recente mencionada acima, atualize a extensão usando qualquer uma das seguintes opções.
Opção 1: Usar o PowerShell
Execute os seguintes comandos:
#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"
Se isso não funcionar. Remova e instale a extensão novamente, usando as etapas abaixo, para instalar a versão mais recente.
Remoção da extensão
#Same command for Linux and Windows
Remove-AzVMExtension -ResourceGroupName "SampleRG" -VMName "Sample-VM" -Name "AzureNetworkWatcherExtension"
Instalando a extensão novamente
#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"
Opção 2: Usar a CLI do Azure
Forçar uma atualização.
#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
Se isso não funcionar, remova e instale a extensão novamente e siga estas etapas para adicionar automaticamente a versão mais recente.
Remova a extensão.
#Same for Linux and Windows
az vm extension delete --resource-group "myResourceGroup1" --vm-name "myVM1" -n "AzureNetworkWatcherExtension"
Instale a extensão novamente.
#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"
Opção 3: Reinicialize suas VMs
Se você tiver a atualização automática definida como true para a extensão Network Watcher, reinicie a instalação da VM para a extensão mais recente.
Suporte
Se precisar de mais ajuda em qualquer ponto deste artigo, consulte a documentação da extensão Network Watcher para Linux ou Windows. Você também pode entrar em contato com os especialistas do Azure nos fóruns MSDN Azure e Stack Overflow. Como alternativa, registre um incidente de suporte do Azure. Vá para o site de suporte do Azure e selecione Obter suporte. Para obter informações sobre como usar o Suporte do Azure, leia as Perguntas frequentes de suporte do Microsoft Azure.