管理 Linux 的網路監看員代理程式虛擬機器延伸模組
本文內容
Azure 網路監看員的某些功能需有網路監看員代理程式的虛擬機器延伸模組來擷取網路流量,才能診斷和監看 Azure 虛擬機器 (VM)。 如需詳細資訊,請參閱什麼是 Azure 網路監看員?
在本文中,您將了解如何安裝和解除安裝 Linux 的網路監看員代理程式。 安裝代理程式不會讓虛擬機器中斷或需要重新開機。 若虛擬機器是由 Azure 服務所部署,請檢查服務文件以判斷其是否允許在虛擬機器中安裝延伸模組。
注意
AKS 叢集不支援網路監看員代理程式擴充功能。
必要條件
Azure Linux 虛擬機器 (VM)。 如需詳細資訊,請參閱支援的 Linux 散發套件和版本 。
輸出 TCP 連線至 169.254.169.254
(透過 port 80
) 以及連線至 168.63.129.16
(透過 port 8037
) 的連線能力。 代理程式會使用這些 IP 位址,來與 Azure 平台進行通訊。
網際網路連線能力:網路監看員代理程式需有網際網路連線能力,某些功能才能正常運作。 例如,該代理程式需要連線至儲存體帳戶,才能上傳封包擷取資料。 如需詳細資訊,請參閱封包擷取概觀 。
Azure Linux 虛擬機器 (VM)。 如需詳細資訊,請參閱支援的 Linux 散發套件和版本 。
輸出 TCP 連線至 169.254.169.254
(透過 port 80
) 以及連線至 168.63.129.16
(透過 port 8037
) 的連線能力。 代理程式會使用這些 IP 位址,來與 Azure 平台進行通訊。
網際網路連線能力:網路監看員代理程式需有網際網路連線能力,某些功能才能正常運作。 例如,該代理程式需要連線至儲存體帳戶,才能上傳封包擷取資料。 如需詳細資訊,請參閱封包擷取概觀 。
Azure Cloud Shell 或 Azure PowerShell。
本文中的步驟會在 Azure Cloud Shell 中以互動方式執行 Azure PowerShell Cmdlet。 若要在 Cloud Shell 中執行命令,請選取程式碼區塊右上角的 [開啟 Cloud Shell] 。 選取 [複製] 以複製程式碼,然後將其貼入 Cloud Shell 以執行。 您也可以從 Azure 入口網站內執行 Cloud Shell。
您也可以在本機安裝 Azure PowerShell 來執行 Cmdlet。 如果您在本機執行 PowerShell,請使用 Connect-AzAccount Cmdlet 登入 Azure。
Azure Linux 虛擬機器 (VM)。 如需詳細資訊,請參閱支援的 Linux 散發套件和版本 。
輸出 TCP 連線至 169.254.169.254
(透過 port 80
) 以及連線至 168.63.129.16
(透過 port 8037
) 的連線能力。 代理程式會使用這些 IP 位址,來與 Azure 平台進行通訊。
網際網路連線能力:網路監看員代理程式需有網際網路連線能力,某些功能才能正常運作。 例如,該代理程式需要連線至儲存體帳戶,才能上傳封包擷取資料。 如需詳細資訊,請參閱封包擷取概觀 。
Azure Cloud Shell 或 Azure CLI。
本文中的步驟會在 Azure Cloud Shell 中以互動方式執行 Azure CLI 命令。 若要在 Cloud Shell 中執行命令,請選取程式碼區塊右上角的 [開啟 Cloud Shell] 。 選取 [複製] 以複製程式碼,並將它貼到 Cloud Shell 中以執行。 您也可以從 Azure 入口網站內執行 Cloud Shell。
您也可以在本機安裝 Azure CLI 以執行命令。 如果您在本機執行 Azure CLI,請使用 az login 命令登入 Azure。
Azure Linux 虛擬機器 (VM)。 如需詳細資訊,請參閱支援的 Linux 散發套件和版本 。
輸出 TCP 連線至 169.254.169.254
(透過 port 80
) 以及連線至 168.63.129.16
(透過 port 8037
) 的連線能力。 代理程式會使用這些 IP 位址,來與 Azure 平台進行通訊。
網際網路連線能力:網路監看員代理程式需有網際網路連線能力,某些功能才能正常運作。 例如,該代理程式需要連線至儲存體帳戶,才能上傳封包擷取資料。 如需詳細資訊,請參閱封包擷取概觀 。
在本機安裝 Azure PowerShell 或 Azure CLI 以部署範本。
受支援的作業系統
Linux 的網路監看員代理程式延伸模組可以安裝在下列 Linux 發行版本上:
Distribution
版本
AlmaLinux
9.2
Azure Linux
2.0
CentOS 1
6.10 和 7
Debian
7 和 8
OpenSUSE Leap
42.3+
Oracle Linux
6.10 2 、7 和 8+
Red Hat Enterprise Linux (RHEL)
6.10 3 、7、8 和 9.2
Rocky Linux
9.1
SUSE Linux Enterprise Server (SLES)
12 和 15 (SP2、SP3 和 SP4)
Ubuntu
16+
1 CentOS Linux 於 2024 年 6 月 30 日終止服務 (EOL)。 如需詳細資訊,請參閱 CentOS 生命週期結束指導 。
2 Oracle Linux 6.X 版的延長生命週期 (ELS) 支援 於 2024 年 7 月 1 日 結束。
3 Red Hat Enterprise Linux 6.X 版的延長生命週期 (ELS) 支援 於 2024 年 6 月 30 日 結束。
擴充功能結構描述
下列 JSON 顯示網路監看員代理程式擴充功能的結構描述。 擴充功能不會要求 (或支援) 任何使用者提供的設定。 擴充功能會依賴其預設設定。
{
"name": "[concat(parameters('vmName'), '/AzureNetworkWatcherExtension')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2023-03-01",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', parameters('vmName'))]"
],
"properties": {
"autoUpgradeMinorVersion": true,
"publisher": "Microsoft.Azure.NetworkWatcher",
"type": "NetworkWatcherAgentLinux",
"typeHandlerVersion": "1.4"
}
}
列出已安裝的延伸模組
從 Azure 入口網站中的虛擬機器頁面,您可以遵循下列步驟來檢視已安裝的延伸模組:
在 [設定] 下方,選取 [延伸模組 + 應用程式] 。
在 [延伸模組] 索引標籤中,您可以看到虛擬機器上所有已安裝的延伸模組。 如果清單太長,您可以使用搜尋方塊來篩選清單。
使用 Get-AzVMExtension Cmdlet 列出虛擬機器上所有已安裝的延伸模組:
# List the installed extensions on the virtual machine.
Get-AzVMExtension -ResourceGroupName 'myResourceGroup' -VMName 'myVM' | format-table Name, Publisher, ExtensionType, AutoUpgradeMinorVersion, EnableAutomaticUpgrade
Cmdlet 的輸出內容會列出已安裝的延伸模組:
Name Publisher ExtensionType AutoUpgradeMinorVersion EnableAutomaticUpgrade
---- --------- ------------- ----------------------- ----------------------
AzureNetworkWatcherExtension Microsoft.Azure.NetworkWatcher NetworkWatcherAgentLinux True True
使用 az vm extension list 命令來列出虛擬機器上所有已安裝的延伸模組:
# List the installed extensions on the virtual machine.
az vm extension list --resource-group 'myResourceGroup' --vm-name 'myVM' --out table
該命令的輸出內容會列出已安裝的延伸模組:
Name ProvisioningState Publisher Version AutoUpgradeMinorVersion
---------------------------- ------------------- ------------------------------ --------- -------------------------
AzureNetworkWatcherExtension Succeeded Microsoft.Azure.NetworkWatcher 1.4 True
安裝網路監看員代理程式 VM 延伸模組
從 Azure 入口網站中的虛擬機器頁面,您可以遵循下列步驟來安裝網路監看員代理程式 VM 延伸模組:
在 [設定] 下方,選取 [延伸模組 + 應用程式] 。
選取 [+ 新增] ,然後搜尋網路監看員代理程式 並加以安裝。 若已安裝延伸模組,您可以在延伸模組清單中看到該項目。
在 [安裝延伸模組] 的搜尋方塊中,輸入適用於 Linux 的網路監看員代理程式 。 從清單中選取延伸模組,然後選取 [下一步] 。
選取 [檢閱 + 建立] ,然後選取 [建立] 。
使用 Set-AzVMExtension Cmdlet 在虛擬機器上安裝網路監看員代理程式 VM 延伸模組:
# Install Network Watcher Agent for Linux on the virtual machine.
Set-AzVMExtension -Name 'AzureNetworkWatcherExtension' -Publisher 'Microsoft.Azure.NetworkWatcher' -ExtensionType 'NetworkWatcherAgentLinux' -EnableAutomaticUpgrade 1 -TypeHandlerVersion '1.4' -ResourceGroupName 'myResourceGroup' -VMName 'myVM'
安裝成功完成之後,您會看到下列輸出內容:
RequestId IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
True OK
使用 az vm extension set 命令,在虛擬機器上安裝網路監看員代理程式 VM 延伸模組:
# Install Network Watcher Agent for Windows on the virtual machine.
az vm extension set --name 'NetworkWatcherAgentLinux' --extension-instance-name 'AzureNetworkWatcherExtension' --publisher 'Microsoft.Azure.NetworkWatcher' --enable-auto-upgrade 'true' --version '1.4' --resource-group 'myResourceGroup' --vm-name 'myVM'
使用下列 Azure Resource Manager 範本 (ARM 範本) 在 Linux 虛擬機器上安裝網路監看員代理程式 VM 延伸模組:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
}
},
"variables": {},
"resources": [
{
"name": "[parameters('vmName')]",
"type": "Microsoft.Compute/virtualMachines",
"apiVersion": "2023-03-01",
"location": "[resourceGroup().location]",
"properties": {
}
},
{
"name": "[concat(parameters('vmName'), '/AzureNetworkWatcherExtension')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2023-03-01",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', parameters('vmName'))]"
],
"properties": {
"autoUpgradeMinorVersion": true,
"publisher": "Microsoft.Azure.NetworkWatcher",
"type": "NetworkWatcherAgentLinux",
"typeHandlerVersion": "1.4"
}
}
],
"outputs": {}
}
您可以使用 Azure PowerShell 或 Azure CLI 來部署 Resource Manager 範本:
# Deploy the JSON template file using Azure PowerShell.
New-AzResourceGroupDeployment -ResourceGroupName 'myResourceGroup' -TemplateFile 'agent.json'
# Deploy the JSON template file using the Azure CLI.
az deployment group create --resource-group 'myResourceGroup' --template-file 'agent.json'
解除安裝網路監看員代理程式 VM 延伸模組
從 Azure 入口網站中的虛擬機器頁面,您可以遵循下列步驟來解除安裝網路監看員代理程式 VM 延伸模組:
在 [設定] 下方,選取 [延伸模組 + 應用程式] 。
從延伸模組清單中選取 AzureNetworkWatcherExtension ,然後選取 [解除安裝] 。
注意
您可能會看到網路監看員代理程式 VM 延伸模組的名稱與 AzureNetworkWatcherExtension 不同。
使用 Remove-AzVMExtension Cmdlet 從虛擬機器移除網路監看員代理程式 VM 延伸模組:
# Uninstall Network Watcher Agent VM extension.
Remove-AzureVMExtension -Name 'AzureNetworkWatcherExtension' -ResourceGroupName 'myResourceGroup' -VMName 'myVM'
使用 az vm extension delete 命令,從虛擬機器中移除網路監看員代理程式 VM 延伸模組:
# Uninstall Network Watcher Agent VM extension.
az vm extension delete --name 'AzureNetworkWatcherExtension' --resource-group 'myResourceGroup' --vm-name 'myVM'
常見問題集 (FAQ)
若要取得網路監看員代理程式常見問題的解答,請參閱網路監看員代理程式常見問題 。
相關內容