分享方式:


使用 LoadBalancerHealthEvent 記錄監視和警示

在本文中,您將了解如何使用 Azure Load Balancer 健康情況事件記錄來監視和警示。 這些記錄可協助您識別,並針對影響負載平衡器資源健康情況的持續問題進行疑難排解。 健康情況事件記錄會透過 Azure 監視器資源記錄類別 LoadBalancerHealthEvent 提供。

重要

Azure Load Balancer 的 LoadBalancerHealthEvent 記錄目前為預覽狀態,且在所有 Azure 公用區域中提供使用。 在預覽版中,這項功能的記錄結構、事件類型、發佈行為和其他層面可能會變更,以回應意見反應。

此預覽版本是在沒有服務等級協定的情況下提供,不建議用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

必要條件

設定診斷設定以收集 LoadBalancerHealthEvent 記錄

在本節中,您會了解如何設定診斷設定以收集 LoadBalancerHealthEvent 記錄,並將記錄儲存在記錄分析工作區。

重要

建議您將記錄傳送至 Log Analytics 工作區,這可讓您控制存取、記錄資料保留和封存設定等等。 若要深入了解如何設定 Log Analytics 工作區,請參閱 Log Analytics 工作區概觀 - Azure 監視器

  1. 在 Azure 入口網站中,瀏覽至您的 AKS 叢集資源。

  2. 從負載平衡器資源的 [概觀] 頁面中,選擇 [監視] > [診斷設定]

    Azure 入口網站中診斷設定視窗的螢幕擷取畫面。

  3. 選取 +新增診斷設定

  4. 在 [診斷設定] 視窗中,選取或輸入下列設定:

    設定
    診斷設定名稱 輸入診斷設定的名稱。
    記錄
    類別群組 選取 LoadBalancerHealthEventLoad Balancer 健康情況事件
    計量 請勿核取。
    目的地詳細資料 選取 [傳送至 Log Analytics 工作區]
    選取您的訂用帳戶和 Log Analytics 工作區。

    注意

    選取 [AllLogs] 會導致負載平衡器資源在支援時自動收集所有新的記錄類別。 如果您不想要此選項,則僅選取您想要收集的記錄類別。 在此情況下,請選取負載平衡器健康情況事件記錄。

    針對 allLogs 和 Log Analytics 工作區設定的診斷設定頁面螢幕擷取畫面。

  5. 選取 [儲存] 並關閉 [診斷設定]視窗。

注意

設定診斷設定之後,最多可能需要花費 90 分鐘,記錄才會開始出現。 如果沒有影響負載平衡器的健康狀況事件,您可能不會看到任何記錄。

設定記錄查詢

在本節中,您將了解如何查詢 Log Analytics 工作區中的 LoadBalancerHealthEvent 記錄。 在此範例中,您會從最後一天查詢最新的 SnatPortExhaustion 健康情況事件,並總結負載平衡器的資源識別碼前端 IP 設定的事件。

  1. 在 Azure 入口網站中,瀏覽至您的 AKS 叢集資源。

  2. 從負載平衡器資源的 [概觀] 頁面中,選擇 [監視] > [記錄]

  3. 在 [查詢] 視窗中的搜尋列輸入 [最新的 SNAT 埠]

  4. 從結果中,在 [每個 LB 前端最新的 SNAT 連接埠消耗] 下方,選取 [載入至編輯器],。

    執行內建查詢搜尋的 [查詢] 視窗螢幕擷取畫面。

  5. 下列程式碼顯示在查詢編輯器中:

        // 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
    

    具有 SNAT 埠消耗 kusto 查詢的查詢編輯器螢幕擷取畫面。

  6. 選取 [執行] 以執行查詢。

  7. 如果您要修改和儲存查詢,請進行查詢變更,然後選取 [儲存] > [另存為查詢]

  8. 在 [儲存查詢] 視窗中,輸入查詢的名稱、其他選擇性資訊,然後選取 [儲存]

    儲存查詢視窗的螢幕擷取畫面。

根據 LoadBalancerHealthEvent 記錄建立警示

在本節中,您會了解如何建立警示,以在每 5 分鐘內記錄 SnatPortExhaustion 事件時傳送電子郵件。 您可以根據記錄查詢建立警示,以在產生健康情況事件記錄檔時立即收到通知,指出針對負載平衡器資源的潛在影響。

  1. 在 Azure 入口網站中,瀏覽至您的 AKS 叢集資源。

  2. 從負載平衡器資源的 [概觀] 頁面中,選擇 [監視] > [警示]

  3. 在 [警示] 頁面上,選取 [建立客戶警示規則]

  4. 在 [建立警示規則] 頁面上,在 [訊號名稱] 下方選擇 [自訂記錄搜尋]

  5. 在 Log Analytics 的 [記錄] 視窗中,輸入下列查詢,然後選取 [執行]

        ALBHealthEvent
        | where TimeGenerated > ago(5m)
        | where HealthEventType == "SnatPortExhaustion"
        | summarize arg_max(TimeGenerated, *) by LoadBalancerResourceId, FrontendIP
    

    螢幕擷取畫面:顯示已輸入並執行查詢的記錄編輯器。

  6. 選取 [繼續編輯警示]

  7. 在 [條件] 索引標籤上,將 [警示邏輯] 底下的 [閾值] 設定為 0。

  8. 選取 [下一步:動作] >或 [動作]索引標籤。

  9. 在 [選取動作群組] 頁面上選取 [+ 建立動作群組]

  10. 在 [基本] 索引標籤上,輸入下列設定,然後選取 [下一步:通知]

    設定
    專案詳細資料
    訂用帳戶 選取您的訂用帳戶。
    資源群組 選取包含 Log Analytics 工作區的資源群組。
    區域 選取動作群組的區域。
    [執行個體詳細資料]
    動作群組名稱 輸入動作群組的名稱。
    顯示名稱 輸入動作群組的顯示名稱。

    [建立動作群組]視窗的螢幕擷取畫面。

  11. 在 [通知] 索引標籤上,輸入下列設定:

    設定 ReplTest1
    通知類型 選取 [電子郵件/SMS 訊息/發送/語音]
    輸入要接收警示的電子郵件地址。
    選取 [確定]
    名稱 輸入通知的名稱

    螢幕擷取畫面:[建立動作群組] 視窗中包含電子郵件通知設定的 [通知] 索引標籤。

  12. 選取 [檢閱 + 建立],然後選取 [建立] 以建立動作群組。

  13. 在 [建立警示規則] 頁面上,選取 [下一步:詳細資料] 或 [詳細資料] 索引標籤。

  14. 在 [詳細資料] 索引標籤上,輸入下列設定:

  15. 設定 ReplTest1
    嚴重性 針對警示選取嚴重性層級。
    警示規則名稱 輸入警示規則的名稱。
    警示規則描述 輸入警示的描述。
    嚴重性 針對警示選取嚴重性層級。
    區域 選取警示規則的區域。

    [建立警示規則] 視窗中 [詳細資料] 索引標籤的螢幕擷取畫面。

  16. 選取 [檢閱 + 建立],然後選取 [建立] 以建立警示規則。

下一步

在本文中,您已了解如何使用這些記錄來進行收集、分析及建立警示。

如需 Azure Load Balancer 健康情況事件記錄和健康情況事件類型的詳細資訊,以及如何針對每個健康情況事件類型進行疑難排解,請參閱: