13
在網路使用率越來越高、服務類型越來越多元的今天,如何在有限預算中降 IT 管理成本,成了每一個資訊人員必需面臨到的難題。事實上,除了購買 昂貴的設備軟體來分析及監控網路流量外,網管人員還是可以運用免費的開 放原始碼(Open Source)工具,來達成基礎的網路流量及設備效能偵測分析。 而提到網路流量分析統計軟體,大部份網管人員第一直覺都會想到 MRTG然而缺乏圖型化操作界面(GUI)及資訊使用彈性不夠,一直以來都是 MRTG 令人覺得不夠親切的地方。因此,透過圖型化操作界面來進行設定管理的 Cacti,成為新一代資訊人員愛用的網路流量及設備效能監控分析軟體。 坊間及網路上已有不少關於 Cacti 的安裝說明文件,因此本文將不再贅述安 裝方法,而將重點放在 Cacti 的運作原理以及相關應用介紹。 一、從 MRTG Cacti 一般在進行網路流量分析統計 時, 大 部 份 人 會 直 覺 想 到 MRTG (Multi Router Traffic Grapher) 藍線綠底的曲線流量圖。1994 MRTG 的開發者 Tobi Oetiker,為 了協助公司同事分析一條頻寬 64K 的對外電路,因而隨手寫了一支程 式,針對網路介面流量進行相關的資 料統計,這個小程式就是最原始的 MRTG,在經歷了幾次改版和效能調 校後,這套流量分析工具已經是許多 網管人員常用的好幫手。 然而,隨著網路架構複雜化以 及管理者需要更多的統計資訊,簡易 MRTG 越來越無法滿足網管人員 的需求;因此,MRTG 的作者 Tobi MRTG 再進化-多功能的 Cacti 王光宜 Oetiker 1999 年為改善 MRTG 資料統計上的限制,以 MRTG 為基 礎下著手打造了 RRDToolRound Robin Database Tool)。 RRDTool 在功能及效能上改善 MRTG 諸多不足的地方,但是相對 在管理及操作的門檻也提升不少。 RRDTool 在語法上的複雜度,讓不 少網路管理者為之怯步,因此在市場 知名度及接受性大大不如 MRTG。一 直到了 2001 Ian Berry PHP MySQL 為 基 礎, 將 RRDTool SNMP Simple Network Management Protocol)進行整 合,開發出圖型化操作界面(GUICacti,讓即使不瞭解 RRDToolPHPMySQL 語法的使用者,可以 215 Technology Forum 2015 BYOD

MRTG 再進化-多功能的Cacti - inventpower.com.t forum/2015/2015_19.pdf · 一、從MRTG到Cacti 一般在進行網路流量分析統計 時,大部份人會直覺想到 MRTG

Embed Size (px)

Citation preview

Page 1: MRTG 再進化-多功能的Cacti - inventpower.com.t forum/2015/2015_19.pdf · 一、從MRTG到Cacti 一般在進行網路流量分析統計 時,大部份人會直覺想到 MRTG

在網路使用率越來越高、服務類型越來越多元的今天,如何在有限預算中降

低 IT管理成本,成了每一個資訊人員必需面臨到的難題。事實上,除了購買昂貴的設備軟體來分析及監控網路流量外,網管人員還是可以運用免費的開

放原始碼(Open Source)工具,來達成基礎的網路流量及設備效能偵測分析。而提到網路流量分析統計軟體,大部份網管人員第一直覺都會想到MRTG。然而缺乏圖型化操作界面(GUI)及資訊使用彈性不夠,一直以來都是MRTG令人覺得不夠親切的地方。因此,透過圖型化操作界面來進行設定管理的

Cacti,成為新一代資訊人員愛用的網路流量及設備效能監控分析軟體。坊間及網路上已有不少關於 Cacti的安裝說明文件,因此本文將不再贅述安裝方法,而將重點放在 Cacti的運作原理以及相關應用介紹。

一、從MRTG到 Cacti一般在進行網路流量分析統計

時,大部份人會直覺想到 MRTG (Multi Router Traffic Grapher)藍線綠底的曲線流量圖。1994 年

MRTG的開發者 Tobi Oetiker,為了協助公司同事分析一條頻寬 64K的對外電路,因而隨手寫了一支程

式,針對網路介面流量進行相關的資

料統計,這個小程式就是最原始的

MRTG,在經歷了幾次改版和效能調校後,這套流量分析工具已經是許多

網管人員常用的好幫手。

然而,隨著網路架構複雜化以

及管理者需要更多的統計資訊,簡易

的MRTG越來越無法滿足網管人員的需求;因此,MRTG的作者 Tobi

MRTG再進化-多功能的Cacti王光宜

Oetiker在 1999年為改善MRTG在資料統計上的限制,以MRTG為基礎下著手打造了 RRDTool(Round Robin Database Tool)。

RRDTool在功能及效能上改善

MRTG諸多不足的地方,但是相對在管理及操作的門檻也提升不少。

RRDTool在語法上的複雜度,讓不少網路管理者為之怯步,因此在市場

知名度及接受性大大不如MRTG。一直 到 了 2001 年 Ian Berry 以 PHP及 MySQL 為 基 礎, 將 RRDTool及 S N M P(S i m p l e N e t w o r k Management Protocol) 進 行 整合,開發出圖型化操作界面(GUI)的 Cacti,讓即使不瞭解 RRDTool、

PHP、MySQL語法的使用者,可以

215Technology Forum 2015

雲端運算與資料中心

資料儲存與備份

BYO

D

與資訊安全

網路技術與應用

Page 2: MRTG 再進化-多功能的Cacti - inventpower.com.t forum/2015/2015_19.pdf · 一、從MRTG到Cacti 一般在進行網路流量分析統計 時,大部份人會直覺想到 MRTG

簡單快速的產生各種想要監控的物件

資料。

自 2004 年 公 佈 Cacti 的 0.8.6版 以 來, 這 十 年 間 基 於 Open Source 的精神,全世界陸續有多位高手及同好成為 Cacti的開發者(Developer),除了針對 Cacti原始程式的維護與修改補強外,同時也

開發各式外掛套件及分享各大原廠設

備的偵測模組(Template),不但增強 Cacti原始程式碼的穩定性,也豐富了 Cacti能夠擴充的資源。

二、Cacti的運作機制Cacti 在資訊蒐集上,除了使

用公開標準的 SNMP協定外,亦能接受透過 Script語法方式,針對所需資料進行統計分析。以 SNMP為例,Cacti會對偵測設備送出 SNMP Polling query 封包,當設備收到

Cacti發出的 SNMP Polling query後,會回應Cacti相對應的數據資料,當 Cacti收到偵測設備回應的數據後,會存放在Cacti主機中(圖一)。

SNMP 協定使用 UDP 進行溝通,在 Cacti與偵測設備之間的封包傳遞方式如圖二所示。因為 SNMP協定使用 UDP,在進行 Polling過程中偶爾會出現 Cacti無法成功收到被偵測設備回應的數據,這時並不代表網

路或被偵測設備服務中斷,只能表示

Cacti在這次 Polling過程中,無法取得數據資料。

1. Cacti的運作流程

前面提到過,Cacti是以 PHP及

MySQL 為基礎,並結合 SNMP 及

RRDTool的網路管理套件。運作上,

Cacti 伺服器裡是透過 Poller.php這支程式來進行 SNMP Polling 動作,而被偵測設備的相關資訊(如:

IP、Host Name、Community 以及 Interface)自 MySQL 中取得,而取回的數值資料利用 RRDTool的

PHP函式存放於 RRDTool檔案中,運作流程如圖三。

這樣的運作流程裡,MySQL存放著偵測設備的相關資訊以及 Cacti裡 graphs或 Templates定義資料,而重要的偵測設備回應數據,則利

用 RRDTool套件存放於相關 .rra檔案裡。當使用者登入 Cacti點選各偵測設備 graph時,才會經由 PHP的

RRDTool函式讀取相對應的 .rra檔

圖一 Cacti透過 SNMP協定來取得被偵測設備(Agent)資訊

圖二 SNMP封包的傳遞方式

216 2015技術論壇

雲端運算與資料中心

資料儲存與備份

BYO

D

與資訊安全

網路技術與應用

Page 3: MRTG 再進化-多功能的Cacti - inventpower.com.t forum/2015/2015_19.pdf · 一、從MRTG到Cacti 一般在進行網路流量分析統計 時,大部份人會直覺想到 MRTG

案,繪製完成相關的圖檔。這樣的處

理流程中,重要的偵測數據是以 File的模式存放,而不是存放於MySQL之中,對於MySQL而言,因為只存放設備的資訊而非偵測數據資料,資

料異動少而且資料量不會一直增加,

除了減輕主機的負擔外,也可以保護

相關偵測數據資料存放的可靠性。

2. MRTG與 RRDTool的數據記錄方式如前所述,Cacti 的運作有別

於 傳 統 MRTG,MRTG 在 每 一 次

Polling 完成後,相關偵測數據都直接繪製成日、週、月、年的 .png圖檔,就算使用者未登入查詢相關

流量資訊,MRTG仍忠實的自動產生靜態圖檔;而 Cacti則是靈活利用 RRDTool 的 create、update、

graph三個指令,在每一次 Polling完成後,僅用 update的方式將數據存入 .rra檔案中,當使用者登入查詢相關設備資訊時,才使用 graph指令讀取 .rra檔案資料將圖形繪製出來。

MRTG雖然有相對應的 .log檔(圖四)記錄每次取得的數據資料,

但是若想針對特定時間週期重新繪製

流量曲線圖,MRTG並沒有提供相對應的解決方式,雖然可以將相關 .log檔 匯 入 至 Microsoft Office Excel程式裡自行產生,但是操作手續上十

圖三 Cacti運作流程

217Technology Forum 2015

雲端運算與資料中心

資料儲存與備份

BYO

D

與資訊安全

網路技術與應用

Page 4: MRTG 再進化-多功能的Cacti - inventpower.com.t forum/2015/2015_19.pdf · 一、從MRTG到Cacti 一般在進行網路流量分析統計 時,大部份人會直覺想到 MRTG

分繁複。如果是使用 RRDTool存放相關設備數據時,使用者希望繪製出

自行定義圖檔,只需使用 RRDTool的 graph指令自行產出即可。

MRTG的 .log檔案(表一)構成主要分為兩部份:第一筆只會有三

欄資料,主要是統計流出入量的總合

資訊;第二筆則是每五分鐘 Polling詢問設備取回的資訊統計,各欄位數

值代表意義如表一。在MRTG .log檔裡第一欄的時間計算方法,是從

1970 年一月一日零時開始累計秒數,以 1391745606來換算,即為

2014/02/07 12:00:06。

因為 Cacti是利用 RRDTool存放設備網路流量數據,在 Cacti操作頁面上新增一個偵測點後,RRDTool立即使用 create程式建立 .rra的檔案。在 RRDTool 建立 .rra檔案同時,利用相對應的語法(圖五)一併定義

了數據存放方式。有別於MRTG只能存放平均、最大的流進流出數據,

RRDTool可以在同個檔案中存放多筆數據,亦可調整數值平均週期以及存

放數據的筆數等,由於這部份語法較

複雜,而 Cacti會自動完成建立的動作,在此不多做說明,若對 RRDTool語法有興趣者可以至 RRDTool官網

圖四 MRTG .log檔內容

表一 MRTG .log各欄位說明

第一筆:只有三欄資料

時間 (seconds) 設備流進量總和 設備流出量總和

1391745606 6749224432554 50063962796871

第二筆:有五欄資料(之後皆為此)

時間 平均流進量 平均流出量 最大流進量 最大流出量

1391745606 391287 1848709 391287 1848709

1391745606 629230 1986928 629230 1986928

圖五 RRDTool建檔語法

218 2015技術論壇

雲端運算與資料中心

資料儲存與備份

BYO

D

與資訊安全

網路技術與應用

Page 5: MRTG 再進化-多功能的Cacti - inventpower.com.t forum/2015/2015_19.pdf · 一、從MRTG到Cacti 一般在進行網路流量分析統計 時,大部份人會直覺想到 MRTG

查詢 create指令的相關說明資料。

三、Cacti的圖形管理在 Cacti 中新增偵測節點及

建立偵測介面的操作,都可以透過

Web 連線方式進行維護及管理工作,比起傳統 MRTG 需要登入主機編修相關設定檔案文件,更容易

讓網管人員學習上手。只要瞭解幾

個 Console 介面的功能後,就可以完成基本的設備效能及流量偵測

工作。

1. 新增設備的方法在登入 Cacti 後,主畫面可以

分成三個區塊來說明(圖六)。第

一個部份在畫面右上角會帶出目前

使用的 Cacti版本資訊;第二個部份在畫面上方,會帶出目前己經安

裝並啟動的 Plugins,如果需要針對相關 Plugins進行資訊查詢,直接點選該 Plugin分頁即可。在未安

裝任何 Plugin 時,Cacti 預設即有

console及 graphs兩項分頁,登入時預設是顯示 console分頁,如果需要查看偵測介面等相關圖形,則是放

在 graphs頁面。第三個部份在畫面的左方,是管理控制台中的各項設定

資訊。

如 果 需 要 新 增 一 台 偵 測 主

機, 也 是 經 由 Console 頁 面 中,

Management群組裡的Devices進行新增工作,或者登入後由主畫面中

的 Create devices,亦可進入設備管理畫面;待進入設備管理畫面後,點

選Add即可新增設備(圖七、圖八)。在設備管理頁面裡點選Add後,

畫面會再帶到新增設備的管理頁面,

這時候依實際環境需求填入各項相

關 資 訊。General Host Options群組裡,只需填寫 Description 及

Hostname(圖九),Description是填入設備描述,主要會顯示在設備

圖六 Cacti管理畫面說明

219Technology Forum 2015

雲端運算與資料中心

資料儲存與備份

BYO

D

與資訊安全

網路技術與應用

Page 6: MRTG 再進化-多功能的Cacti - inventpower.com.t forum/2015/2015_19.pdf · 一、從MRTG到Cacti 一般在進行網路流量分析統計 時,大部份人會直覺想到 MRTG

管理清單以及每一次偵測圖形的標

題裡;而 Hostname 可填入 IP 或完整 Hostname;另外,在 SNMP Options群組裡,需依實際狀況選

擇 SNMP Version 及 填 入 SNMP Community(圖十)。基本設定上,只需要將這四個欄位填寫完成即可開

始針對該設備進行偵測工作,其於欄

圖八 Cacti新增設備的方法:步驟二

圖七 Cacti新增設備的方法:步驟一

220 2015技術論壇

雲端運算與資料中心

資料儲存與備份

BYO

D

與資訊安全

網路技術與應用

Page 7: MRTG 再進化-多功能的Cacti - inventpower.com.t forum/2015/2015_19.pdf · 一、從MRTG到Cacti 一般在進行網路流量分析統計 時,大部份人會直覺想到 MRTG

位使用預設值即可,若有興趣想瞭解

各項欄位所代表的參數,可至 Cacti官網中查詢相關的設定意義。

2. 新增介面的方法在完成新增設備後,在設備管理

頁面中點選設備名稱後,即可進入設

備資訊頁面,這個畫面和新增設備頁

面相似,因此若需要針對在上一小節

中提到的各項欄位進行修改,亦可透

過這個方法進入本頁面進行異動(圖

十一)。如果需要新增偵測介面,則

點選本頁面右上角 Create Graphs for this Host, 進 入 介 面 管 理 頁面(圖十二)。進入介面管理頁面

圖十 新增設備管理頁面二

圖九 新增設備管理頁面一

221Technology Forum 2015

雲端運算與資料中心

資料儲存與備份

BYO

D

與資訊安全

網路技術與應用

Page 8: MRTG 再進化-多功能的Cacti - inventpower.com.t forum/2015/2015_19.pdf · 一、從MRTG到Cacti 一般在進行網路流量分析統計 時,大部份人會直覺想到 MRTG

後,會帶出這設備的所有介面(包括

EtherChannal、Vlan及實體介面),此時勾選需要偵測的介面後,再選擇

Graph type後,按 Create鈕即完成新增。

3. Cacti的圖形管理在 Cacti 的每一張圖旁邊,都

有四個好用的圖形管理小工具(圖

十三),其功用與說明如表二。

Zoom Graph可以隨管理者的需要放大偵測圖形。以圖十三為例,

如果需要看月報表中Week12的資料,點選 Zoom Graph(放大鏡圖示)後,選取月報表中Week12的部份,圖形立即呈現Week12的偵測資料(圖十四)。

至 於 CSV Export 及 Graph Source / Properties,提供詳細的

圖十二 介面管理頁面

圖十一 設備資訊頁面

222 2015技術論壇

雲端運算與資料中心

資料儲存與備份

BYO

D

與資訊安全

網路技術與應用

Page 9: MRTG 再進化-多功能的Cacti - inventpower.com.t forum/2015/2015_19.pdf · 一、從MRTG到Cacti 一般在進行網路流量分析統計 時,大部份人會直覺想到 MRTG

偵測資訊資料及RRDtool繪圖語法,當圖形出現異常時,可以提供更多資

訊來協助修復所面臨的問題。

在設備以及偵測介面越來越多

後,Cacti在 Graphs裡提供樹狀目錄的圖形管理功能,可以依使用者的

需要,將偵測圖形分門別類,以方便

管理在最短時間內查詢相關偵測圖形

(圖十五)。

四、Cacti的相關應用1. Cacti Plugins

Cacti豐富的 Plugins套件,將許多網路管理上常用及好用的軟體整

合至 Cacti系統中,除了有效減輕網管人員所需管理 Server數量,整合化的頁面(圖十六)也簡化了管理者

分析問題時的工作,不再需要同時登

入多台主機查閱相關歷史資料。

圖十三 圖形管理工具

表二 Cacti圖形管理工具

圖示 名稱 用途

Zoom Graph 可依所選取時間範圍,放大偵測圖形資訊。

CSV Export 將 rra檔案中的資料滙出成 CSV檔。

Graph Source / Properties 顯示 rrdtool語法及相關資訊。

Page Top 回到頁首

223Technology Forum 2015

雲端運算與資料中心

資料儲存與備份

BYO

D

與資訊安全

網路技術與應用

Page 10: MRTG 再進化-多功能的Cacti - inventpower.com.t forum/2015/2015_19.pdf · 一、從MRTG到Cacti 一般在進行網路流量分析統計 時,大部份人會直覺想到 MRTG

圖十四 Zoom Graph工具

圖十五 以樹狀目錄管理各類圖形

224 2015技術論壇

雲端運算與資料中心

資料儲存與備份

BYO

D

與資訊安全

網路技術與應用

Page 11: MRTG 再進化-多功能的Cacti - inventpower.com.t forum/2015/2015_19.pdf · 一、從MRTG到Cacti 一般在進行網路流量分析統計 時,大部份人會直覺想到 MRTG

舉例來說,我們可以讓 Cacti兼當 syslog Server( 安 裝 Plugins syslog套件),當設備出現異常時不用一台一台登入網路設備查看 log記錄,假設在 Cacti偵測資訊裡發現到某一台設備 CPU出現異常,管理者只需要在同個 web頁面中點至

syslog頁面查詢該設備的 log資訊即可。

除此之外,管理者可以利用

Weathermap套件,依企業或單位的網路架構,繪製出符合使用者實際

環境的總體流量資訊圖(圖十七),

而 Weathermap 透 過 Java script的語法,只要將滑鼠移至架構圖中任

一電路上,即帶出該電路的歷史流量

統計圖。除了上述兩個套件外,想要

偵測多台主機的運作情形,可以使用

monitor 套件、想要進行 netflow統計分析,可以使用 flowview 套

件、針對組織內大量使用者的mac address管理,可以使用MacTrack套件以及想要由 Cacti提供警報功能時,則可以使用 Thold套件。

網路管理者可以依自己的網路

環境加裝所需的套件,安裝方法與使

用說明在 Cacti Docs網站裡有詳細的說明,如果在安裝使用或是操作上

遇到無法解決的問題以及程式相關的

bugs問題,可以至 Cacti Forums將所遇到的問題提出,或是搜尋前人

遭遇同樣的問題時相關的解決方法。

2. Cacti Graph Templates雖然 Cacti在安裝完成後提供

部份廠牌設備的 Templates(如:

Cisco、Linux),但是如果需要偵測其他廠牌設備的 CPU、Memory、

session 時, 可 以 利 用 自 行 定 義

Templates的方式,產生所需要偵測的數據資料。

圖十六 將monitor及Weathermap等套件整合進 Cacti

225Technology Forum 2015

雲端運算與資料中心

資料儲存與備份

BYO

D

與資訊安全

網路技術與應用

Page 12: MRTG 再進化-多功能的Cacti - inventpower.com.t forum/2015/2015_19.pdf · 一、從MRTG到Cacti 一般在進行網路流量分析統計 時,大部份人會直覺想到 MRTG

一般來說,市面上有提供網管功

能的設備,只要原廠的MIB資料夠完整時,都可以利用 SNMP協定取回相對應的偵測數據。舉例來說,今

天想取得 Cisco SCE 8000 裡統計的

flows 數,可以透過 Cisco SCE 的

OID:1.3.6.1.4.1.9.9.634.1.1.1.4.38取得相對應的數據。當 Cacti取回數據資料後,即可如一般流量統計計錄

flows數量(圖十八)。然而在取得 相關MIB值以及設

定 Cacti Graph Templates 流 程

較複雜,如果不想自行建立 Graph Templates, 亦 可 以 至 Cacti Docs 尋找由網友共享的 Graph Templates。以 F5 BIG-IP LTM 為

例,至 Cacti Docs下載檔案解壓縮後,將檔案由 Cacti的 Console 頁面 Import Templates 即可;如果想將自己建立的 Templates共享或儲存,可以使用 Export Templates選項,將建立完成的 Templates匯出成 .xml檔案。

五、結語

在進行障礙查修工作時,一般來

說在問題發生當下所取得的資訊(如:

介面流量資訊或 CPU Loading等)最有利用價值,因為管理者可以即時

與使用者所反應的網路問題進行交叉

比對。然而,在查修時若需要回溯到

兩天前或是一週前的網路及設備使用

圖十七 使用Weathermap繪製的網路流量資訊

226 2015技術論壇

雲端運算與資料中心

資料儲存與備份

BYO

D

與資訊安全

網路技術與應用

Page 13: MRTG 再進化-多功能的Cacti - inventpower.com.t forum/2015/2015_19.pdf · 一、從MRTG到Cacti 一般在進行網路流量分析統計 時,大部份人會直覺想到 MRTG

情形,有了歷史統計資料即可便於我

們回溯事發當時的設備使用情形。因

此,MRTG 或是 Cacti 等能提供歷史記錄報表資料的軟體,可以解決這

部份的需求。透過 GUI點選操作的

Cacti,可以用最短的時間新增完成新的偵測介面,此外,豐富的外掛套件

也強大了 Cacti在網管上的運用。但是,因為 Cacti為 Open Source,當程式或相關套件出現 bug時,除了自己修復外,再來就只能到官網社群

尋求解決方法,相對於軟體開發商完

整的售後服務,Cacti在這一塊顯得相對薄弱許多。

到 底 企 業 需 要 使 用 Open Source或是商業軟體來進行網路管理工作呢?雖然 Open Source 的

Cacti看似不需太高的建置成本,但是若對 Linux、PHP及MySQL沒有基礎的概念時,在管理 Cacti時可能會耗費更多的人力成本;商業軟體雖

然不需要額外理解系統本身的運作原

理,但是授權費用以及模組擴充上彈

性較弱,免不了讓網管人員在使用上

圖十八 Cisco SCE 8000的 TCP Flow數

有種隔靴搔癢,無法一次滿足網管人

員的所有需求。因此,唯有評估企業

實際的狀況,選擇一套適合自己企業

環境的網管軟體,才能真正有效的協

助解決網路管理上的問題。

參考文件:

1. Cacti 官 方 網 站 h�p://www.cacti.net/

2. MRTG官方網站 h�p://oss.oetiker.ch/mrtg/

3. RRDTool 官 方 網 站 h�p://oss.oetiker.ch/rrdtool/

(作者現任職於麟瑞科技)

227Technology Forum 2015

雲端運算與資料中心

資料儲存與備份

BYO

D

與資訊安全

網路技術與應用