Обновление расширения Azure Наблюдатель за сетями до последней версии
Наблюдатель за сетями Azure — это служба мониторинга производительности, диагностики и анализа сети, которая отслеживает сети Azure. Расширение виртуальной машины для агента Наблюдателя за сетями необходимо для записи трафика по запросу и использования других дополнительных функций виртуальных машин Azure. Он используется монитором подключений, устранением неполадок подключения и записью пакетов.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Если ее нет, создайте бесплатную учетную запись.
- Виртуальная машина Azure с установленным расширением Наблюдатель за сетями.
Последняя версия
Последняя версия расширения 1.4.3422.1
Наблюдатель за сетями .
Определение последней версии
Используйте команду az vm extension image list, чтобы определить последнюю версию расширения Наблюдатель за сетями для операционной системы виртуальной машины.
# 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 для одновременного обновления нескольких виртуальных машин. Следующий скрипт PowerShell обновляет Наблюдатель за сетями расширение всех виртуальных машин Windows в подписке:
<#
.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
- Перейдите в область Расширения виртуальной машины на портале Azure.
- Выберите расширение AzureNetworkWatcher, чтобы открыть область сведений.
- Найдите номер версии в поле Версия.
Использование командной строки Azure CLI
Выполните приведенную ниже команду в командной строке Azure CLI.
az vm get-instance-view --resource-group "SampleRG" --name "Sample-VM"
Найдите AzureNetworkWatcherExtension в выходных данных и определите номер версии в поле TypeHandlerVersion.
Сведения о расширении отображаются несколько раз в выходных данных JSON. Полный номер версии расширения доступен в блоке расширений.
Вы должны увидеть примерно следующее:
С помощью PowerShell
В командной строке PowerShell выполните приведенные ниже команды.
Get-AzVM -ResourceGroupName "SampleRG" -Name "Sample-VM" -Status
Найдите расширение Наблюдателя за сетями Azure в выходных данных и определите номер версии в поле TypeHandlerVersion.
Вы должны увидеть примерно следующее:
Обновление расширения
Если у вас установлена версия ниже последней указанной выше версии, обновите расширение, используя любой из следующих вариантов.
Вариант 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
Выполните принудительное обновление.
#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. Перезагрузка виртуальных машин
Если для функции автоматического обновления расширения Наблюдателя за сетями задано значение True, перезагрузите виртуальную машину, чтобы установить последнюю версию расширения.
Поддержка
Если вам нужна дополнительная помощь по какому-либо вопросу в этой статье, ознакомьтесь с документацией по расширению Наблюдателя за сетями для Linux или Windows. Вы можете также обратиться к экспертам по Azure на форумах MSDN Azure и Stack Overflow. Кроме того, вы можете зарегистрировать инцидент в службе поддержки Azure. Перейдите на сайт поддержки Azure и выберите Получить поддержку. Дополнительные сведения об использовании службы поддержки Azure см. в статье Часто задаваемые вопросы о поддержке Microsoft Azure.