تحديث ملحق Azure Network Watcher إلى أحدث إصدار
Azure Network Watcher عبارة عن خدمة مراقبة وتشخيص وتحليلات لأداء الشبكة تعمل على مراقبة شبكات Azure. يُعد ملحق الجهاز الظاهري عامل Network Watcher شرطاً لالتقاط حركة انتقال البيانات عبر الشبكة عند الطلب، والوظائف المتقدمة الأخرى على Azure Virtual Machines. يتم استخدامه من قبل مراقبة الاتصال واستكشاف أخطاء الاتصال وإصلاحها والتقاط الحزمة.
المتطلبات الأساسية
- حساب Azure مع اشتراك نشط. في حال لم يكن لديك اشتراك Azure، أنشئ حسابًا مجّانيًّا.
- جهاز ظاهري Azure (VM) مثبت عليه ملحق Network Watcher.
آخر إصدار
أحدث إصدار من ملحق Network Watcher هو 1.4.3422.1
.
تحديد أحدث إصدار
استخدم الأمر az vm extension image list لتحديد أحدث إصدار من ملحق Network Watcher لنظام تشغيل الجهاز الظاهري.
# 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 التالي بتحديث ملحق Network Watcher لجميع أجهزة 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.2.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.
استخدام مدخل Microsoft 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
حدد موقع ملحق Network Watcher في الإخراج وحدد رقم الإصدار من الحقل "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 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: إعادة تشغيل الأجهزة الظاهرية
إذا تم تعيين الترقية التلقائية إلى true لملحق Network Watcher، فأعد تشغيل تثبيت الجهاز الظاهري إلى أحدث ملحق.
الدعم
إذا كنت بحاجة إلى مزيد من المساعدة في أي وقت من هذه المقالة، فراجع وثائق ملحق Network Watcher لنظام التشغيل Linux أو Windows. يمكنك أيضاً الاتصال بخبراء Azure في منتديات MSDN Azure وStack Overflow. بدلاً من ذلك، يمكن تقديم حدث دعم Azure. انتقل إلى Azure Support site (موقع دعم Azure)، وحدد Get Support (الحصول على الدعم). للحصول على معلومات حول استخدام Azure Support، اقرأ الأسئلة المتداولة حول دعم Microsoft Azure.