Azure Network Watcher 的某些功能需要使用 Network Watcher 代理虚拟机扩展,以便捕获网络流量来诊断和监控 Azure 虚拟机 (VM)。 有关详细信息,请参阅 什么是 Azure Network Watcher?
本文介绍如何安装和卸载适用于 Linux 的 Network Watcher 代理。 代理的安装不会中断虚拟机的运行,也不需要重新启动虚拟机。 如果虚拟机由Azure服务部署,请检查服务的文档以确定它是否允许在虚拟机中安装扩展。
注意
AKS 群集不支持Network Watcher代理扩展。
先决条件
Azure Linux 虚拟机(VM)。 有关详细信息,请参阅支持的 Linux 发行版和版本。
对 169.254.169.254 的出站 TCP 连接通过 port 80,对 168.63.129.16 的连接通过 port 8037。 代理使用这些 IP 地址与 Azure 平台通信。
Internet 连接:Network Watcher代理需要 Internet 连接才能使某些功能正常工作。 例如,为了能上传数据包捕获文件,需要连接到您的存储账户。
Azure Linux 虚拟机(VM)。 有关详细信息,请参阅支持的 Linux 发行版和版本。
对 169.254.169.254 的出站 TCP 连接通过 port 80,对 168.63.129.16 的连接通过 port 8037。 代理使用这些 IP 地址与 Azure 平台通信。
Internet 连接:Network Watcher代理需要 Internet 连接才能使某些功能正常工作。 例如,为了能上传数据包捕获文件,需要连接到您的存储账户。
Azure PowerShell。
可以在本地安装 Azure PowerShell 来运行 cmdlet。 如果在本地运行 PowerShell,请使用 Connect-AzAccount -Environment AzureChinaCloud cmdlet 登录到Azure。
Azure Linux 虚拟机(VM)。 有关详细信息,请参阅支持的 Linux 发行版和版本。
对 169.254.169.254 的出站 TCP 连接通过 port 80,对 168.63.129.16 的连接通过 port 8037。 代理使用这些 IP 地址与 Azure 平台通信。
Internet 连接:Network Watcher代理需要 Internet 连接才能使某些功能正常工作。 例如,为了能上传数据包捕获文件,需要连接到您的存储账户。
Azure CLI。
可以在本地安装Azure CLI来运行命令。 如果在本地运行Azure CLI,请使用 az login 命令登录到Azure。
Azure Linux 虚拟机(VM)。 有关详细信息,请参阅支持的 Linux 发行版和版本。
对 169.254.169.254 的出站 TCP 连接通过 port 80,对 168.63.129.16 的连接通过 port 8037。 代理使用这些 IP 地址与 Azure 平台通信。
Internet 连接:Network Watcher代理需要 Internet 连接才能使某些功能正常工作。 例如,为了能上传数据包捕获文件,需要连接到您的存储账户。
在本地安装Azure PowerShell或Azure CLI部署模板。
受支持的操作系统
Network Watcher Linux 代理扩展可安装在以下 Linux 分发版上:
| 分发 |
版本 |
| 阿尔玛Linux |
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延长生命周期 (ELS) 对 Oracle Linux 版本 6.X 的支持于 2024 年 7 月 1 日结束。
3延长生命周期 (ELS) 对 Red Hat Enterprise Linux 6.X 的支持于 2024 年 6 月 30 日结束。
扩展架构
以下 JSON 显示了Network Watcher代理扩展的架构。 扩展不需要或不支持用户提供的任何设置。 扩展依赖于其默认配置。
{
"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门户中的虚拟机页中,可以按照以下步骤查看已安装的扩展:
在“设置”下,选择“扩展 + 应用程序”。
在“扩展”选项卡中,可以看到虚拟机上所有已安装的扩展。 如果列表太长,可以使用搜索框筛选列表。
截图显示如何在 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
安装 Network Watcher Agent VM 扩展
在Azure门户中的虚拟机页中,可以按照以下步骤安装Network Watcher代理 VM 扩展:
在“设置”下,选择“扩展 + 应用程序”。
选择 + 添加并搜索 Network Watcher Agent 并安装它。 如果扩展已安装,将显示在扩展列表中。
在 安装扩展的搜索框中,输入 Network Watcher Agent for Linux。 从列表中选择扩展,然后选择“下一步”。
显示如何在 Azure 门户中安装 Network Watcher Agent for Linux 的截图。
选择“查看 + 创建”,然后选择“创建” 。
使用 Set-AzVMExtension cmdlet 在虚拟机上安装 Network Watcher 代理 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 命令在虚拟机上安装 Network Watcher Agent 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 虚拟机上安装 Network Watcher 代理 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'
卸载 Network Watcher 代理 VM 扩展
你可以在 Azure 门户的虚拟机页上,按照以下步骤卸载 Network Watcher 代理 VM 扩展:
在“设置”下,选择“扩展 + 应用程序”。
从扩展列表中选择 AzureNetworkWatcherExtension,然后选择“卸载”。
显示如何在 Azure 门户中卸载适用于 Linux 的 Network Watcher 代理的截图。
注意
你可能会看到 Network Watcher Agent VM 扩展的名称不同于 AzureNetworkWatcherExtension。
使用 Remove-AzVMExtension cmdlet 从虚拟机中删除 Network Watcher Agent VM 扩展:
# Uninstall Network Watcher Agent VM extension.
Remove-AzureVMExtension -Name 'AzureNetworkWatcherExtension' -ResourceGroupName 'myResourceGroup' -VMName 'myVM'
使用 az vm extension delete 命令从虚拟机中删除 Network Watcher Agent VM 扩展:
# Uninstall Network Watcher Agent VM extension.
az vm extension delete --name 'AzureNetworkWatcherExtension' --resource-group 'myResourceGroup' --vm-name 'myVM'
常见问题 (FAQ)
若要获取有关Network Watcher代理的最常见问题的解答,请参阅 Network Watcher 代理常见问题解答。
相关内容