使用网络观察程序监视和诊断工具排查网络问题

已完成

Azure 网络观察程序包括多个工具,可用于监视虚拟网络和虚拟机 (VM)。 为了有效地利用网络观察程序,必须了解所有可用选项和每个工具的用途。

在你的工程公司,你希望帮助你的员工针对每个故障排除任务选择正确的网络观察程序工具。 他们需要了解所有可用的选项,以及每个工具可解决的各种问题。

在此,你将了解网络观察程序工具的类别、每个类别中的工具,以及如何使用示例用例应用每个工具。

什么是网络观察程序?

网络观察程序是一种 Azure 服务,它将各种工具集中在一个位置以诊断 Azure 网络的运行状况。 网络观察程序工具分为三类:

  • 监视工具
  • 网络诊断工具
  • 流量日志记录工具

借助用于监视和诊断问题的工具,网络观察程序提供了一个集中式中心,用于在网络故障、CPU 峰值、连接问题、内存泄漏和其他问题影响业务之前识别它们。

网络观察程序监视工具

网络观察程序提供三种监视工具:

  • 拓扑
  • 连接监视器
  • 网络性能监视器

我们来了解一下这些工具。

什么是拓扑工具?

拓扑工具会生成 Azure 虚拟网络、其资源、其互连以及彼此之间的关系的图形显示。

假设你需要对你的同事创建的虚拟网络进行故障排除。 除非你参与了网络创建过程,否则你可能并不全面了解该基础结构。 在开始故障排除之前,可以使用拓扑工具直观显示并了解正在处理的基础结构。

可使用 Azure 门户查看 Azure 网络的拓扑。 在 Azure 门户中:

  1. 登录 Azure 门户,然后搜索并选择“网络观察程序”。

  2. 在“网络观察程序”菜单的“监视”下,选择“拓扑”。

  3. 依次选择订阅、虚拟网络的资源组、虚拟网络本身。

    注意

    若要生成拓扑,需要拥有与虚拟网络位于同一地理区域的网络观察程序实例。

    下面是为名为 MyVNet 的虚拟网络生成的拓扑示例。

    A diagram that shows a virtual network topology as shown in Network Watcher.

什么是连接监视器工具?

通过连接监视器工具可检查 Azure 资源之间的连接的工作情况。 如果需要,可以使用此工具验证两台 VM 是否可通信。

此工具还可测量资源之间的延迟。 它可捕获会影响连接的更改,例如网络配置更改或网络安全组 (NSG) 规则更改。 它可以定期探测 VM 以查找故障或变化。

如果出现问题,连接监视器会告知你出现此问题的原因以及如何修复该问题。 除了监视 VM,连接监视器还可以检查 IP 地址或完全限定的域名 (FQDN)。

什么是网络性能监视器工具?

网络性能监视器工具可用于跟踪和提醒随时间推移出现的延迟和数据包丢失情况。 该工具提供了一个集中的网络视图。

如果决定使用网络性能监视器监视混合连接,请检查关联的工作区是否位于受支持的区域中。

可使用网络性能监视器来监视终结点到终结点的连接:

  • 分支与数据中心之间的连接
  • 虚拟网络之间的连接
  • 本地与云之间的连接
  • Azure ExpressRoute 线路的连接

网络观察程序诊断工具

网络观察程序包括以下诊断工具:

  • IP 流验证
  • NSG 诊断
  • 下一跃点
  • 有效安全规则
  • 数据包捕获
  • 连接故障排除
  • VPN 故障排除

让我们了解一下每个工具,了解它们如何帮助你解决问题。

什么是 IP 流验证工具?

IP 流验证工具可用于检查特定虚拟机是允许还是拒绝数据包。 如果网络安全组拒绝数据包,则该工具会告知该组的名称以便解决该问题。

此工具使用基于 5 元组数据包参数的验证机制来检查 VM 是允许还是拒绝数据包入站或出站。 在该工具中,可指定本地和远程端口、协议(TCP 或 UDP)、本地 IP、远程 IP、VM 和 VM 的网络适配器。

什么是 NSG 诊断工具?

网络安全组 (NSG) 诊断工具提供了详细信息,可帮助你了解和调试网络的安全配置。

对于给定的源目标对,该工具向你显示了要遍历的 NSG、将在每个 NSG 中应用的规则,以及流的最终允许/拒绝状态。 通过了解 Azure 虚拟网络中将允许或拒绝哪些流量流,可以确定是否已正确配置 NSG 规则。

什么是下一个跃点工具?

在 VM 向目标发送数据包时,它可能会在此过程中采用多个跃点。 例如,如果目标是另一个虚拟网络中的 VM,则下一个跃点可能是将数据包路由到目标 VM 的虚拟网络网关。

通过下一个跃点工具,可确定数据包从 VM 到任何目标的方式。 可指定源 VM、源网络适配器、源 IP 地址和目标 IP 地址。 然后,该工具将确定数据包的路由。 可使用此工具诊断由于路由表不正确而导致的问题。

有效安全规则工具是什么?

网络观察程序中的有效安全规则工具显示应用于网络接口的所有有效的 NSG 规则。

在 Azure 网络中,网络安全组 (NSG) 用于根据数据包的源、目标 IP 地址以及端口号来筛选数据包。 NSG 对安全性至关重要,因为它们有助于你严格控制用户可访问的 VM 的外围应用。 但请记住,配置错误的 NSG 规则可能会阻止合法通信。 因此,NSG 是网络问题的常见来源。

例如,如果两个 VM 由于 NSG 规则阻止它们而无法通信,很难诊断是哪个规则导致了该问题。 可使用网络观察程序中的有效安全规则工具显示所有有效的 NSG 规则,帮助诊断哪个规则导致了特定的问题。

若要使用该工具,需选择一个 VM 及其网络适配器。 该工具显示适用于该适配器的所有 NSG 规则。 可通过查看此列表轻松确定阻止通信的规则。

还可使用该工具来发现由不必要的开放端口导致的 VM 漏洞。

什么是数据包捕获工具?

数据包捕获工具可记录进出 VM 的所有数据包。 启用后,你可以查看捕获内容以收集有关网络流量的统计信息或诊断异常情况,例如专用虚拟网络上的意外网络流量。

数据包捕获工具是通过网络观察程序远程启动的虚拟机扩展。 启动数据包捕获会话时,该工具会自动启动。

请记住,每个区域允许的数据包捕获会话数量有限。 默认使用限制为每个区域 100 个数据包捕获会话,总限制为 10,000 个。 这些限制仅针对会话数,而非保存的捕获数。 可将捕获的数据包保存在 Azure 存储中,或保存在本地计算机中。

捕获的数据包具有一个依赖项,位于安装在 VM 上的网络观察程序代理 VM 扩展上。 有关详细说明如何在 Windows 和 Linux VM 上安装扩展的链接,请参阅本模块末尾的“了解详细信息”部分。

什么是连接故障排除工具?

连接故障排除工具可用于检查源和目标 VM 之间的 TCP 连接。 可使用 FQDN、URI 或 IP 地址指定目标 VM。

如果连接成功,则会显示有关通信的信息,其中包括:

  • 延迟(毫秒)。
  • 已发送的探测数据包数。
  • 到达目标的完整路由中的跃点数。

如果连接未成功,将看到故障的详细信息。 故障类型包括:

  • CPU。 由于 CPU 使用率较高,连接失败。
  • 内存。 由于内存使用率较高,连接失败。
  • GuestFirewall。 连接被 Azure 外部的防火墙阻止。
  • DNSResolution。 无法解析目标 IP 地址。
  • NetworkSecurityRule。 连接被 NSG 阻止。
  • UserDefinedRoute。 路由表中存在不正确的用户路由。

什么是 VPN 故障排除工具?

VPN 故障排除工具可用于诊断虚拟网络网关连接问题。 此工具对虚拟网络网关连接执行诊断操作,并返回运行状况诊断。

启动 VPN 故障排除工具后,网络观察程序对网关或连接的运行状况进行诊断,并返回相应的结果。 该请求是一个长时间运行的事务。

下表显示了不同故障类型的示例。

故障类型 原因 日志
NoFault 未检测到任何错误。
GatewayNotFound 找不到或未预配网关。
PlannedMaintenance 网关实例处于维护状态。
UserDrivenUpdate 用户更新正在进行。 更新可能是重设大小操作。
VipUnResponsive 由于运行状况探测失败,无法访问网关的主实例。
PlatformInActive 平台出现问题。

流量日志记录工具

网络观察程序包括以下两个流量工具:

  • 流日志
  • 流量分析

什么是流日志工具?

流日志允许记录有关流经网络安全组的 IP 流量的信息。 流日志将数据存储在 Azure 存储中。 流数据发送到 Azure 存储,你可以从那里访问它并将它导出到所选择的任何可视化工具、安全信息和事件管理 (SIEM) 解决方案或入侵检测系统 (IDS)。 可以使用这些数据来分析流量模式和排查连接问题。

流日志用例可分为两种类型。 网络监视和使用情况监视和优化。

网络监视

  • 标识未知或不需要的流量。
  • 监视流量水平和带宽消耗。
  • 按 IP 和端口筛选流日志,以了解应用程序的行为。
  • 将流日志导出到所选的分析和可视化工具,以设置监视仪表板。

使用情况监视和优化

  • 标识网络中最活跃的通信方。
  • 结合 GeoIP 数据来识别跨区域流量。
  • 了解流量增长情况以进行容量预测。
  • 使用数据删除过度严格的流量规则。

什么是流量分析工具?

流量分析是一种基于云的解决方案,可用于了解云网络上的用户和应用程序活动。 具体来说,流量分析会分析 Azure 网络观察程序 NSG 流日志,帮助洞察 Azure 云中的流量流。 使用流量分析可以:

  • 可视化各个 Azure 订阅中的网络活动。
  • 识别热点。
  • 通过利用信息识别威胁来保护网络。
  • 了解 Azure 区域与 Internet 中的流量流模式,优化网络部署以提高性能和容量。
  • 查明可能导致网络连接失败的不当网络配置。

Azure 网络观察程序用例场景

让我们了解一些可通过使用 Azure 网络观察程序监视和诊断工具来调查和排除故障的场景。

存在单个 VM 网络连接问题

你的同事已在 Azure 中部署了一个 VM,并且遇到了网络连接问题。 你的同事正在尝试使用远程桌面协议 (RDP) 连接到虚拟机,但无法连接。

若要排查此问题,请使用 IP 流验证工具。 使用此工具可指定本地和远程端口、协议 (TCP/UDP)、本地 IP 和远程 IP 以检查连接状态。 通过它还可指定连接方向(入站或出站)。 IP 流验证对网络上的现有规则运行逻辑测试。

在这种情况下,使用 IP 流验证指定 VM 的 IP 地址和 RDP 端口 3389。 然后,指定远程 VM 的 IP 地址和端口。 选择 TCP 协议,然后选择“检查”。

假设结果显示由于 NSG 规则 DefaultInboundDenyAll 而导致访问被拒绝。 解决方法是更改该 NSG 规则。

VPN 连接不工作

你的同事已经在两个虚拟网络中部署了多个 VM,但它们无法相互连接。

若要对 VPN 连接进行故障排除,请使用 Azure VPN 故障排除工具。 此工具对虚拟网络网关连接执行诊断操作,并返回运行状况诊断。 可从 Azure 门户、PowerShell 或 Azure CLI 运行此工具。

运行该工具时,它会检查网关是否存在常见问题并返回运行状况诊断。 你还可查看日志文件以获取详细信息。 诊断工具将显示 VPN 连接是否正常工作。 如果 VPN 连接不工作,VPN 故障排除会建议解决该问题的方法。

假设诊断工具显示键不匹配。 若要解决该问题,重新配置远程网关以确保两端的键匹配。 预共享键区分大小写。

没有服务器在侦听指定的目标端口

你的同事已经在单个虚拟网络中部署了多个 VM,但它们无法相互连接。

使用连接故障排除工具排查此问题。 在此工具中,可以指定本地和远程 VM。 在探测设置中,可以选择特定端口。

假设结果显示无法访问远程服务器,同时显示消息“由于虚拟机防火墙配置,流量被阻止”。在远程服务器上禁用防火墙,然后再次测试连接。

假设现在可以访问服务器。 此结果表示远程服务器上的防火墙规则是问题所在,必须更正才能允许连接。

1.

要捕获 VM 上的流量,Azure 网络观察程序需要包含以下项:

2.

要解决网络的延迟问题,可使用哪些 Azure 网络观察程序功能?