排查资源运行状况和入站可用性问题

本文可帮助你调查影响负载均衡器前端 IP 和后端资源可用性的问题。

可以使用 Azure 负载均衡器中的资源运行状况功能来确定负载均衡器的运行状况。 此功能会分析数据路径可用性指标,以确定负载均衡终结点、前端 IP 和具有负载均衡规则的前端端口组合是否可用。

注意

基本负载均衡器不支持资源运行状况功能。

下表描述了用于确定负载均衡器运行状况的逻辑。

资源运行状况 说明
可用 负载均衡器资源正常且可用。
已降级 负载均衡器具有影响性能的平台或用户发起的事件。 “数据路径可用性”指标至少有两分钟报告了低于 90% 但高于 25% 的运行状况。 可能会遇到中等到严重性能下降的情况。
Unavailable 负载均衡器资源不正常。 “数据路径可用性”指标至少有两分钟报告了低于 25% 的正常运行。 你可能会遇到严重的性能降低,或者入站连接不可用。 可能存在导致不可用的用户或平台事件。
未知 负载均衡器资源的资源运行状况尚未更新,或者最近 10 分钟内未收到数据路径可用性信息。 此状态可能是暂时性的,或者负载均衡器可能不支持资源运行状况功能。

监视负载均衡器的可用性

Azure 负载均衡器用于检查资源运行状况的两个指标是“数据路径可用性”和“运行状况探测状态”。 理解这两项指标含义对于获得正确的见解非常重要。

数据路径可用性

TCP ping 会在配置了负载均衡规则的所有前端端口上每 25 秒生成一次数据路径可用性指标。 然后,此 TCP ping 会路由到任何正常的(探测结果为正常运行的)后端实例。 该指标是在样本时间段内,针对每个负载均衡规则对每个前端 IP/端口组合进行的 TCP ping 的汇总成功率(以百分比为单位)。

运行状况探测状态

运行状况探测状态指标是由运行状况探测中定义的协议的 ping 生成的。 此 ping 将发送到后端池中的每个实例,以及运行状况探测中定义的端口上。 对于 HTTP 和 HTTPS 探测,成功的 ping 需要 HTTP 200 OK 响应。 使用 TCP 探测时,任何响应都被视为成功。

当探测达到你为探测阈值属性配置的连续成功或失败次数时,Azure 负载均衡器将确定每个后端实例的运行状况。 每个后端实例的运行状况状态会确定是否允许后端实例接收流量。

与数据路径可用性指标类似,运行状况探测状态指标汇总了采样间隔期间的平均成功 ping 次数和总 ping 次数。 运行状况探测状态值通过探测后端实例而不通过前端来发送流量,指示与负载均衡器隔离的后端运行状况。

重要

运行状况探测状态每分钟采样一次。 此采样可能会导致本应稳定的值出现轻微波动。

例如,假设有主动/被动方案,其中有两个后端实例,经过探测,一个可运行,一个不可运行。 对于运行正常的实例,运行状况探测服务可能会捕获 7 个示例,对于运行不正常的实例,可以捕获 6 个示例。 这将导致以前的稳定值 50 在一分钟时间间隔内显示为 46.15。

诊断降级的和不可用的负载均衡器

正如这篇“有关资源运行状况的文章”中所述,性能下降的负载均衡器显示数据路径可用性介于 25% 和 90% 之间。 不可用的负载均衡器是指两分钟内数据路径可用性低于 25% 的负载均衡器。

可以采取相同的步骤来调查在你配置的任何“运行状况探测状态”或“数据路径可用性”警报中看到的故障。 以下步骤探讨了如果你查看资源运行状况并发现负载均衡器不可用且数据路径可用性值为 0% 时该怎么做。 服务停止。

  1. 在 Azure 门户中,转到页面的详细指标视图以获取负载均衡器见解。 从负载均衡器资源页面或资源运行状况消息中的链接访问视图。

  2. 转到前端和后端可用性选项卡,查看出现性能下降或不可用状态的 30 分钟时段窗口。 如果数据路径可用性值为 0%,则表明有某些因素阻碍了所有负载均衡规则的流量。 还可以查看此问题持续的时间。

  3. 检查运行状况探测状态指标以确定数据路径是否不可用,因为没有正常运行的后端实例来为流量提供服务。 如果所有负载均衡和入站规则至少有一个正常的后端实例,则你知道配置不是导致数据路径不可用的原因。 这种情况表示存在 Azure 平台问题。 虽然平台问题很少见,但这些问题会向我们的团队触发自动警报,以便快速解决。

诊断运行状况探测失败

如果运行状况探测状态指标表明后端实例运行不正常,建议遵循以下清单排除常见配置错误:

  • 检查资源的 CPU 利用率,以确定资源负载是否过高。

    要进行这项检查,可以通过“指标”页查看资源的“CPU 利用率百分比”指标。 有关详细信息,请参阅排查 Azure Windows 虚拟机的 CPU 占用量高的问题

  • 如果使用了 HTTP 或 HTTPS 探测,请检查应用程序是否正常运行且可做出响应。

    通过专用 IP 地址或与后端实例关联的实例级公共 IP 地址直接访问应用程序,以验证应用程序是否正常运行。

  • 查看应用于后端资源的网络安全组 (NSG)。 确保没有规则的优先级高于阻止运行状况探测的 AllowAzureLoadBalancerInBound 规则。

    如要完成此任务,可访问后端 VM 或虚拟机规模集的“网络”设置。 如果发现出现此 NSG 问题,请移动现有 Allow 规则或创建新的高优先级规则以允许 Azure 负载均衡器流量。

  • 检查 OS。 确保 VM 正在侦听探测端口。 另请查看 VM 的 OS 防火墙规则,以确保这些规则不会阻止源自 IP 地址 168.63.129.16 的探测流量。

    可以通过从 Windows 命令提示符运行 netstat -a 或从 Linux 终端运行 netstat -l 来检查侦听端口。

  • 确保使用正确的协议。 例如,如果一个探测使用 HTTP 来探测非 HTTP 应用程序的端口侦听情况,则会失败。

  • 不要将 Azure 防火墙放置在负载均衡器的后端池中。 有关详细信息,请参阅将 Azure 防火墙与 Azure 标准负载均衡器相集成