使用 LoadBalancerHealthEvent 記錄監視和警示
在本文中,您將了解如何使用 Azure Load Balancer 健康情況事件記錄來監視和警示。 這些記錄可協助您識別,並針對影響負載平衡器資源健康情況的持續問題進行疑難排解。 健康情況事件記錄會透過 Azure 監視器資源記錄類別 LoadBalancerHealthEvent 提供。
重要
Azure Load Balancer 的 LoadBalancerHealthEvent 記錄目前為預覽狀態,且在所有 Azure 公用區域中提供使用。 在預覽版中,這項功能的記錄結構、事件類型、發佈行為和其他層面可能會變更,以回應意見反應。
此預覽版本是在沒有服務等級協定的情況下提供,不建議用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款。
必要條件
- Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請建立免費帳戶。
- Azure Load Balancer 資源。 若要了解如何建立 Load Balancer 資源,請參閱 快速入門:建立公用 Standard Load Balancer。
- Azure 監視器 Log Analytics 工作區。 若要了解如何建立 Log Analytics 工作區的範例,請參閱快速入門:建立 Log Analytics 工作區。
設定診斷設定以收集 LoadBalancerHealthEvent 記錄
在本節中,您會了解如何設定診斷設定以收集 LoadBalancerHealthEvent 記錄,並將記錄儲存在記錄分析工作區。
重要
建議您將記錄傳送至 Log Analytics 工作區,這可讓您控制存取、記錄資料保留和封存設定等等。 若要深入了解如何設定 Log Analytics 工作區,請參閱 Log Analytics 工作區概觀 - Azure 監視器。
在 Azure 入口網站中,瀏覽至您的 AKS 叢集資源。
從負載平衡器資源的 [概觀] 頁面中,選擇 [監視] > [診斷設定]。
選取 +新增診斷設定。
在 [診斷設定] 視窗中,選取或輸入下列設定:
設定 值 診斷設定名稱 輸入診斷設定的名稱。 記錄 類別群組 選取 LoadBalancerHealthEvent 或 Load Balancer 健康情況事件。 計量 請勿核取。 目的地詳細資料 選取 [傳送至 Log Analytics 工作區]。
選取您的訂用帳戶和 Log Analytics 工作區。注意
選取 [AllLogs] 會導致負載平衡器資源在支援時自動收集所有新的記錄類別。 如果您不想要此選項,則僅選取您想要收集的記錄類別。 在此情況下,請選取負載平衡器健康情況事件記錄。
選取 [儲存] 並關閉 [診斷設定]視窗。
注意
設定診斷設定之後,最多可能需要花費 90 分鐘,記錄才會開始出現。 如果沒有影響負載平衡器的健康狀況事件,您可能不會看到任何記錄。
設定記錄查詢
在本節中,您將了解如何查詢 Log Analytics 工作區中的 LoadBalancerHealthEvent 記錄。 在此範例中,您會從最後一天查詢最新的 SnatPortExhaustion 健康情況事件,並總結負載平衡器的資源識別碼和前端 IP 設定的事件。
在 Azure 入口網站中,瀏覽至您的 AKS 叢集資源。
從負載平衡器資源的 [概觀] 頁面中,選擇 [監視] > [記錄]。
在 [查詢] 視窗中的搜尋列輸入 [最新的 SNAT 埠]。
從結果中,在 [每個 LB 前端最新的 SNAT 連接埠消耗] 下方,選取 [載入至編輯器],。
下列程式碼顯示在查詢編輯器中:
// Latest Snat Port Exhaustion Per LB Frontend // List the latest SNAT port exhaustion event per load balancer Frontend IP ALBHealthEvent | where TimeGenerated > ago(1d) | where HealthEventType == "SnatPortExhaustion" | summarize arg_max(TimeGenerated, *) by LoadBalancerResourceId, FrontendIP
選取 [執行] 以執行查詢。
如果您要修改和儲存查詢,請進行查詢變更,然後選取 [儲存] > [另存為查詢]。
在 [儲存查詢] 視窗中,輸入查詢的名稱、其他選擇性資訊,然後選取 [儲存]。
根據 LoadBalancerHealthEvent 記錄建立警示
在本節中,您會了解如何建立警示,以在每 5 分鐘內記錄 SnatPortExhaustion 事件時傳送電子郵件。 您可以根據記錄查詢建立警示,以在產生健康情況事件記錄檔時立即收到通知,指出針對負載平衡器資源的潛在影響。
在 Azure 入口網站中,瀏覽至您的 AKS 叢集資源。
從負載平衡器資源的 [概觀] 頁面中,選擇 [監視] > [警示]。
在 [警示] 頁面上,選取 [建立客戶警示規則]。
在 [建立警示規則] 頁面上,在 [訊號名稱] 下方選擇 [自訂記錄搜尋] 。
在 Log Analytics 的 [記錄] 視窗中,輸入下列查詢,然後選取 [執行]:
ALBHealthEvent | where TimeGenerated > ago(5m) | where HealthEventType == "SnatPortExhaustion" | summarize arg_max(TimeGenerated, *) by LoadBalancerResourceId, FrontendIP
選取 [繼續編輯警示]
在 [條件] 索引標籤上,將 [警示邏輯] 底下的 [閾值] 設定為 0。
選取 [下一步:動作] >或 [動作]索引標籤。
在 [選取動作群組] 頁面上選取 [+ 建立動作群組]。
在 [基本] 索引標籤上,輸入下列設定,然後選取 [下一步:通知]:
設定 值 專案詳細資料 訂用帳戶 選取您的訂用帳戶。 資源群組 選取包含 Log Analytics 工作區的資源群組。 區域 選取動作群組的區域。 [執行個體詳細資料] 動作群組名稱 輸入動作群組的名稱。 顯示名稱 輸入動作群組的顯示名稱。 在 [通知] 索引標籤上,輸入下列設定:
設定 ReplTest1 通知類型 選取 [電子郵件/SMS 訊息/發送/語音]。
輸入要接收警示的電子郵件地址。
選取 [確定] 。名稱 輸入通知的名稱 選取 [檢閱 + 建立],然後選取 [建立] 以建立動作群組。
在 [建立警示規則] 頁面上,選取 [下一步:詳細資料] 或 [詳細資料] 索引標籤。
在 [詳細資料] 索引標籤上,輸入下列設定:
-
設定 ReplTest1 嚴重性 針對警示選取嚴重性層級。 警示規則名稱 輸入警示規則的名稱。 警示規則描述 輸入警示的描述。 嚴重性 針對警示選取嚴重性層級。 區域 選取警示規則的區域。 選取 [檢閱 + 建立],然後選取 [建立] 以建立警示規則。
下一步
在本文中,您已了解如何使用這些記錄來進行收集、分析及建立警示。
如需 Azure Load Balancer 健康情況事件記錄和健康情況事件類型的詳細資訊,以及如何針對每個健康情況事件類型進行疑難排解,請參閱: