你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn 。
管理适用于 Linux 的网络观察程序代理虚拟机扩展
本文内容
网络观察程序代理虚拟机扩展是某些 Azure 网络观察程序功能所必需的,这些功能捕获网络流量以诊断和监视 Azure 虚拟机 (VM)。 有关详细信息,请参阅什么是 Azure 网络观察程序 ?
本文介绍如何安装和卸载适用于 Linux 的网络观察程序代理。 代理的安装不会中断虚拟机的运行,也不需要重新启动虚拟机。 如果 Azure 服务部署了虚拟机,请查看该服务的文档以确定它是否允许在虚拟机中安装扩展。
先决条件
Azure Linux 虚拟机 (VM)。 有关详细信息,请参阅支持的 Linux 发行版和版本 。
出站 TCP 通过 port 80
连接到 169.254.169.254
,通过 port 8037
连接到 168.63.129.16
。 该代理使用这些 IP 地址与 Azure 平台进行通信。
Internet 连接:网络观察程序代理需要 Internet 连接才能正常使用某些功能。 例如,它需要连接到存储帐户才能上传数据包捕获。 有关详细信息,请参阅数据包捕获概述 。
Azure Linux 虚拟机 (VM)。 有关详细信息,请参阅支持的 Linux 发行版和版本 。
出站 TCP 通过 port 80
连接到 169.254.169.254
,通过 port 8037
连接到 168.63.129.16
。 该代理使用这些 IP 地址与 Azure 平台进行通信。
Internet 连接:网络观察程序代理需要 Internet 连接才能正常使用某些功能。 例如,它需要连接到存储帐户才能上传数据包捕获。 有关详细信息,请参阅数据包捕获概述 。
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 通过 port 80
连接到 169.254.169.254
,通过 port 8037
连接到 168.63.129.16
。 该代理使用这些 IP 地址与 Azure 平台进行通信。
Internet 连接:网络观察程序代理需要 Internet 连接才能正常使用某些功能。 例如,它需要连接到存储帐户才能上传数据包捕获。 有关详细信息,请参阅数据包捕获概述 。
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 通过 port 80
连接到 169.254.169.254
,通过 port 8037
连接到 168.63.129.16
。 该代理使用这些 IP 地址与 Azure 平台进行通信。
Internet 连接:网络观察程序代理需要 Internet 连接才能正常使用某些功能。 例如,它需要连接到存储帐户才能上传数据包捕获。 有关详细信息,请参阅数据包捕获概述 。
在本地安装 Azure PowerShell 或 Azure CLI 以部署模板。
受支持的操作系统
可在以下 Linux 发行版上安装适用于 Linux 的网络观察程序代理扩展:
分发
版本
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 延长生命周期 (ELS) 对 Oracle Linux 版本 6.X 的支持 于 2024 年 7 月 1 日 结束。
3 延长生命周期 (ELS) 对 Red Hat Enterprise Linux 6.X 的支持 于 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 资源管理器模板(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 部署资源管理器模板:
# 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)
要获取有关网络观察程序代理的最常见问题解答,请参阅网络观察程序代理常见问题解答 。
相关内容