MRTG(multi router traffic grapher)
製作網路流量統計圖的工具
官方網站為http://www.mrtg.org
…………………………………………………………………………………………..
…………………………………………………………………………………………..
安裝mrtg前先確定有以下功能
perl (perl-5.0xx 以上)
zlib (zlib-1.1.3-xx 以上)
gd (gd-1.3.xx 以上)
libpng
apache
安裝
./configure
建議參數使用以下:
–prefix=/usr/local/mrtg
–with-gd=/usr/include
–with-gd-lib=/usr/lib
–with-gd-inc=/usr/include
–with-png=/usr/include
–with-zlib=/usr/include
make
make install
……………………
產生報表
假設:
a,以下指令在/bin目錄下
b,產生mrtg.cfg的參數檔並存在根目錄上
c,目標設備為public@address
d,apache的目錄在/var/www/html/
1新增參數檔
/bin/cfgmaker –output=/mrtg.cfg public@address
並用vi編輯參數檔mrtg.cfg內容,如下
WorkDir:/var/www/html/mrtg/
2產生報表
/bin/mrtg /mrtg.cfg
3建立索引檔
/bin/indexmaker –output=/var/www/html/mrtg/index.html /mrtg.cfg
4不斷監控
在crontab加入以下內容
*/5 * * * * root /bin/mrtg /mrtg.cfg > /dev/null 2>&1
…………………………………………………………………………………………..
…………………………………………………………………………………………..
常用指令說明
cfgmaker –output=< filepath> < name@device address> //產生參數檔,可用參數如下
< name@device address> 依據device address這個設備的name產生相關參數
< filepath> 將參數檔存在filepath
mrtg < cfg>//產生報表
< cfg> //依據cfg參數檔產生報表
ps:執行第1,2次通常會有警告訊息,第三次就不會有了,須執行到無警告訊息為止
indexmaker –output=< filepath> < cfg>//產生索引網頁
< filepath> 將索引網頁存在filepath
< cfg> //依據cfg檔產生索引網頁
……………………..
參數檔設定
全域設定
WorkDir:dirpath //設定存放報表的目錄
Refresh:sec //設定幾秒遊覽器更新一次
Language:big5 //設定語言為big5
RunAsDaemon:Yes //以daemon的方式在背景執行而不用crontab,可省資源
interval:5 //用在RunAsDaemon:Yes,則每5分鐘更新一次
區域設定
target[name]:option
//target參數所指的name,會用在產生網頁或紀錄檔的檔案,因此在所指定的工偏目錄中,不可有相同name以免影響
//option如下
port:public@address //告訢mrtg透過port偵測public@address
ex:target[127.0.0.1]:2:public@localhost
`program` //告訴mrtg執行program
ex:`/usr/local/apache/htdocs/cpustatus`
SetEnv[name]:var=”value” //可針對產生的網頁進行環境資訊的提供,var有EMAIL,HOST,URL,MRTG_INT_IP
YLegend[name]:scribe //設定y軸標簽為scribe
Legend1[name]:scribe //設定第1條曲線的說明資料為scribe,1可換成2,3,4,I,O
LegendI:in //設定說明文字,預設顯示in
LegendO:out //設定說明文字,預設顯示out
ShortLegend[name]: % //設定單位為%
Title[name]:title //設定標題為title
PageTop[name]:htmldata //加入htmldata到html網頁中
MaxBytes[_]: 1250000 //報表最大數值
Option[_]:option //可選option如下,預設為byte
bits //圖片以bits為單位
growright //圖表從右邊開始畫
avgpeak //設定平均值的計算,預設5分鐘
unknaszero //收集資料時發現值為0,則報表紀錄0,可避免設備斷線時,持續以最後一個值來代表
withzeroes //收集資料時發現值為0,則勿略,若設備斷線時,持續以最後一個值來代表
gauge //應用在資料量的顯示,且圖表的上限固定,ex:磁碟容量,cpu負載,溫度
absolute //配合gauge
nopercent //不顯示百分比的資訊
WithPeak[]: dwmy //用最大值記錄,預設是平均值
kilo[]: 1024 //改變單位換算方式,預設值1000
…………………………………………………………………………………………..
ps:若有動態ip,則需將SetEnv[name]內的MRTG_INT_IP的ip改為網域
否則會感應不到此動態ip的界面
ex:
原本SetEnv[127.0.0.1_1]: MRTG_INT_IP=”116.59.118.34″
改成SetEnv[127.0.0.1_1]: MRTG_INT_IP=”domains”
domains可用ddns
…………………………………………………
windows下的設定
1利用cfgmaker指令產生組態檔mrtg.cfg
perl cfgmaker public@address –output mrtg.cfg
ps:
組態檔產生後要編輯mrtg.cfg
規則同linux參數檔設定
2
根據組態檔利用mrtg指令建立檔案
perl mrtg mrtg.cfg
3
要求mrtg定期畫流量
start /D < mrtg directory >bin wperl mrtg –logging=eventlog < cfg >
ex:
start /D D:mrtg-2.16.3bin wperl mrtg –logging=eventlog mrtg.cfg