Mrtg流量監控
MRTG 流量分析
我們除了可以使用 Webalizer 來了解網頁內容的使用情形外,網站管理者還必須知道目前網站頻寬是否足夠。如果您想要知道網站流量的使用情形,我們可以安裝 MRTG 這套軟件經由網頁來監看網絡流量。MRTG 會去收取 SNMP (Simple Network Management Protocol) 所產生的數據,因此所要記錄的機器必須要安裝 SNMP。在你的主機上安裝 MRTG 后,你不僅可以收集自己的流量數據,也可以收集局域網絡上其它可以接收到的 SNMP 數據。
安裝 SNMP
在安裝 MRTG 之前,我們先使用 ports 來安裝 SNMP:
- # cd /usr/ports/net-mgmt/net-snmp
- # make install clean
安裝完成后,我們必須要先新增一個可以讀取 SNMP 信息的 community name。所謂的 community name 是一個明碼的字符串,我們可以將它視為 management station 和 agent 之間的密碼,是 MRTG 和 net-SNMP 溝通時必須要先傳送的字符串。我們可以依不同的網域或主機給予不同的權限,依 community name 的設定來決定不同權限。
一個網絡組件可以有多個 community name,一般 SNMP Agent 所預設公開的 community name 是 public。我們不一定要將 community name 設定為 public,因為 public 是一般 SNMP 的默認值,為了安全的問題,我們不將它設為 public。這里我們將設定 community name 為 mrtg,而且只有 read only 的權限。
要設定 community name 請先新增一個文字文件 /usr/local/share/snmp/snmpd.conf 并加入下列設定:
- rocommunity mrtg
- syslocation Office
- syscontact
上述設定中,mrtg 為只讀的 community name,Office 是您機器所在位置,而 syscontact 所接的字符串是您的 Eamil。另外,我們還必須在 /etc/rc.conf 中加入下列這一行:
- snmpd_enable="YES"
接著,請使用下列指令啟動 SNMP:
- # /usr/local/etc/rc.d/snmpd.sh start
安裝 MRTG
我們使用 ports 來安裝 MRTG:
- # cd /usr/ports/net-mgmt/mrtg
- # make install
接著要產生 MRTG 的設定檔
- # cd /usr/local/etc/mrtg
- # rehash
- # cfgmaker
- >mrtg.cfg
這里的 mrtg 是我們在安裝 net-snmp 時所設定的值。如果你使用錯的 community name,你可能會從要記錄的設備上得到錯誤響應。而 alexwang.com 是你所要記錄的主機位置。mrtg.cfg 就是所要產生的設定檔名。
如果您想要記錄多個主機,只要在 cfgmaker 時多加入主機名稱即可,例如:
- # cfgmaker
- >mrtg.cfg
這樣就會同時記錄上面二臺主機的流量了。
產生基本的設定檔后,我們可以再編輯剛才產生的設定檔 ee mrtg.cfg,在檔案開頭的部份加入一些客制化的設定:
# 如果要使用中文的 MRTG 則加入下面這一行
- Language: big5
# 設定你的 MRTG 要放在哪個目錄,應該要放在網頁可以
# 連結到的地方,我的網頁根目錄是 /home/www,所以我將
# MRTG 放在下面的目錄。
- WorkDIR:/home/www/mrtg
# 預設的 MRTG 所產生的圖時間是由右到左
# 我喜歡由左到右,故加入下面這一行
- Options[_]: growright
接著請建立一個你在 mrtg.cfg 中設定的 WorkDIR 的目錄:
- # mkdir /home/www/mrtg
然后使用指令 indexmaker 來建立 MRTG 的首頁:
- # indexmaker -title '流量統計' -output /home/www/mrtg/index.html mrtg.cfg
這里的參數 -title 是該 index.html 檔的 title,而 -output 就是要輸出的檔案位置,預設是stdio(通常指的是屏幕) 。
輸出的檔案 index.html 你也可以使用其它的網頁編輯軟件再去修改美化它。接下來要將 MRTG 的一些圖片文件復制到 mrtg 的目錄里:
- # cd /usr/ports/net-mgmt/mrtg/work/mrtg*
- # cd images
- # cp * /home/www/mrtg/
最后執行 MRTG:
- # /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg
第一次執行上面的指令可能會有一些錯誤訊息,不要理它,因為是第一次執行 mrtg,所沒有一些舊的圖,只要再多執行幾次就好了。沒問題之后,使用指令 crontab -e 來讓上述指令每 5 分鐘執行一次,加入下面這一行:
- */5 * * * * /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg
最后別忘了移除安裝過程的暫存檔:
- # cd /usr/ports/net/mrtg/
- # make clean
Mrtg流量監控配置完成了!
【編輯推薦】