使用网络观察程序监视和诊断工具对网络进行故障排除
- 10 分钟
Azure 网络观察程序包含多个可用于监视虚拟网络和虚拟机(VM)的工具。 若要有效地利用网络观察程序,必须了解所有可用的选项和每个工具的目的。
在工程公司中,你希望帮助员工为每个故障排除任务选择正确的网络观察程序工具。 他们需要了解所有可用的选项以及每个工具可以解决的问题类型。
在这里,你将了解网络观察程序工具类别、每个类别中的工具,以及如何在示例用例中应用每个工具。
什么是网络观察程序?
网络观察程序是一项 Azure 服务,它将工具组合在一个中心位置来诊断 Azure 网络的运行状况。 网络观察程序工具分为三类:
- 监视工具
- 网络诊断工具
- 流量日志记录工具
借助用于监视和诊断问题的工具,Network Watcher 提供了一个集中的枢纽,用于在网络故障、CPU 峰值、连接问题、内存泄漏和其他问题影响业务之前识别它们。
网络观察程序监视工具
网络观察程序提供三种监视工具:
- 拓扑学
- 连接监视器
- 网络性能监视器
让我们看看这些工具中的每一个。
什么是拓扑工具?
拓扑工具生成 Azure 虚拟网络、其资源、互连以及彼此关系的图形显示。
假设必须对同事创建的虚拟网络进行故障排除。 除非你参与了网络创建过程,否则你可能不知道基础结构的所有方面。 可以使用拓扑工具可视化和了解在开始故障排除之前要处理的基础结构。
使用 Azure 门户查看 Azure 网络的拓扑。 在 Azure 门户中:
登录到 Azure 门户,然后搜索并选择 “网络观察程序”。
在“网络观察程序”菜单的“监视”下,选择“拓扑”。
选择订阅、虚拟网络的资源组,然后选择虚拟网络本身。
注释
若要生成拓扑,需要网络观察器实例位于与虚拟网络相同的地理区域。
下面是为名为 MyVNet 的虚拟网络生成的拓扑示例。
什么是连接监视器工具?
连接监视器工具提供了一种方法来检查连接是否在 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 对安全性至关重要,因为它们可帮助你细致地控制用户可以访问的虚拟机的表面区域。 不过,请记住,错误配置的 NSG 规则可能会阻止合法通信。 因此,NSG 是网络问题的常见来源。
例如,如果两个 VM 无法通信,因为 NSG 规则会阻止它们,则很难诊断哪个规则导致问题。 你将使用网络观察程序中的有效安全规则工具显示所有有效的 NSG 规则,并帮助你诊断导致特定问题的规则。
若要使用该工具,请选择 VM 及其网络适配器。 该工具显示应用于该适配器的所有 NSG 规则。 通过查看此列表可以轻松确定阻止规则。
还可以使用该工具来发现由不必要的打开端口引起的 VM 漏洞。
什么是数据包捕获工具?
数据包捕获工具记录发送到 VM 和从 VM 发送的所有数据包。 启用后,可以查看捕获以收集有关网络流量的统计信息或诊断异常,例如专用虚拟网络上的意外网络流量。
数据包捕获工具是通过网络观察程序远程启动的虚拟机扩展。 启动数据包捕获会话时,它会自动启动。
请记住,每个区域允许的数据包捕获会话数有限制。 默认使用限制是每个区域的 100 个数据包捕获会话,总限制为 10,000。 这些限制仅针对会话数,而非保存的捕获数。 可以保存 Azure 存储中捕获的数据包,也可以在计算机上本地保存。
数据包捕获依赖于 VM 上安装 的网络观察程序代理 VM 扩展 。 有关详细说明在 Windows 和 Linux VM 上安装扩展的说明的链接,请参阅本模块末尾的“了解详细信息”部分。
什么是连接故障排除工具?
使用连接故障排除工具检查源 VM 与目标 VM 之间的 TCP 连接。 可以使用 FQDN、URI 或 IP 地址指定目标 VM。
如果连接成功,将显示有关通信的信息,包括:
- 延迟(以毫秒为单位)。
- 发送的探测数据包数。
- 到达目标的完整路由中的跃点数。
如果连接失败,你将看到错误的详细信息。 故障类型包括:
- CPU。 由于 CPU 使用率较高,连接失败。
- 内存。 由于内存利用率高,连接失败。
- GuestFirewall。 连接被 Azure 外部的防火墙阻止。
- DNSResolution。 无法解析目标 IP 地址。
- NetworkSecurityRule。 连接被 NSG 阻止。
- UserDefinedRoute。 路由表中存在不正确的用户路由。
什么是 VPN 故障排除工具?
可以使用 VPN 故障排除工具诊断虚拟网络网关连接的问题。 此工具在虚拟网络网关连接上运行诊断,并返回健康诊断。
启动 VPN 故障排除工具时,网络观察程序会诊断网关或连接的运行状况,并返回相应的结果。 该请求是一个长时间运行的事务。
下表显示了不同故障类型的示例。
错误类型 | 原因 | 日志 |
---|---|---|
NoFault | 未检测到任何错误。 | 是的 |
网关未找到 | 找不到或未预配网关。 | 否 |
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。 在探测设置中,可以选择特定的端口。
假设结果显示远程服务器 无法访问,并显示消息“由于虚拟机防火墙配置而阻止流量”。在远程服务器上,禁用防火墙,然后再次测试连接。
假设服务器现已可访问。 此结果指示远程服务器上的防火墙规则是问题,必须更正才能允许连接。