Azure 网络观察程序的工作原理

已完成

在订阅的 Azure 区域中创建虚拟网络时,网络观察程序将自动可用。 可以通过在搜索栏中键入网络观察程序,直接在 Azure 门户中访问网络观察程序

显示如何在 Azure 门户中搜索网络观察程序的屏幕截图。

网络监视器拓扑工具

Azure 网络观察程序的拓扑功能允许查看虚拟网络中的所有以下资源。 包括与虚拟网络中的资源关联的资源以及资源之间的关系。

  • 子网
  • 网络接口
  • 网络安全组
  • 负载均衡器
  • 负载均衡器运行状况探测
  • 公共 IP 地址
  • 虚拟网络对等互连
  • 虚拟网络网关
  • VPN 网关连接
  • 虚拟机
  • 虚拟机规模集

拓扑中返回的所有资源具有以下属性:

  • 名称:资源的名称。
  • ID:资源的 URI。
  • 位置:资源所在的 Azure 区域。
  • 关联:与所引用对象的关联列表。 每个关联具有以下属性:
    • AssociationType:引用子对象与父对象之间的关系。 有效值为 ContainsAssociated
    • 名称:引用的资源的名称。
    • ResourceId:关联中引用的资源的 URI。

连接监视器工具

连接监视器在 Azure 网络观察程序中提供统一的端到端连接监视。 连接监视器支持混合部署和 Azure 云部署。 可以使用连接监视器工具测量资源之间的延迟。 连接监视器可以检测影响连接的更改,例如网络配置更改或修改 NSG 规则。 可以将连接监视器配置为定期探测 VM,以查找失败或更改。 连接监视器可以诊断问题,并提供有关问题发生的原因以及修复问题所要执行的步骤的说明。

显示连接监视器如何与 Azure 虚拟机、非 Azure 主机、终结点和数据存储位置交互的关系图。

若要使用连接监视器进行监视,需要在监视的主机上安装监视代理。 连接监视器使用轻型可执行文件运行连接检查,无论是主机位于 Azure 虚拟网络中还是本地网络。 使用 Azure VM,可以安装网络观察程序代理 VM,也称为网络观察程序扩展。 对于本地计算机,可以通过安装 Log Analytics 代理来启用此功能。

IP 流验证

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

下一跳

来自 IaaS VM 的流量根据与网络接口(NIC)关联的有效路由发送到目标。 “下一个跃点”功能可获取来自特定 VM 和 NIC 的数据包的下一个跃点类型和 IP 地址。 了解下一跳帮助您确定流量是否定向到预期的目的地,或者流量是否没有被发送到任何地方。 路由配置不当(其中流量定向到本地位置或虚拟设备)可能会导致连接问题。 “下一跃点”功能也返回与下一跃点关联的路由表。 如果路由定义为用户定义的路由,则将返回该路由。 否则,下一个跃点返回 System Route

有效的安全规则

网络安全组(NSG)根据其源和目标 IP 地址和端口号筛选数据包。 多个 NSG 可以应用于 Azure 虚拟网络上的 IaaS 资源。 通过考虑到针对资源的所有 NSG 应用的所有规则,有效的安全规则工具允许确定某些流量可能被拒绝或被允许的原因。

数据包捕获

数据包捕获是通过网络观察程序远程启动的虚拟机扩展。 此功能通过使用作系统工具或第三方实用程序,简化了在特定虚拟机上手动运行数据包捕获的负担。 可以通过门户、PowerShell、Azure CLI 或 REST API 触发数据包捕获。 网络观察程序允许为捕获会话配置筛选器,以确保捕获要监视的流量。 筛选器基于 5 元组(协议、本地 IP 地址、远程 IP 地址、本地端口和远程端口)信息。 捕获的数据存储在本地磁盘或存储 Blob 中。

连接故障排除

连接故障排除工具检查源和目标 VM 之间的 TCP 连接。 可以使用 FQDN、URI 或 IP 地址指定目标 VM。 如果连接成功,将显示有关通信的信息,包括:

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

如果连接失败,该工具将显示有关故障的详细信息。 你可能会看到以下故障类型:

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

VPN 故障排除

网络观察程序提供对网关和连接进行故障排除的功能。 可以通过门户、PowerShell、Azure CLI 或 REST API 调用该功能。 调用时,网络观察程序会诊断网关或连接的运行状况,然后返回相应的结果。 该请求是一个长时间运行的事务。 返回的初步结果总体显示了资源的运行状况。

以下列表描述了通过调用 VPN 故障排除 API 返回的值:

  • startTime:故障排除开始的时间。
  • endTime:故障排除结束的时间。
  • 代码:如果存在单个诊断失败,此值为 UnHealthy
  • 结果:连接或虚拟网络网关上返回的结果集合。
    • id:错误类型。
    • 摘要:错误摘要。
    • 详细:故障的详细说明。
    • recommendedActions:建议的操作集合。
    • actionText:描述要执行的动作的文本。
    • actionUri:描述应采取行动的文档的 URI。
    • actionUriText:操作文本的简短说明。