管理适用于 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 CLI。
可以在本地安装 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+
SUSE Linux Enterprise Server (SLES)
12 和 15(SP2、SP3 和 SP4)
Ubuntu
16+
1 CentOS Linux 于 2024 年 6 月 30 日结束生命周期 (EOL)。 有关详细信息,请参阅 CentOS 生命周期结束指南 。
扩展架构
以下 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)
要获取有关网络观察程序代理的最常见问题解答,请参阅网络观察程序代理常见问题解答 。
相关内容