分享方式:


針對負載平衡器健康情況事件記錄進行疑難解答

在本文中,您將瞭解如何針對 Azure Load Balancer 的常見健康情況事件記錄進行疑難解答。 它涵蓋使用 Azure Load Balancer 時可能會遇到的許多常見健康情況事件記錄。

DataPathAvailabilityWarning 事件

由於潛在的平台問題,負載平衡器的數據路徑可用性計量已低於90%。 此事件也可能是因為達到其他 Azure 平臺限制所造成。

取樣事件

Warning - DataPathAvailabilityWarning: The data path availability for frontend IP 20.29.152.178 is below 90% on the following ports: 80. To mitigate this issue, please refer to aka.ms/lbhealth for more detailed event definitions and troubleshooting guidance.

疑難排解步驟

  1. 確認至少有一個後端實例回應已設定為相關聯負載平衡規則的健康狀態探查。 此規則包含事件描述中提供的前端IP、通訊協定和埠。
    1. 如果是,請移至 Azure 狀態的下一個步驟。
    2. 如果沒有,請參閱針對 Azure Load Balancer 健康情況探查狀態 進行疑難解答 | 以取得更詳細的疑難解答步驟。
  2. 請流覽 Azure 狀態 ,以識別是否有任何可能影響負載平衡器資源的已知 Azure 平臺或基礎結構問題。
  3. 如果您在記錄中觀察到這些事件,且遇到進行中的連線問題,請連絡 Azure 支援 以進一步調查。

DataPathAvailabilityCritical 事件

由於潛在的平台問題,負載平衡器的 DataPathAvailability 計量已低於 25%。 此事件也可能是因為達到其他 Azure 平臺限制所造成。

取樣事件

    Critical - DataPathAvailabilityCritical: The data path availability for frontend IP {FrontendIPAddress} is below 25% on the following ports: {LoadBalancingRulePorts}. To mitigate this issue, please refer to aka.ms/lbhealth for more detailed event definitions and troubleshooting guidance.

疑難排解步驟

  1. 確認至少有一個後端實例回應已設定為相關聯負載平衡規則的健康狀態探查。 此規則包含事件描述中提供的前端IP、通訊協定和埠。
    1. 如果是,請移至 Azure 狀態的下一個步驟。
    2. 如果沒有,請參閱針對 Azure Load Balancer 健康情況探查狀態進行疑難解答 |Microsoft Learn 以取得更詳細的疑難解答步驟。
  2. 請流覽 Azure 狀態,以識別是否有任何可能影響負載平衡器資源的已知 Azure 平臺或基礎結構問題。
  3. 如果您在記錄中觀察到這些事件,且遇到進行中的連線問題,請連絡 Azure 支援 以進一步調查。

NoHealthyBackends 事件

負載平衡器的後端實例不會回應健康情況探查。 負載平衡器或後端實例的設定錯誤可能會導致此事件。 常見原因包括:

  • 防火牆或網路安全組規則會封鎖健康情況探查 IP 或埠。
  • 應用程式不會接聽已設定的健康情況探查埠,或健康情況探查設定為錯誤的埠。
  • 已設定 HTTP 健康情況探查,但應用程式未回應 200 OK 狀態代碼。

取樣事件

Critical - NoHealthyBackends: the frontend IP {FrontendIPAddress} is completely unreachable because all backend instances configured to the following protocol:port {Protocol:Port, Protocol:Port,...} are not responding to health probes. Please review the associated health probe configuration(s) and ensure that at least one of the backend instances are responding to the health probes on the configured ports. To mitigate this issue, please refer to aka.ms/lbhealth for more detailed event definitions and troubleshooting guidance.

疑難排解步驟

如需後端實例未回應已設定健康情況探查的常見原因,請參閱針對 Azure Load Balancer 健康情況探查狀態進行疑難解答 | 。

HighSnatPortUsage 事件

此事件表示您正接近特定後端實例上的 SNAT 埠耗盡。 您想要檢閱輸出連線架構。

取樣事件

Warning - High SNAT Port Usage: Backend IP {BackendIPAddress} is utilizing more than 75% of SNAT ports allocated from frontend IP {FrontendIPAddress} and is at-risk for SNAT port exhaustion. To reduce the risk of SNAT exhaustion, please refer to aka.ms/lbhealth for more detailed event definitions and troubleshooting guidance.

疑難排解步驟

  • 如需 Azure 常見輸出連線選項的詳細資訊,請參閱 輸出連線的來源網路位址轉換 (SNAT) - Azure Load Balancer
  • 針對生產案例,建議您針對輸出連線需求使用 NAT 閘道。 NAT 閘道提供動態 SNAT 配置,因此可降低由於 SNAT 埠耗盡而導致連線失敗的風險。 如需改善輸出連線架構的詳細步驟,請參閱本文中 SnatPortExhaustion 事件一節下的疑難解答步驟一節。

SnatPortExhaustion 事件

這個事件表示所有已配置的 SNAT 埠都已耗盡一或多個後端實例。

取樣事件

Critical - SNATPortExhaustion: Backend IP {BackendIPAddress} has exhausted all SNAT ports allocated to it.  One of the frontend IPs where the backend IP gets SNAT port is {FrontendIPAddress}. To reduce the risk of SNAT exhaustion, please refer to aka.ms/lbhealth for more detailed event definitions and troubleshooting guidance.

疑難排解步驟

  1. 若要解決 SNAT 耗盡問題,建議您改用 NAT 閘道。 若要深入瞭解 NAT 閘道如何降低 SNAT 埠耗盡的風險,請參閱使用 Azure NAT 閘道進行來源網路位址轉換 (SNAT) 的詳細資訊
  2. 如果您目前使用負載平衡器輸出規則,而且想要改用NAT閘道移轉至 ,請參閱 教學課程:將輸出存取移轉至NAT 閘道
  3. 若要識別由於 SNAT 埠耗盡而受影響的連線:
    1. 在 Azure 入口網站 中,選取您的負載平衡器資源。
    2. 在負載平衡器概觀上,選取左側功能表中的 [監視>計量]。
    3. 在 [計量] 視窗中,選取 SNAT 連線 ion CountSum 的匯總計量。
    4. 選取 [套用分割],然後選取 [連線 ion State] 的值
    5. 如果 連線 狀態等於失敗,這表示由於 SNAT 埠耗盡而失敗的連線數目。

替代解決方案

  1. 請確定您已透過手動埠配置來設定輸出規則,並配置可能的最大埠數目。
  2. 將額外的公用IP新增至您的Load Balancer或 NAT 閘道。

下一步

在本文中,您已瞭解如何針對每個 Azure Load Balancer 健康情況事件類型進行疑難解答。

如需 Azure Load Balancer 健康情況事件記錄和健康情況事件類型的詳細資訊,或如何使用這些記錄收集、分析及建立警示,請參閱: