包含計量、警示和資源健康情況的 Standard Load Balancer 診斷
Azure Load Balancer 會公開下列診斷功能:
多維度計量和警示:透過 適用於 Azure Load Balancer 設定的 Azure 監視器 提供多維度診斷功能。 您可以監視、管理和疑難排解您的標準負載平衡器資源。
資源健康狀態:負載平衡器的資源健全狀態,可在 [監視器] 下的 [資源健康狀態] 頁面取得。 此自動檢查會通知您目前負載平衡器資源的可用性。
本文會簡要介紹這些功能,以及如何將這些功能使用於標準負載平衡器。
多維度計量
Azure Load Balancer 透過 Azure 入口網站中的 Azure 計量提供多維度計量,並協助您取得負載平衡器資源的即時診斷深入解析。 請注意,基本Load Balancer不支援多維度計量
各種負載平衡器的設定會提供下列計量:
計量 | 資源類型 | 描述 | 建議的彙總 |
---|---|---|---|
資料路徑可用性 | 公用和內部負載平衡器 | 負載平衡器會持續使用從區域內到負載平衡器前端的數據路徑,到支援 VM 的網路。 只要狀況良好的執行個體持續存在,測量就會依循與您應用程式的負載平衡流量相同的路徑。 已經驗證在使用的資料路徑。 對您的應用程式來說此測量為隱藏狀態,也不會干擾到其他作業。 | 平均 |
健康狀態探查狀態 | 公用和內部負載平衡器 | 負載平衡器會使用分散式健康情況探查服務,根據組態設定來監視應用程式端點的健康情況。 這個計量會提供負載平衡器集區中每個執行個體端點的彙總檢視,或各端點篩選過的檢視。 您可以看到 Load Balancer 藉由健康情況探查,來設定如何檢視應用程式的健康情況。 | 平均 |
SYN 計數 | 公用和內部負載平衡器 | 負載平衡器不會終止傳輸控制通訊協定 (TCP) 連線,或與 TCP 或使用者數據報封包 (UDP) 流程互動。 流程及其交握一律是在來源與 VM 執行個體之間進行。 若要針對您的 TCP 通訊協定案例進行進一步疑難排解,您可使用 SYN 封包計數器來了解已進行多少次 TCP 連線嘗試。 此計量會回報已收到的 TCP SYN 封包數。 | Sum |
來源網路位址轉換 (SNAT) 連線計數 | 公用負載平衡器 | 負載平衡器會報告偽裝到公用IP位址前端的輸出流程數目。 SNAT 連接埠是可耗盡的資源。 此計量可以指出應用程式有多依賴 SNAT 來處理連出的起始流程。 不論 SNAT 輸出流程成功或失敗,計數器皆會回報。 計數器可用來疑難排解以及了解您的輸出流量健康情況。 | Sum |
配置的 SNAT 連接埠 | 公用負載平衡器 | 負載平衡器會報告每個後端實例配置的 SNAT 埠數目 | 平均 |
使用的 SNAT 連接埠 | 公用負載平衡器 | 負載平衡器會報告每個後端實例使用的 SNAT 埠數目。 | 平均 |
位元組計數 | 公用和內部負載平衡器 | 負載平衡器會報告每個前端所處理的數據。 您可能會注意到,位元組不會在後端執行個體間平均散發。 由於 Azure Load Balancer 演算法以流量為基礎,故此為預期的情況。 | Sum |
封包計數 | 公用和內部負載平衡器 | 負載平衡器會報告每個前端處理的封包。 | Sum |
注意
頻寬相關計量 (例如 SYN 封包、位元組計數和封包計數) 不會透過 UDR 擷取任何到內部負載平衡器的流量 (例如來自 NVA 或防火牆)。
最大與最小彙總不適用於 SYN 計數、封包計數、SNAT 連線計數和位元組計數計量。 不建議為資料路徑可用性和健全狀態探查狀態進行計數彙總。 請改用平均值,讓健康情況資料以最佳方式顯示。
在 Azure 入口網站中檢視負載平衡器計量
Azure 入口網站會透過計量頁面,公開負載平衡器的計量。 此頁面可在針對特定資源的負載平衡器資源頁面與 Azure 監視器頁面上使用。
注意
Azure Load Balancer 不會將健全狀態探查傳送至已解除配置的虛擬機器。 解除配置虛擬機器時,負載平衡器會停止報告該執行個體的計量。 無法使用的計量會顯示為入口網站中的虛線,或顯示錯誤訊息,表示無法擷取計量。
若要檢視負載平衡器資源的計量:
移至 [計量] 頁面並執行下列其中一項工作:
在負載平衡器資源頁面上,選取下拉式清單中的 [計量類型]。
在 Azure 監視器頁面上,選取負載平衡器資源。
設定適當的計量彙總類型。
選擇性設定必要的篩選和群組。
選擇性地設定時間範圍和彙總。 時間預設會以 UTC 格式顯示。
注意
解譯某些計量時,時間彙總很重要,因為每分鐘會對資料取樣一次。 如果時間彙總設定為 5 分鐘,且計量彙總類型的 Sum 用於 SNAT 配置之類的計量,則您的圖表將顯示配置於 SNAT 連接埠總數的五倍。
建議:分析計量彙總類型總和與計數時,建議使用大於一分鐘的時間彙總值。
透過 API 以程式設計方式擷取多維度計量
如需可供擷取多維度計量定義和值的 API 指導方針,請參閱 Azure 監視 REST API 逐步解說。 您可以藉由新增 [所有計量] 類別的診斷設定,將這些計量寫入至儲存體帳戶。
常見診斷案例與建議的檢視
資料路徑是否已啟用且可以讓我的 Load Balancer 前端使用?
展開
數據路徑可用性計量描述 VM 所在計算主機之數據路徑區域內的健康情況。 此計量會根據您的組態和 Azure 基礎結構,反映負載平衡器的健康情況。 您可以使用此計量:
監視服務的外部可用性。
調查 NAT 閘道部署所在的平台,並判斷其狀況是否良好。 判斷客體作業系統或應用程式執行個體的狀況是否良好。
找出事件是否與您的服務或基礎資料層相關。 請勿將此計量與健全狀況探查狀態計量混淆。
若要取得負載平衡器資源的數據路徑可用性:
確定已選取正確的負載平衡器資源。
在 [計量] 下拉式清單中,選取 [清單路徑可用性]。
在 [彙總] 下拉式清單中,選取 [平均]。
此外,在前端 IP 位址或前端連接埠上新增篩選,作為必要前端 IP 位址或前端連接埠的維度。 然後依選取的維度將它們分組。
計量是由模擬流量區域內的探查服務所產生。 探查服務會定期產生符合您部署前端和負載平衡規則的封包。 封包接著會將區域從來源周游到後端集區中 VM 的主機。 負載平衡器基礎結構會執行相同的負載平衡和轉譯作業,如同對所有其他流量所做的一樣。 探查到達主機之後,後端集區中的 VM 位於該主機上,主機會產生探查服務的回應。 您的 VM 不會看到這個流量。
請注意,數據路徑可用性計量只會在具有負載平衡規則的前端IP組態上產生。
資料路徑可用性計量可能會因為下列原因而降級:
您的部署在後端集區中沒有剩餘的狀況良好 VM。
已發生基礎結構中斷。
針對診斷目的,您可以使用資料路徑可用性計量來搭配探查狀態。
在大部分的情況下,請使用平均彙總。
我的 Load Balancer 的後端執行個體是否會回應探查?
展開
健康情況探查狀態計量描述當您設定負載平衡器健康情況探查時所設定的應用程式部署健康情況。 負載平衡器使用健康情況探查的狀態來判斷新流程要傳送到哪裡。 健康情況探查源自 Azure 基礎結構的位址,在 VM 的客體 OS 內可以看到。
若要取得負載平衡器資源的健全狀況探查狀態計量:
選取 [健全狀態探查狀態] 計量與 [平均彙總] 類型。
在必要的前端 IP 位址或連接埠 (或兩者) 上套用篩選。
健康情況探查會因為下列原因而失敗:
對於未接聽、未回應或使用錯誤通訊協定的連接埠,您可以設定健全狀態探查。 如果您的服務使用伺服器直接回傳或浮動 IP 規則,請驗證服務會接聽 NIC 的 IP 設定的 IP 位址以及使用前端 IP 位址所設定的回送。
您的網路安全性群組、VM 的客體作業系統防火牆或應用程式層篩選都不允許健全狀態探查流量。
在大部分的情況下,請使用平均彙總。
如何查看我的輸出連線統計資料?
展開
「SNAT 連線」計量會描述輸出流程的成功和失敗連線數量。
失敗連線數量大於零,表示 SNAT 連接埠耗盡。 您必須進一步調查,以判斷造成失敗的原因。 SNAT 連接埠耗盡的外在表現就是無法建立輸出流程。 請參閱輸出連線的文章,以了解案例和運作機制,以及了解如何減輕及設計以避免 SNAT 連接埠耗盡。
若要取得 SNAT 連線統計資料:
選取 [SNAT 連線] 計量類型,並選取 [總和] 作為彙總。
針對成功和失敗的 SNAT 連線計數 (以不同線條表示) 依 [連線狀態] 進行群組。
如何檢查我的 SNAT 連接埠使用量和配置?
展開
追蹤使用的 SNAT 連接埠計量會取用多少 SNAT 埠來維護輸出流程。 此計量會指出在網際網路來源與後端 VM 或負載平衡器後方,而且沒有公用 IP 位址的虛擬機器擴展集之間,建立了多少個唯一的流量。 藉由將您所使用的 SNAT 連接埠數目與配置的 SNAT 連接埠計量比較,可以判斷您的服務是否遇到或有耗盡 SNAT 的風險,以及所產生的輸出流量失敗。
如果您的計量指出輸出流量失敗的風險,請參考該文章並採取步驟來減輕這個問題,以確保服務健康狀態。
若要檢視 SNAT 連接埠使用量和配置:
將圖形的時間彙總設定為 1 分鐘,以確保會顯示所需的資料。
選取 [使用的 SNAT 連接埠] 和/或 [配置的 SNAT 連接埠] 作為計量類型,以及 [平均] 作為彙總。
根據預設,這些計量是配置給每個後端 VM 或虛擬機器擴展集或由其所使用的 SNAT 連接埠平均數目。 它們會對應至對應於負載平衡器的所有前端公用IP,並透過 TCP 和 UDP 彙總。
如果要檢視配置給負載平衡器或其使用的 SNAT 連接埠總數,請使用計量彙總總和。
篩選至特定的通訊協定類型、一組後端 IP 和/或前端 IP。
若要監視每個後端或前端執行個體的健康情況,請套用分割。
- 注意:分割僅允許一次顯示單一計量。
例如,若要針對每部電腦監視 TCP 流量的 SNAT 使用量,請依 [平均] 彙總、依 [後端 IP] 分割,然後依 [通訊協定類型] 篩選。
如何查看服務的輸入/輸出連線嘗試?
展開
SYN 封包計量會描述 TCP SYN 封包的數量,其包含與特定前端相關聯的已抵達或已傳送封包。 您可以使用此計量來了解服務的 TCP 連線嘗試。如需更多關於輸出連線的詳細資訊,請參閱使用來源網路位址轉譯 (SNAT) 進行輸出連線。
在大部分的情況下,請使用 [總和] 作為彙總。
如何查看我的網路頻寬耗用?
展開
該位元組和封包計數器計量會描述您的服務在每個前端上所傳送或接收的位元組和封包數量。
在大部分的情況下,請使用 [總和] 作為彙總。
若要取得位元組或封包計數統計資料:
選取 [位元組計數] 和/或 [封包計數] 計量類型,並選取 [總和] 作為彙總。
執行下列任一步驟:
對特定前端 IP、前端連接埠、後端 IP、或後端連接埠套用篩選器。
取得負載平衡器資源的整體統計資料 (不使用任何篩選)。
我要如何診斷我的負載平衡器部署?
展開
透過資料路徑可用性與在單一圖表上探查狀態計量的合併,可讓您找出問題所在並加以解決。 您可以確定 Azure 正常運作,並利用此知識確定地判斷設定或應用程式是根本原因。
您可以透過健全狀態探查計量來了解 Azure 依據您所提供的每一項設定如何檢視您所部署的健康情況。 查看健康情況探查永遠是監視或判斷原因時最好的第一步驟。
您可以更進一步地使用資料路徑可用性計量,以深入了解 Azure 如何檢視負責您特定部署基礎資料平面的健康情況。 當您合併這兩個計量時,就能找出錯誤可能的位置,如此圖中範例所示:
圖:結合資料路徑可用性和健全狀態探查狀態計量
此圖表會顯示以下資訊:
裝載 VM 的基礎結構無法使用,而且在圖表的開頭為 0%。 之後,基礎結構的狀況良好,且 VM 可連線,而且後端中有放置一個以上的 VM。 此資訊是由資料路徑可用性的藍色追蹤表示,其後續是 100%。
以紫色追蹤表示的健全狀態探查狀態,在圖表的開頭為 0%。 在綠色圓圈圈起來的位置,其狀態變成狀況良好,此時客戶的部署能夠接受新的流量。
此圖表讓客戶可以自行針對部署進行疑難排解,不必猜測或要求支援找出是否發生其他問題。 由於設定不正確或應用程式失敗導致健康情況探查失敗,所以服務變得無法使用。
設定多維度計量的警示
Azure Standard Load Balancer 針對多維度計量支援可輕鬆設定的警示。 設定特定計量的自訂閾值,以觸發具有不同嚴重性等級的警示,以提升無接觸資源監視的體驗。
設定警示:
移至負載平衡器的警示頁面
建立新的警示規則
設定警示條件 (注意:若要避免雜訊警示,建議您在設定警示時將 [彙總類型] 設定為 [平均]、回溯資料的時間範圍為五分鐘,以及閾值為 95%)
(選用) 新增自動修復的動作群組
指派會啟用直覺反應的警示嚴重性、名稱和描述
輸入可用性警示
注意
如果您的負載平衡器後端集區是空的,其將不會有任何有效的資料路徑可供測試。 因此,資料路徑可用性計量將無法使用,並且不會觸發資料路徑可用性計量上任何已設定的 Azure 警示。
若要針對輸入可用性發出警示,您可以使用資料路徑可用性和健全狀態探查狀態計量來建立兩個不同的警示。 客戶可能會有不同的案例需要特定的警示邏輯,但下列範例對於大部分設定都很實用。
使用資料路徑可用性時,您可以在特定負載平衡規則變得無法使用時,引發警示。 您可以設定此警示,方法是設定資料路徑可用性的警示條件,並依前端連接埠和前端 IP 位址的所有目前值和未來值,來進行分割。 將警示邏輯設定為小於或等於 0,將在任何負載平衡規則變得沒有回應時,發出此警示。 根據您所需的評估來設定評估的彙總細微性和頻率。
使用健全狀態探查狀態時,您可以在指定的後端執行個體無法回應健全狀態探查達一段顯著時間時發出警示。 設定您的警示條件以使用探查狀態計量,並依後端 IP 位址和後端連接埠,來進行分割。 這確保您可以針對每個個別的後端執行個體,對特定連接埠上的流量提供服務的能力分別警示。 使用 [平均] 彙總類型,並根據您的後端執行個體的探查頻率,以及您認為的狀況良好閾值設定臨界值。
您也可以不要依任何維度分割並使用 [平均] 彙總類型,在後端集區層級上警示。 這可讓您設定警示規則,例如,當我的後端集區成員有 50% 狀況不良時發出警示。
輸出可用性警示
對於輸出可用性,您可以使用「SNAT 連線計數」和「已使用的 SNAT 連接埠」計量,來設定兩個不同的警示。
如果要偵測輸出連線失敗,請使用 SNAT 連線計數來設定警示,並篩選線上狀態 = 失敗。 使用 [總計] 彙總。 然後,您可以將此分割,方法是將後端 IP 位址設定為所有目前及未來的值,以針對發生失敗連線的每個後端執行個體,分別發出警示。 如果您預期會看到某些輸出連線失敗,請將閾值設為大於零或較高的數字。
透過「已使用的 SNAT 連接埠」,您可以在 SNAT 耗盡和輸出連線失敗的更高風險時發出警示。 使用此警示時,請確定您是以後端 IP 位址和通訊協定,來進行分割。 使用 [平均] 匯總。 針對認為不安全的每個執行個體所配置的連接埠數目,將臨界值設定為大於其百分比。 例如,當後端實例使用其配置埠的 75% 時,設定低嚴重性警示。 當其使用 90% 或 100% 的已配置埠時,請設定高嚴重性警示。
資源健康狀態
標準負載平衡器資源的健全狀態會透過 [監視器]>[服務健康狀態] 底下現有的 [資源健康狀態] 公開。 它會每兩分鐘測量資料路徑的可用性加以評估,藉以判斷您的前端負載平衡端點是否可供使用。
資源健康情況狀態 | Description |
---|---|
可用的 | 您的標準負載平衡器資源狀況良好且可使用。 |
已降級 | 您的標準負載平衡器有由平台或使用者所起始的事件在影響效能。 資料路徑可用性計量,在至少兩分鐘內回報了小於 90% 但大於 25% 的健康情況。 在此狀態下,您會遭遇中等至嚴重等級的效能問題。 遵循疑難排解 RHC 指南,判斷是否有使用者起始的事件影響您的可用性。 |
[無法使用] | 您的標準負載平衡器資源狀況不良。 資料路徑可用性計量,至少已在兩分鐘前回報了健康情況低於 25% 的情形。 在此狀態下,您會遭遇嚴重的效能問題,或者會失去可用的輸入連線能力。 這有可能是使用者或平台事件導致無法使用的情形。 遵循疑難排解 RHC 指南,判斷是否有使用者起始的事件影響您的可用性。 |
未知 | 負載平衡器資源的健全狀態尚未更新,或超過 10 分鐘未接收資料路徑可用性的資訊。 此狀態應該是暫時性的,系統會在收到資料後立即反/映正確的狀態。 |
如何檢視您的公用標準負載平衡器資源健康情況:
選取 [監視器]>[服務健康狀態]。
選取 [資源健康狀態],然後確定已選取 [訂閱識別碼] 以及 [資源類型 = 負載平衡器]。
在清單中,選取 [負載平衡器資源],以檢視其過去的健全狀態。
資源健全狀態的一般描述可在資源健康情況文件中取得。
資源健康狀態警示
Azure 資源健康狀態警示會在您的負載平衡器資源的健全狀態變更時,以近乎即時的方式通知您。 建議您設定資源健康情況警示,以在負載平衡器資源處於 [已降級] 或 [無法使用]狀態時通知您。
當您建立負載平衡器的 Azure 資源健康狀態警示時,Azure 會將資源健康狀態通知傳送至您的 Azure 訂用帳戶。 您可以根據下列項目建立和自訂警示:
- 受影響的訂用帳戶
- 受影響的資源群組
- 受影響的資源類型 (負載平衡器)
- 特定資源 (您選擇要設定警示的任何負載平衡器資源)
- 受影響的負載平衡器資源事件狀態
- 受影響的負載平衡器資源目前狀態
- 受影響的負載平衡器資源之前狀態
- 受影響的負載平衡器資源原因類型
您也可以設定應傳送警示的對象:
- 新動作群組 (可用於未來的警示)
- 現有的動作群組
如需如何設定這些資源健康狀態警示的詳細資訊,請參閱: