隨時監控網路的任何風吹草動,才能在問題還未惡化之前即時排除,而NetFlow就是一項符合以上管理需求的網路監測功能,本文將示範如何利用常見的Cacti來收集匯整NetFlow相關資訊,讓企業內的網路管理維護變得更容易。
至此,已可確認Collector能收集到Exporter的NetFlow資料,接著往下完成Analysis Console的部分。
安裝flowview
在Cacti下安裝flowview套件,顧名思義,這個套件的功能是查看Flow的內容。本次實作的Cacti是安裝在「/usr/share/cacti/site」,因此先切換目錄至「/usr/share/cacti/site」,再進入「plugins」資料夾中,指令如下:
然後,將檔案下載,並重新命名為camm_v1.5.3.zip:
其中,-O參數的用途是直接設定下載後的檔名。
接著,將之解壓縮:
隨後登入Cacti,接著點選Console中的Plugin Management,在右邊頁面找到Flowview,如圖5所示點選藍色按鈕開始安裝。
|
▲圖5 安裝Flowview。 |
安裝後,再點選綠色按鈕,將之啟用,如圖6所示。
|
▲圖6 啟用Flowview。 |
了解flowview相關設定
在此要先決定收集來的Flow要存放在哪裡。本例將之存放在「/var/flow」,在之前已建立目錄,因此只須在Cacti進行對應的設定即可,若想存放在其他目錄,也請自行建立該目錄。
接著,進行細部設定。先點選Console,找到Configuration裡的Settings,再點選Misc,理論上只要修改Flows Directory為「/var/flow」即可,如圖7所示。
|
▲圖7 進行Flow Viewer細項設定。 |
設定Listener
接著,設定一組Listener做測試。點選頁籤列上的flows,再點選Listeners,最後按一下Add。
Device Name部分請輸入可茲識別的名稱,本例輸入MyTestRouter,而在Director部分,它會自動建立「/var/flow」下的目錄(每個Listener會建立不同的目錄,「/var/flow」是上一步驟設定的目錄名稱),在此設定TestRouter01。
Allow Host部分用以限制能收取資料的IP,使用預設值0,代表不限制來源IP。針對Port的部分,每部設備建議設定不同的Port,預設值為2055,這裡採用預設值。
Nesting的部分是檔名格式,使用預設的「/YYYY-MM-DD」,這樣在建立目錄時就會以2017-05-06這種方式來建立。Netflow Version則依現況調整,本次使用Netflow version 5。
Compress Level代表其壓縮等級,等級越高,壓縮率越高,越能節省硬碟空間,但相對地就會犧牲CPU效能,此處選擇0不進行壓縮。Rotation指的是每隔多久要建立新檔,預設是每分鐘。最後的Expiration則代表這些檔案要保存多久,預設是2天,設定畫面如圖8所示。在此建議每一部設備都設定一個獨立的Listener,並且設定不同的通訊埠(Port),以便於管理。
|
▲圖8 設定一組Listener。 |
安裝flowview的flow-capture並確認執行情形
必須安裝flowview提供的flow-capture,才能讓flow-view在啟動時讀取目前在Cacti中設定的參數。
先回到Ubuntu的CLI介面,將flow-capture停用:
為了保險起見,把它搬到家目錄中:
再用flowview內附的flow-capture將之取代:
隨即,賦與可執行屬性:
最後,再執行它,執行結果如圖9所示:
|
▲圖9 執行flowview的flow-capture。 |
在此,可以看到它自行建立了「/var/flow/TestRouter01」目錄(也就是在細項設定中設定的目錄),並且運作在UDP Port 2055上。
Cacti提供的flow-capture,其作用是呼叫之前安裝flow-tools時安裝的flow-capture,所不同之處是它在執行時會讀取Cacti中的相關設定。以之前設定的UDP Port 2055為例,使用netstat進行觀察,可以看出目前flow-capture已在監聽(Listen)UDP Port 2055,如圖10所示。
|
▲圖10 flow-capture監聽UDP Port 2055。 |
也可以檢查一下在「/var/flow」目錄內是否有產生TestRouter01,並且在該目錄中是否已產生對應日期的目錄及檔案,如圖11所示。
|
▲圖11 確認目錄是否產生。 |