2013年5月27日 星期一

查修網路一目瞭然 用Weathermap強化Cacti

視覺化網路監控工具 架構圖上看設備狀態流量
查修網路一目瞭然 用Weathermap強化Cacti

本文將介紹Cacti的外掛程式Weathermap。運用Weathermap可以在同一個網頁內顯示網路架構圖以及設備的狀態和流量等相關資訊(前提是設備數量不要太多,畢竟設備太多就很難一目瞭然),讓管理者可以輕易地在短暫的時間內找出CPU負載過大、記憶體剩餘太少、Session數使用過多,或是流量異常上升的設備,以確實找出問題點。

在以下的篇幅,將介紹Weathermap的安裝及操作流程供讀者參考,以評估是否需要架設在現有的網路內。

安裝及設定Weathermap

Weathermap相關資訊及說明均存放在Cacti的網頁(http://docs.cacti.net/userplugin:weathermap)中,其下載頁面在「http://www.network-weathermap.com/download」。

Weathermap有兩種執行方式,一種是作為Cacti的Plugins執行,另一種是當作網頁程式單獨執行,這裡將示範以Plugins的方式執行。

首先,將檔案下載回來,存放至「/usr/src」目錄內。



筆者原先使用的Cacti為0.8.7g版(先前在Ubuntu 11.04以apt-get方式安裝),尚不支援Plugins,因此必須自行升級為0.8.8a版(或更新的版本)。

詳細的操作可以參考Cacti官方網頁(http://www.cacti.net/downloads/docs/html/upgrade.html)。以下是筆者的操作流程:

下載最新版的Cacti,解壓後安裝至「/var/www/cacti」目錄內,並將原先rra目錄中的rrd檔、scripts以及resource裡面的程式都複製到新的目錄內(如果尚未新增設備及新增script則無需進行此動作)。



請讀者自行尋找apache2相關設定檔,並修改其內容:



將Alias /cacti /usr/share/cacti/site及,修改為Alias /cacti /var/www/cacti及。

接著將Weathermap解壓縮,並移至Cacti的目錄,再修改目錄及檔案所屬群組:



最後重新開啟Apache,讓它讀入Cacti的新目錄設定:



再調整一下Cacti對於資料庫的相關設定:



將MySQL的部分配合自己的帳號和密碼進行修改,之後再重新開啟Cacti的網頁,它會發現這是一個升版動作,接著依它的指示依序執行即可。

在此須注意的是,Cacti是否有定時執行?記得檢查一下「/etc/cron.d/cacti」檔案裡的內容,並將目錄修改成Cacti升版後的所在目錄:



修改成




登入Cacti之後,可以在左下角找到Plugin Management的連結,這就代表已經成功更新了Cacti,並且可以使用外掛程式管理功能,如圖1所示。


▲圖1 Cacti更新後可執行外掛程式管理功能。

隨後點選Plugin Management,此時就可以看到Weathermap已經出現在Plugin的名單中,如圖2所示。在Action欄位內,可以看出它目前是處於非啟動狀態。點選該箭頭圖示,將其啟動。


▲圖2 Weathermap已出現在Plugin的名單內。

在點選箭頭圖示後,它會從原先的藍色向下變為紅色向上。此時,在Console選單的Management裡就可以看到Weathermaps的選項,將其點選,以進行細部的設定,如圖3所示。


▲圖3 選擇Console選單中的Weathermaps,以進行細部設定。

之後修改群組設定,按下〔edit groups〕按鈕,如圖4所示。


▲圖4 修改群組設定。

接著再點選「Rename」,將原先的Group Name修改為「The Great Network」,讀者請依自己的需求進行調整,如圖5所示。


▲圖5 修改群組名稱。

最後,開始編輯自己的地圖。同樣點選圖5中的「Weathermap Editor」。此時會有以下的說明:

The editor has not been enabled yet. You need to set ENABLED=true at the top of editor.php Before you do that, you should consider using FilesMatch (in Apache) or similar to limit who can access the editor. There is more information in the install guide section of the manual.

大意是說,需要在editor.php檔案中設定ENABLED=true,另外這個檔案會有安全性的疑慮,請設法保護它的安全。

筆者的伺服器僅對內網開放,因此不必特別加以保護,若讀者有此需求,可自行參閱Apache的網頁說明(http://httpd.apache.org/docs/2.2/mod/core.html#filesmatch)。

接著,利用指令「vi /var/www/cacti/plugins/weathermap/editor.php」編輯editor.php,並找到「$ENABLED=false;」這一行(筆者的檔案中是在第七行)。將$ENABLED=false;修改為$ENABLED=true;。

再點選一次圖5中「Weathermap Editor」,就會看到如圖6的頁面。在Create A New Map欄位內輸入「Office Network」,並按下右側的〔Create〕按鈕。


▲圖6 設定Map名稱。

然後,程式就會引導進入繪圖介面,如圖7所示。


▲圖7 Weathermap繪圖介面。

實際操作Weathermap:建立一個簡單的Map

在此實際操作Weathermap,並建立一個簡單Map的流程供讀者參考。

在此操作中,較常使用的是功能表介面,筆者放大如圖8所示(圖7的上半部分),以方便之後進行說明。


▲圖8 繪圖介面功能表。

Weathermap可以直接套用Cacti建立的各種圖形(這也是本文選擇作為Cacti的Plugin執行的最大原因)。因此在建立Map之前,必須先利用Cacti的介面來建立設備的相關圖形。

筆者事先建立了Cisco 2950 switch及Cisco 871 router的CPU使用率、記憶體使用量及流量使用量的圖形。讀者可至「http://forums.cacti.net/about15067.html」網頁中尋找自己設備適用的Template,以加速建立相關圖形的速度,詳細操作流程可參閱網管人第83期。

在此提醒一下讀者,若單純只是要將圖形藉由Weathermap帶出,那麼在建立圖形過程中建立Graph Trees的相關動作是不需要執行的。

繼續把Weathermap完成。先點選圖8中的「Add Node」,此時滑鼠的游標會變成十字形,接著在網頁白色部分(繪圖區,請參考圖7)上想要的位置加以點選,此時繪圖區會出現Node的圖形。

接著,使用滑鼠左鍵點選「Node」,並編輯成想要的名稱。在此只需修改Lable、’Hover’Graph URL及Icon Filename即可。


▲圖9 修改Node資訊。

將Node改為Router,並點選開啟Icon Filename的下拉式選單,選擇【images/Router.png】(此為內建的檔案,可自行上傳圖檔至「/var/www/cacti/plugins/weathermap/images/」),最後點選「Pick from Cacti」。

此時會出現之前建立的Cacti的Graph List,如圖10所示。可點選「Host」,以加速篩選速度,這裡直接點選「Router – CPU Usage」,最後按下〔Submit〕按鈕即可。


▲圖10 選擇適用的Graph List。

接著同樣新增一個Node,位置約莫在原先的Node下方,在Graph部分,選擇的是「Router – Memory Usage」,Label部分則輸入「Memory」。

如果位置不好調整的話,在建立過程中可修改Position的欄位調整其X軸及Y軸的值(圖9)。

也可以直接編輯設定檔,以此例而言,設定檔存放在「/var/www/cacti/plugins/weathermap/configs/」中,會有一個與自己設定的Map名稱相同的檔案。

將其開啟後,可以搜尋Label名稱,往下可以看到POSITION的欄位,之後就可以自行調整其X軸與Y軸的值。

依循相同的步驟,在Map上建立Switch的相關圖形。最後點選圖8中的「Add Link」,再依序點選先前建立的Router和Switch的圖形。Weathermap會自動在兩者之間建立兩個指向對方的箭頭。

接著點選這個Link,並依照自己的需求更新Maximum Bandwidth與Data Source的欄位,如圖11所示。


▲圖11 建立Link相關資訊。

Link的Data Source,一般是抓取兩部設備介接的介面的流量圖,以便看出是否有流量異常的情形發生。在選擇「Pick from Cacti」後,Info URL和’Hover’Graph URL欄位也會自動填寫完成。之後再點選右上角的〔Submit〕按鈕,基本的Map就完成了。

最後將此Map放到上面的Weathermap選單中。點選圖8最左邊的「Change File」,就可以回到Cacti的網頁。接著,同樣點選左邊選單的「Weathermap」,並點選右邊的「Add」,如圖12所示。


▲圖12 新增map至Weathermap。

接著出現的畫面如圖13所示,再點選Office Network最前方的「Add」,就完成了。


▲圖13 新增map至Weathermap(續)。

最後點選上方選單的Weathermap,就可以看到剛剛辛苦建立的Map。

此時,如果把滑鼠游標滑過圖形,就可以看到對應的Graph,例如滑鼠滑過Router,可以看到CPU Usage,滑過Router下方的Memory,將會顯示Memory Usage,滑過兩個設備間的Link,就能夠看到流量圖。

圖14所示便是滑鼠滑過Memory時的顯示情形。


▲圖14 Weathermap的輸出。

Link會顯示流量的使用率,在此例中上傳為0.01%,下載為0.0.1%。依不同的使用率區間,會有不同的顏色,管理者可以清楚得知是否某些Link有巨大的流量流經。

另外,在建立Link時,也可以設定當流量使用率到達某個門檻值時,產生對應的IN Comment和OUT Comment,以便於判斷。

結語 

在障礙查修時,太多的情報和太少的資訊,都會影響查修的速度。可以利用Weathermap簡潔的介面,在一個頁面內同時看出網路的架構和各種流量圖,它提供適量的資訊讓管理者可以輕易地判斷問題點,藉以提升查修的速度。如果原先就已經架設Cacti的管理者,不妨一併安裝Weathermap,利用此方便的工具讓自己的工作更輕鬆。

Weathermap能自訂的部分相當多,本文只是拋磚引玉引領各位讀者進行簡單的操作,讀者若有興趣的話,不妨自行鑽研,相信必定能挖掘出Weathermap更多的功能。

轉載自《網管人》