2008年2月14日 星期四

安裝和設定MRTG網路流量分析軟體



安裝和設定 MRTG(Multi Router Traffic Grapher) 網路流量分析軟體

名詞解釋:
MRTG 為Multi Router Traffic Grapher 的縮寫,
MRTG原本是透過 Simple Network Management Protcol(SNMP)來監看並記錄路由器流量的工具軟體。
它把記錄下的數據利用GD Library,繪成GIF(舊版本)或PNG(較新版本)檔,
並加上了HTML語法,好以網頁格式把被監看的機器網路流量展示在瀏覽器。
網管人員可以透過MRTG產生每日, 週, 月, 年 之網路流量統計圖, 去檢視出頻寬之使用量及穩定性, 以作為日後擴充或調整之參考。
而MRTG也能加裝擴充的模組,來統計要監看的機器其 CPU , Memeory , System stats , Proxy等狀況數據。

MRTG作者:
MRTG 是由Tobias Oetiker 寫出
http://oss.oetiker.ch/mrtg/

在LINUX平台上,要把MRTG跑起來,需要幾個重要的套件輔助:
1. GD 函式庫支持,繪製圖形用。 http://www.boutell.com/gd/
2. Perl 5以上。因為MRTG是用PERL執行運算的。 http://www.perl.com 和 http://www.perl.org都有相關資訊。
3. zlib 函式庫支持,資料壓縮用。
4. libpng 函式庫支持,繪製成PNG圖形檔案用。

+------------------------------------------------+
MRTG 簡易設定文件:
安裝必備套件
1. mrtg-2.*
2. perl5.*
3. gd
4. zlib
5. libpng

以下是某份參考文件,他是要在FreeBSD 4設定mrtg 2.8吧!
因為是用tarball安裝,所以就目前使用linux kernel 2.6的我們,參考性不大,
但還是留了下來,以備不時之需。
+=====================================+
tar xvfz zlib.tar.gz
mv zlib-1.1.3 zlib
cd zlib
./configure; make test; make install
cd ..
tar xvfz libpng-1.0.3.tar.gz
mv libpng-1.0.3 libpng
cd libpng
cp scripts/makefile.std makefile
make test
make install
tar xvfz gd-1.6.3.tar.gz
cd gd-1.6.3
./configure ; make (For General User)
./configure ; make install (For system administrator)
cd..

安裝 mrtg:

tar xvfz mrtg-2.8.6.tar.gz
cd mrtg-2.8.6
./configure
make
+=====================================+


至於我自已嘛!我是用Fedora 8安裝MRTG的。
用YUM加上面那些套件名稱,就輕輕鬆鬆安裝完成。
但接下來的設定方式,都是基本步驟,適用各版本,順序不能錯,也不能省略。

開始設定MRTG:

被控端:(請以安裝MRTG身份執行,通常是root)
指令:
# cfgmaker public@172.16.1.1 > mrtg.172.16.1.1.cfg
可以cfgmake --help 或 --man 來看使用方式。
執行cfgmaker有個重點,被控端的SNMP一定要啓用,而且防火牆的UDP 161port要開啓。
不然執行起來是不會擷取到任何資料的。
而你若是要擷取資料的機器是網路設備的話,那基本上目前所有的網路設備都支持了SNMP。沒問題的!

成功跑完cfgmaker指令之後,這台172.16.1.1機器的基本資料格式已經存成 mrtg.172.16.1.1.cfg了。
你可以不必照我的命名規範訂組態檔各稱,但建議照著做,好方便日後參照修改使用。
接著修改被控端的組態檔。在 mrtg.172.16.1.1.cfg 檔案開始處,加上:
WorkDir: /var/www/html/mrtg/
Interval: 5

指令:
# vi mrtg.172.16.1.1.cfg

第一行 WorkDir 項目是指定網頁資料存放位置。請照著你機器的apache或是httpd運作環境設定。
第二行 Intervar: 5 則是指定每五分鐘向被控端擷取資料。

OK!要開始朷始化被控端的資料擷取了。
指令:
# mrtg mrtg.172.16.1.1.cfg
執行第一次時,應該會有很多錯誤訊息出來!
第二次也是,但錯誤會少很多,這都是因為初始化,很多數值沒能解析成功所導致。沒關係的。
通常執行第三次時,就不會再有錯誤訊息產生了。
把工作目錄切到WorkDir的設定路徑之下,你應該能看到一些和172.16.1.1機器有關的檔案了。
也就是說,MRTG已經對172.16.1.1這部機器,產生網路流量分析資訊了。

最後,讓我們為這些已經產生好的數據資訊網頁,做出一個index.html來使用。
指令:
# indexmaker mrtg.172.16.1.1.cfg > /var/www/html/mrtg/index.html
產生出來的 index.html 在我們打開瀏覽器時,就能看到機器的狀況了。
當然,你也能改成172_16_1_1_index.html之類......

做到這裡,你有沒有覺得,好像少了什麼?
我們好像才執行一次資料擷取吧!那流量圖表不是要一直執行才能把最新的資訊給顯示出來。
沒錯,我們必須運用crontab指令,把擷取資料的動作丢給控制端SERVER定時執行。
基本上,我們要用 crontab 設定成五分鐘跑一次。五分鐘好像是官方建議的時間間隔值!照著做就是了。
指令:
*/5 * * * * /path/to/mrtg/mrtg /path/to/mrtg/mrtg.test.cfg

若是要每個小時的 2,7,12,17......57分鐘執行!
則是......
指令:
2-57/5 * * * * /path/to/mrtg/mrtg /path/to/mrtg/test.cfg

就這樣,我們完成了MRTG的初體驗,很簡單吧!

沒有留言:

搜尋此網誌

本站大事記

這個部落格(網站)內容以分享LINUX和延伸出的技術文章為主!
特別是為了工作和進修需要,搜集了不少網站連結。
希望對來這裡觀文的朋友們,有提供一些有用的資訊或文章。
但這裡的文章中,也包含個人的心情扎記和隨興言談……
若是當中沒有對上你的口味,請多包涵!

原「琳娜絲與希斯寇的邂逅」,改名為「愛上琳娜絲」!

原「琳娜絲與希斯寇的邂逅」,改名為「愛上琳娜絲」!
--原序文--
就是當LINUX遇上CISCO啦!他們的結合還能作什麼事…不就是讓這個世界的網路,串…串起來啊…不然你們那能上這網站看部落格!