2007年3月28日 星期三

MRTG分析圖(一) 網路流量


MRTG 圖表制作軟體 (一)



給 MRTG 兩個數值 , 它便可以畫出如上圖所示的圖表 ,
並用不同的表示法來表示這兩個數值 .


部分 Linux distribution 有內置 MRTG 這套軟體 ,
預設是用來分析網路進出流量 , 也可自行加入分析如 CPU , Mem , Disk 等的使用狀況 .


用公司一台跑了好幾年的 Samba Server 來玩 ,
雖是 Red Hat Linux release 7.2 (Enigma) , 版本很舊了 ,
但 MRTG 部份的設定跟較新版本的 Linux 上的 mrtg 應該差沒多少 .
其它不一樣的部分 , 就依各發行版的設定法設定囉 !

MRTG 是一個製圖軟體 ,
只要給兩個數值及一些簡單資訊 , 便可以畫出圖表 ,
而這個兩個數值及額外資訊 , 可從 SNMP (Simple Network Management Protocol) 取得 ,
也可以從 "指令" , "Shell Scripts" , "文檔" ......... 等方式取得 .



製作網路流量圖 : 

預設 mrtg 是透過 snmp 服務來取得網路封包進與出的流量值 ,
所以必須先正確啟動 snmp 服務 ,
檢查 snmp 及 mrtg 套件是否有安裝 .













 snmp 設定如下圖 :










啟動 snmp 服務 :
service  snmp  start
設定為開機要啟動 :
chkconfig --level 3 snmpd on


再來就是設定 MRTG 了 ,
其實只要稍為修改一下設定檔內預設的設定即可 .(參考如下圖)











其中
WorkDir 是說 mrtg 要用的一些相關檔案在哪個資料夾

Target[eth0]: 2:public@192.168.0.3 製圖的兩個數值及資訊是用 public 這個 snmp 使用者 , 登入 192.168.0.3 這台電腦的 snmp 服務來取得 .

MaxBytes[eth0]: 1250000 告知這兩個數值的最大值 .
(1250000 這個值哪裡來的 ? 後面是 MRTG 官網的說明 : Since most links are rated in bits per second, you need to divide their maximum bandwidth (in bits) by eight (8) in order to get bytes per second. This is very important to make your unscaled graphs display realistic information. T1 = 193000, 56K = 7000, 10 MB Ethernet = 1250000, 100 MB Ethernet = 12500000. The MaxBytes value will be used by mrtg to decide whether it got a valid response from the router. )

Title[eth0]: Traffic Analysis 圖表製作出來後 , 是用網頁的方式呈現 , 介時 , Traffic Analysis 便是這個網頁的 Title . 可自行修改 .

PageTop[eth0]: <h1>Stats for our Ethernet</h1>這裡是網頁最上方的一行字 , 可以自行修改 .




設定檔設好後 , 就要利用這個設定檔來產生圖表網頁了 ,
執行  mrtg  mrtg.cfg 三次 , 如下圖 :



完成後 , 用網頁瀏覽器瀏覽 http : //192.168.0.3/mrtg/eth0.html 即可看到圖表的畫面了 .
共製作了四張圖 , 分別是

"每天"



"每週"















"每月"


"每年"
















怎麼後面的三張圖沒有數值 ???
因為我們給 MRTG 的數值是目前的數值 , 才執行幾分鐘而已 , 它算不出後三張圖的值 .
等一段時間後 , 它們會一一被算出 .

一段時間後 , 它們會一一自動被算出 ???
也不是自動啦 !
是利用 Linux 的系統排程這個程序 , 幫我們讓 MRTG 每五分鐘記錄一次數值 .
在 RedHat 7.2 中 , MRTG 預設在系統排程中 , 加入 mrtg 排程 .



 




其它的 Linux distribution 可能預設不是放在這個檔內 ,
請自行至 crond 套件的相關檔案中查找 , 找不到的話 , 自己做也可以 .
反正就是利用 Linux 系統排程 , 讓它每五分鐘執行 mrtg  mrtg.cfg 一次 .









怎麼有些網站的流量圖網頁是只有一張圖 , 然後在圖上按一下 , 才會切換到四張圖的這個頁面 ?
而且瀏覽器只要指向 http : //FQDN/mrtg/ 即可 , 而我上面這種做法卻必須指到 eth0.html 頁面才行 ?
上面的範例 , 瀏覽器若指向 http : //192.168.0.3/mrtg/ , 會說找不到網頁 !?



可以在 mrtg 的網頁資料夾內 , 自行做一個 index.html 的網頁 ...........................
懶得做 ???
沒關係 !
MRTG 套件有提供一個程序 , 利用 mrtg.cfg 內容 , 幫我們生成 index.html 這個檔 .





 



從此 , 輸入 http : //192.168.0.3/mrtg/ 就可以看到圖表囉 !






























相關資料 :
MRTG 官網
鳥哥的 Linux 私房菜 -- MRTG 流量偵測法
小紅帽技術論壇 - 《教學》輕鬆學習MRTG








沒有留言: