网络观察程序的常见问题解答 (FAQ)

本文解答了 Azure 网络观察程序的一些常见问题。

常规

什么是网络观察程序?

Azure 网络观察程序提供一系列工具来监视、诊断、查看指标,以及启用或禁用 IaaS(基础结构即服务)资源的日志,其中包括虚拟机、虚拟网络、应用程序网关、负载均衡器,以及 Azure 虚拟网络中的其他资源。 它不是用于监视 PaaS(平台即服务)基础结构或获取 Web/移动分析数据的解决方案。

网络观察程序提供哪些工具?

网络观察程序提供三个主要功能集:

  • 监视
    • 拓扑视图显示虚拟网络中的资源及其相互关系。
    • 连接监视器可用于监视 Azure 内部和外部终结点之间的连接性和延迟。
  • 网络诊断工具
    • IP 流验证可用于在虚拟机级别检测流量筛选问题。
    • NSG 诊断可用于在虚拟机、虚拟机规模集或应用程序网关级别检测流量筛选问题。
    • 下一跃点可帮助验证流量路由和检测路由问题。
    • 连接故障排除支持在虚拟机和堡垒主机、应用程序网关或其他虚拟机之间进行一次性连接和延迟检查。
    • 数据包捕获使你能够捕获虚拟机流量。
    • VPN 故障排除针对 VPN 网关和连接运行多项诊断检查,以帮助调试问题。
  • 交通
    • 网络安全组流日志使你可以分别记录通过网络安全组 (NSG) 和虚拟网络传递的网络流量。
    • 流量分析处理网络安全组流日志数据,使你能够可视化、查询、分析和了解网络流量。

有关更多详细信息,请参阅 Azure 网络观察程序概述

网络观察程序如何定价?

有关不同 Azure 网络观察程序组件定价的详细信息,请参阅 Azure 网络观察程序定价

目前哪些区域支持并可以使用 Azure 网络观察程序?

有关哪些区域支持 Azure 网络观察程序,请参阅 Azure 网络观察程序区域

使用 Azure 网络观察程序需要哪些权限?

请参阅使用 Azure 网络观察程序所需的 Azure RBAC 权限,详细了解 Azure 网络观察程序中每个功能所需的权限列表。

如何启用网络观察程序?

Azure 网络观察程序服务是为每个订阅自动启用的。 如果选择了不自动启用 Azure 网络观察程序,则必须手动启用 Azure 网络观察程序。 有关详细信息,请参阅启用或禁用 Azure 网络观察程序

网络观察程序部署模型是什么?

网络观察程序父资源是使用每个区域中的唯一实例部署的。 默认命名格式:NetworkWatcher_RegionName。 示例:NetworkWatcher_chinaeast 是“中国东部”区域的网络观察程序资源。 可以使用 PowerShellREST API 自定义网络观察程序实例的名称。

为何 Azure 在每个区域只允许一个网络观察程序实例?

仅需为每个区域的每个订阅启用网络观察程序一次,即可正常使用其功能。 在区域内创建网络观察程序实例即可在该区域中启用网络观察程序。

如何管理网络观察程序资源?

网络观察程序资源代表网络观察程序的后端服务,由 Azure 完全托管。 不过,可创建或删除网络观察程序资源,以在特定区域中启用或禁用它。 有关详细信息,请参阅启用或禁用 Azure 网络观察程序

是否可以将网络观察程序实例从一个区域移动到另一个区域?

否,不支持跨区域移动网络观察程序资源或其任何子资源。 有关详细信息,请参阅网络资源的移动操作支持

是否可以将网络观察程序实例从一个资源组移动到另一个资源组?

是,支持在资源组之间移动网络观察程序资源。 有关详细信息,请参阅网络资源的移动操作支持

NetworkWatcherRG 是什么?

NetworkWatcherRG 是为 Azure 网络观察程序资源自动创建的资源组。 例如,网络观察程序区域实例和网络安全组流日志资源都是在 NetworkWatcherRG 资源组中创建的。 可以使用 PowerShellAzure CLIREST API 自定义网络观察程序资源组的名称。

网络观察程序是否会存储客户数据?

Azure 网络观察程序不会存储客户数据,连接监视器除外。 连接监视器可存储客户数据,网络观察程序会自动将该数据存储在单个区域中,以满足区域内数据驻留要求。

网络观察程序的资源限制是怎样的?

网络观察程序具有以下限制:

资源 限制
每个订阅在每个区域的网络观察程序实例数量 1 个(一个区域中有一个实例用于支持访问该区域中的服务)
每个订阅在每个区域的连接监视器数量 100
每个连接监视器的最大测试组数量 20
每个连接监视器的最大源和目标数量 100
每个连接监视器的最大测试配置数量 20
每个订阅在每个区域的数据包捕获会话数量 10,000 个(只是会话数,不是保存的捕获数)
每个订阅的 VPN 故障排除操作数量 1 个(同一时间的操作数量)

服务可用性和冗余性

网络观察程序是否具有区域复原能力?

是,网络观察程序服务默认具有区域复原能力。

如何配置网络观察程序服务,使其具有区域复原能力?

无需配置即可启用区域复原能力。 默认情况下,网络观察程序资源的区域复原能力可用,并由服务本身管理。

网络观察程序代理

为什么需要安装网络观察程序代理?

对于任何生成或拦截来自虚拟机的流量的网络观察程序功能,网络观察程序代理都是必需的。

哪些功能需要网络观察程序代理?

数据包捕获、连接故障排除和连接监视器功能需要网络观察程序扩展。

网络观察程序代理的最新版本是什么?

网络观察程序扩展的最新版本为 1.4.3320.1。 有关更多详细信息,请参阅将 Azure 网络观察程序扩展更新到最新版本

网络观察程序代理使用哪些端口?

  • Linux:网络观察程序代理使用从 port 50000 开始直到 port 65535 的可用端口。
  • Windows:网络观察程序代理在查询可用端口时使用操作系统响应的端口。

网络观察程序代理与哪些 IP 地址进行通信?

网络观察程序代理需要通过 port 80 进行的出站 TCP 连接(连接到 169.254.169.254)以及通过 port 8037 进行的出站 TCP 连接(连接到 168.63.129.16)。 该代理使用这些 IP 地址与 Azure 平台进行通信。

连接监视器

连接监视器是否支持经典 VM?

否,连接监视器不支持经典 VM。 有关详细信息,请参阅将 IaaS 资源从经典部署模型迁移到 Azure 资源管理器部署模型

如果我的拓扑未经修饰或我的跃点缺少信息,会出现什么情况?

仅当目标 Azure 资源和连接监视器资源位于同一区域时,才能从非 Azure 到 Azure 修饰拓扑。

如果连接监视器创建失败并出现“我们不允许为同一 VM 创建不同的终结点”错误,会发生什么情况?

同一 Azure VM 不能用于同一连接监视器中的不同配置。 例如,不支持在同一连接监视器中将同一 VM 用于有筛选器的情况和没有筛选器的情况。

如果测试失败的原因是“没有要显示的内容”,会发生什么情况?

在拓扑发现或跃点探索过程中,发现了连接监视器仪表板上显示的问题。 可能会有这样的情况:达到了为丢失百分比或 RTT 设置的阈值,但未在跃点上发现问题。

将现有连接监视器(经典)迁移到最新的连接监视器时,如果仅使用 TCP 协议迁移外部终结点测试,会发生什么情况?

连接监视器(经典)中没有协议选项。 连接监视器(经典)中的测试仅使用 TCP 协议,这就是在迁移期间我们在新连接监视器的测试中创建 TCP 配置的原因。

对连接监视器使用 Azure Monitor 和 Arc 代理是否有限制?

当终结点将 Azure Monitor 和 Arc 代理与关联的 Log Analytics 工作区配合使用时,当前存在区域边界。 因此,关联的 Log Analytics 工作区必须与 Arc 终结点位于同一区域。 可以将引入到单个工作区中的数据合并为单个视图,请参阅在 Azure Monitor 中跨 Log Analytics 工作区、应用程序和资源查询数据

流日志

流日志记录有何作用?

通过流日志,可以记录通过网络安全组或 Azure 虚拟网络传递的 Azure IP 流量的 5 元组流信息。 原始流日志将写入 Azure 存储帐户。 在此处,可以根据需要进一步处理、分析、查询或导出它们。

流日志是否会影响网络延迟或性能?

流日志数据是在网络流量路径的外部收集的,因此不会影响网络吞吐量或延迟。 可以创建或删除流日志,而不会对网络性能产生任何影响。

NSG 流日志和 NSG 诊断之间有什么区别?

网络安全组流日志记录流经网络安全组的日志流量。 另一方面,NSG 诊断返回流量正在遍历的所有网络安全组,以及应用于此流量的每个网络安全组的规则。 使用 NSG 诊断验证网络安全组规则是否按预期应用。

是否可以使用网络安全组流日志记录 ESP 和 AH 流量?

否,网络安全组流日志不支持 ESP 和 AH 协议。

是否可以使用流日志记录 ICMP 流量?

否,网络安全组流日志和虚拟网络流日志不支持 ICMP 协议。

是否可以删除启用了流日志记录的网络安全组?

是的。 关联的流日志资源也将被删除。 流日志数据按照在流日志中配置的保持期保留在存储帐户中。

是否可以将已启用流日志记录的网络安全组移到其他资源组或订阅?

是的,但你必须删除关联的流日志资源。 迁移网络安全组后,可以重新创建流日志才能在其上启用流日志记录。

是否可以在与启用了流日志的网络安全组或虚拟网络不同的订阅中使用存储帐户?

可以,只要其他订阅与网络安全组位于同一区域,并且与网络安全组或虚拟网络订阅的同一 Microsoft Entra 租户关联,你就可以使用该订阅中的存储帐户。

当存储帐户位于防火墙后面时,如何使用网络安全组流日志?

若要使用防火墙后面的存储帐户,必须提供一个例外,以便受信任的 Azure 服务访问你的存储帐户:

  1. 在门户顶部的搜索框中输入存储帐户名称,转到相应存储帐户。
  2. 在“安全 + 网络”下,选择“网络”,然后选择“防火墙和虚拟网络”。
  3. 在“公共网络访问”中,请选择“从选定的虚拟网络和 IP 地址启用”。 然后在“异常”下,选中“允许受信任的服务列表中的 Azure 服务访问此存储帐户”旁边的复选框。
  4. 可通过使用存储帐户为目标网络安全组创建流日志来启用网络安全组流日志。 有关详细信息,请参阅创建流日志

几分钟后即可查看存储日志。 你应会看到已更新的时间戳或已创建的新 JSON 文件。

为什么我在存储帐户活动日志中看到一些 403 错误?

网络观察程序内置回退机制,在连接到防火墙后面的存储帐户(防火墙已启用)时使用该机制。 该机制尝试使用密钥连接到存储帐户,如果失败,则会切换到令牌。 在这种情况下,存储帐户活动日志中将记录 403 错误。

网络观察程序是否可以将网络安全组流日志数据发送到启用了专用终结点的存储帐户?

是,网络观察程序支持将网络安全组流日志数据发送到启用了专用终结点的存储帐户。

当存储帐户位于服务终结点后面时,如何使用网络安全组流日志?

网络安全组流日志与服务终结点兼容,无需任何额外的配置。 有关详细信息,请参阅启用服务终结点

流日志版本 1 和 2 有何区别?

流日志版本 2 引入了“流状态”的概念,并会存储有关传输的字节和数据包的信息。 有关详细信息,请参阅网络安全组流日志格式

是否可以为具有只读锁的网络安全组创建流日志?

否,网络安全组上的“只读”锁会阻止创建相应的网络安全组流日志

是否可以为具有无法删除锁的网络安全组创建流日志?

是,网络安全组上的“无法删除”锁不会阻止创建或修改相应的网络安全组流日志

是否可以自动执行网络安全组流日志?

是,可以通过 Azure 资源管理器模板(ARM 模板)自动执行网络安全组流日志。 有关详细信息,请参阅使用 Azure 资源管理器 (ARM) 模板配置 NSG 流日志