使用 Flowmon NPMD 監控 LoadMaster 的效能

二月 17, 2023 Flowmon, 基礎架構管理

擁有 LoadMaster 網路遙測功能,可以更輕鬆地將與應用程式有關的關鍵洞察整合至 Flowmon 部署中。建立全叢集和應用程式專用通道,即可快速建立 NPM 儀錶板與拓撲,呈現依據應用程式、用戶端和伺服器細分的基本效能及可用性指標。

在導入 LoadMaster 的網路遙測功能之後,可以更輕鬆地使用 Flowmon 獲得網路和應用程式洞察。在本文中,我們將會逐步配置 Flowmon,以突顯流過 LoadMaster 的所有關鍵流量類型。

在需要時可以隨時隨地呈現關鍵洞察和資料,是從任何監控解決方案中獲得價值的關鍵因素之一。因此,我們將示範如何設定 Flowmon 部署,以擷取和顯示流過 LoadMaster 叢集的關鍵流量以及隔離個別應用程式。我們可以細分基本的網路效能指標,例如伺服器回應時間 (SRT)、往返時間 (RTT) 以及伺服器和用戶端區段的重新傳輸。

在結束之後,您將可以建立應用程式專用儀表板,如下所示。

配置 LoadMaster

第一步是在 LoadMaster 上啟用網路遙測功能。在本指南中,我們是假設您使用高可用性 (HA) 叢集,所以必須登入共用叢集 IP 才能存取此功能。如果您是使用獨立單元,則僅需要照常登入網頁式 UI (WUI) 即可。

啟用網路遙測,輸入 Flowmon Collector 的 IP 位址和偵聽連接埠號碼。如果不確定連接埠號碼,請使用預設值 3000。保留所有的其他設定。

在完成之後,應可以在 Flowmon Monitoring Center WUI 中看到「來源」下列出的 LoadMaster HA 叢集 IP(或獨立單元 IP)。在本文使用的實驗室中,此 IP 位址為 10.100.24.88,如下所示。

建立 LoadMaster 流量設定檔

我們可以透過兩種主要方式檢查 LoadMaster 流量,更輕鬆地找出關鍵趨勢和問題。第一種方式是檢查 LoadMaster 叢集,找出整體叢集的效能趨勢和問題。第二種方式是檢查 LoadMaster 個別發布的每一個應用程式,查看影響單一應用程式的趨勢。

我們將針對每一個 LoadMaster 叢集(或獨立單元),擷取以下流量類型:

  • 用戶端流量 – 這是從應用程式用戶端到裝載於叢集上之任何虛擬服務的所有流量。
  • 伺服器端流量 – 這是從 LoadMaster 叢集到裝載於叢集上的每一個虛擬服務之真實伺服器的所有流量。
  • HA 流量 – 這是叢集中兩個 HA 單元之間的流量,可以管理和同步叢集。此流量通常與叢集中的效能問題有關。

之後,我們將擷取發布之每一個應用程式的流量:

  • 用戶端流量 – 這是從任何用戶端到特定虛擬服務的流量。
  • 伺服器端流量 – 這是從 LoadMaster 到特定虛擬服務之真實伺服器的流量,此次將會依據個別伺服器進行細分。

在完成之後,我們將獲得 LoadMaster 叢集的設定檔以及另一個應用程式設定檔。

建立設定檔

若想要在 Flowmon Monitoring Center 中建立新設定檔,請前往設定檔 -> 編輯設定檔,按一下新設定檔。

在進入各通道的詳細資訊之前,下圖會呈現出我們建立之每一個通道使用的關鍵元素。

<CHANNEL NAME> - 將會顯示在任何其他配置、圖表、儀表板或報告中的通道名稱。

<CHANNEL FILTER> - 讓我們可以僅擷取相關流量,包含您的配置獨有的環境專用變數。

選擇的通道與父通道 - 特別重要,請將預設的所有通道變更為選擇的通道,然後從父通道中刪除需要擷取流量之 LoadMaster 叢集(在我們的範例實驗室中為 10.100.24.88,如下所示)以外的任何其他通道。否則,最後在設定檔中可能會出現重複或缺少的流量。

LoadMaster 叢集設定檔

我們將針對第一個設定檔建立 LoadMaster HA 叢集。我們稱為「叢集流量」。

然後,必須新增三個通道 — 用戶端流量、伺服器端流量和 HA 流量。

若想要新增通道,請在新設定檔快顯視窗中按一下新通道按鈕,依據下方的資訊進行操作,並按一下儲存。

用戶端流量

此通道需要篩選器,以擷取往返叢集上之任何虛擬服務的所有流量。

為此,我們將會建立下方的篩選器片段,之後可以重複使用於每一個虛擬服務。空白純粹是為了易讀。

每一個虛擬服務的片段:

(((dst ip <VIRTUAL SERVICE IP>) and (dst port <VIRTUAL SERVICE PORT>)) or 

((src ip <VIRTUAL SERVICE IP>) and (src port <VIRTUAL SERVICE PORT>))) 

在我們的實驗室中有兩個共用 IP 位址,但是使用不同連接埠的虛擬服務:

  • 虛擬服務 1:10.100.24.87:80
  • 虛擬服務 2:10.100.24.87:8080

所以,範例實驗室的通道篩選器將是:

(((dst ip 10.100.24.87) and (dst port 80)) or

((src ip 10.100.24.87) and (src port 80))) or

(((dst ip 10.100.24.87) and (dst port 8080)) or

((src ip 10.100.24.87) and (src port 8080)))

 

在嘗試簡化此類型的篩選器時,僅使用「ip」擷取雙向流量可能很吸引人,在某些環境中,此效果將與上述相同,但是在其他情況下將會擷取非預期流量,所以我們非常嚴格,以使篩選器適用於各種環境。

伺服器端流量

接著,我們想要擷取 LoadMaster 叢集與每一個虛擬服務之所有真實伺服器之間的所有流量。同樣地,我們從篩選器片段開始,可以重複使用於每一個想要擷取的真實伺服器。

每一個真實伺服器的片段:

(((dst ip <REAL SERVER IP>) and (dst port <REAL SERVER PORT>)) or 

((src ip <REAL SERVER IP>) and (src port <REAL SERVER PORT>))) 

 

在我們的範例實驗室中,設有兩個真實伺服器供兩個虛擬服務共用,但是也是在不同的連接埠上。在第二個虛擬服務上,真實伺服器連接埠與虛擬服務連接埠不同。我們不會嘗試將它們聚合,而是直接使用上述片段,將它們視為篩選器中四個不同的真實伺服器。

  • 真實伺服器 1 – 10.20.20.10:80
  • 真實伺服器 2 – 10.20.20.100:80
  • 真實伺服器 3 – 10.20.20.10:8443
  • 真實伺服器 4 – 10.20.20.100:8443

現在,我們可以建立通道篩選器:

((((dst ip 10.20.20.10) and (dst port 80)) or

((src ip 10.20.20.10) and (src port 80))) or

(((dst ip 10.20.20.100) and (dst port 80)) or

((src ip 10.20.20.100) and (src port 80))) or

(((dst ip 10.20.20.10) and (dst port 8443)) or

((src ip 10.20.20.10) and (src port 8443))) or

(((dst ip 10.20.20.100) and (dst port 8443)) or

((src ip 10.20.20.100) and (src port 8443)))

 

如您所見,這些篩選器很快就會變得非常大,因此使用可反覆、可靠地剪下貼上的片段可以減少錯誤,雖然它們在小型使用案例中看似「效率不彰」。

應用程式設定檔

現在我們將為 LoadMaster 叢集交付的每一個應用程式建立設定檔。將與叢集設定檔非常相似,著重於用戶端和伺服器端流量,但是於此情形下,我們將會以伺服器為單位,細分伺服器端流量。


用戶端流量

在此通道中,我們想要擷取連線至特定虛擬服務的所有用戶端。如果應用程式使用多個虛擬服務時,您可以使用「or」運算子,將下方的片段連接在一起。

虛擬服務片段:

((dst ip <VIRTUAL SERVICE IP>) and (dst port <VIRTUAL SERVICE PORT>)) or 

((src ip <VIRTUAL SERVICE IP>) and (src port <VIRTUAL SERVICE PORT>)) 

 

所以,實驗室環境中使用虛擬 IP 10.100.24.87 和連接埠 80 的第一個應用程式,則篩選器將是:

((dst ip 10.100.24.87) and (dst port 80)) or

((src ip 10.100.24.87) and (src port 80))

伺服器端流量

在單一應用程式的情況下,我們可以如同之前一樣在叢集層級擷取單一通道中的所有伺服器端流量,但是以真實伺服器為單位進行此操作更有幫助。可以讓我們在個別伺服器層級捕捉問題。請記住,下方的篩選器適用於每一個伺服器的通道,而不是做為針對單一通道中之每一個伺服器重複使用的片段。

每一個伺服器通道篩選器:

((dst ip <REAL SERVER IP>) and (dst port <REAL SERVER PORT>)) or 

((src ip <REAL SERVER IP>) and (src port <REAL SERVER PORT>)) 

在我們的實驗室中,應用程式 1 具有兩個真實伺服器:10.20.20.10 和 10.20.20.100,兩者都在連接埠 80 上偵聽。在我們的範例中,我們將建立兩個不同的通道,每一個伺服器一個通道,以對應伺服器 1 通道的篩選器,如下所示:

((dst ip 10.20.20.10) and (dst port 80)) or

((src ip 10.20.20.10) and (src port 80))

 

以上所示的篩選器最簡單也最普遍適用,但是在某些情境下,此篩選器將會擷取其他不需要的流量,因為有多個應用程式使用相同的連接埠,裝載於同一個伺服器上(即網頁代管情境)。在此類情境中,可以將 SNI 或 HTTP 主機名稱等第 7 層資訊新增至篩選器,以分隔應用程式。如果不可行,且每一個應用程式都使用各自的虛擬 IP,則停用透明化以及子網路發起要求,然後可以使用虛擬服務 IP 做為唯一的用戶端 IP,以區分來自不同虛擬服務的流量。

使用 LoadMaster 流量設定檔

現在,我們已經為 LoadMaster 叢集和每一個應用程式建立了設定檔,可以使用所有的 Flowmon 功能,獲得與每一個叢集及每一個應用程式有關的洞察。我們可以使用 NPM 和網頁瀏覽器預設快速建立儀表板或建立拓撲,使整體應用程式基礎架構一目了然。

如果前往儀表板與報告 -> 配置 -> 預設,將會顯示出數十個預設,讓我們可以建立適合不同應用程式和流量類型的儀表板及報告。


在此情況下,我們將會使用流量 + NPM 預設。 接受預設值,除進入步驟 3(設定)外。在此處要選擇 LoadMaster 叢集設定檔或應用程式設定檔。我們將使用範例中的應用程式 1。


在前往應用程式 1 的 NPM 儀表板之前,先進入儀表板與報告 -> 配置 -> 拓撲,並建立應用程式的拓撲檢視。在完成所有的操作之後,可以將拓撲新增至預設的 NPM 儀表板(透過預設建立),將能開始獲得關鍵洞察,現在可以顯示出開始時介紹的儀表板。

總結

有了 LoadMaster 網路遙測功能,將關於應用程式的關鍵洞察整合至 Flowmon 部署變得比以往更容易。建立全叢集和應用程式專用通道,即可快速建立 NPM 儀表板和拓撲,呈現依應用程式、用戶端和伺服器細分的基本效能和可用性指標。

Flowmon 作者