管理适用于 Linux 的网络观察程序代理虚拟机扩展

网络观察程序代理虚拟机扩展是某些 Azure 网络观察程序功能所必需的,这些功能捕获网络流量以诊断和监视 Azure 虚拟机 (VM)。 有关详细信息,请参阅什么是 Azure 网络观察程序

本文介绍如何安装和卸载适用于 Linux 的网络观察程序代理。 代理的安装不会中断虚拟机的运行,也不需要重新启动虚拟机。 如果 Azure 服务部署了虚拟机,请查看该服务的文档以确定它是否允许在虚拟机中安装扩展。

备注

AKS 群集不支持网络观察程序代理扩展。

先决条件

  • Azure Linux 虚拟机 (VM)。 有关详细信息,请参阅支持的 Linux 发行版和版本

  • 出站 TCP 通过 port 80 连接到 169.254.169.254,通过 port 8037 连接到 168.63.129.16。 该代理使用这些 IP 地址与 Azure 平台进行通信。

  • Internet 连接:网络观察程序代理需要 Internet 连接才能正常使用某些功能。 例如,它需要连接到存储帐户才能上传数据包捕获。 有关详细信息,请参阅数据包捕获概述

  • Azure PowerShell。

    在本地安装 Azure PowerShell 来运行 cmdlet。 如果在本地运行 PowerShell,请使用 Connect-AzAccount -Environment AzureChinaCloud cmdlet 登录到 Azure。

受支持的操作系统

可在以下 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"
    }
}

列出已安装的扩展

使用 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

安装网络观察程序代理 VM 扩展

使用 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 

卸载网络观察程序代理 VM 扩展

使用 Remove-AzVMExtension cmdlet 从虚拟机中删除网络观察程序代理 VM 扩展:

# Uninstall Network Watcher Agent VM extension.
Remove-AzureVMExtension -Name 'AzureNetworkWatcherExtension' -ResourceGroupName 'myResourceGroup' -VMName 'myVM'

常见问题 (FAQ)

要获取有关网络观察程序代理的最常见问题解答,请参阅网络观察程序代理常见问题解答