1、前言
利用 SNMP 協定偵測有提供 SNMP 資訊的設備利用 MRTG 畫出「網路卡流量 (進/出)」 統計圖表。文章目錄
1、前言2、實作環境
3、安裝及設定
步驟1.安裝 SNMP
步驟2.修改 SNMP 設定檔
步驟3.開機便自動啟動 SNMP 服務
步驟4.啟動 SNMP 服務
步驟5.安裝 MRTG 套件
步驟6.產生 mrtg 設定檔
步驟7.編輯 mrtg 設定檔
步驟8.產生 mrtg 圖
步驟9.啟動 MRTG
4、參考
5、Me FAQ
Q1.make install clean 無法使用?
Q2.連到 MRTG 首頁只看到 icon 卻沒看到流量表?
Q3.MRTG 版本 1.x 及版本 2.x 畫出的流量圖不一樣?
2、實作環境
FreeBSD 5.2-RELEASE- net-snmp-5.1_2
- mrtg-2.10.13,1
- net-snmp-5.3.1_3
- mrtg-2.15.2,1
3、安裝及設定
步驟1.安裝 SNMP
切換到 ports tree 下的 net-snmp 資料夾開始安裝 SNMP 吧。# cd /usr/ports/net-mgmt/net-snmp/ //切換至安裝路徑
# make install clean //安裝套件並清除暫存檔案
步驟2.修改 SNMP 設定檔
安裝完成後修改 SNMP 設定檔以符合您主機的狀況。# cd /usr/local/share/snmp //路徑
# less snmpd.conf //系統自行建立-內容如下
rocommunity mrtg //Read Only community name
syslocation Taiwan Taipei //主機所在位置
syscontact weithenn@weithenn.org //管理者email
步驟3.開機便自動啟動 SNMP 服務
設定 /etc/rc.conf 檔以便機器重開機時能自動啟動 SNMP 服務。# vi /etc/rc.conf //編輯rc.conf
snmpd_enable="YES" //開機時啟動 snmp 服務
步驟4.啟動 SNMP 服務
輸入如下指令來啟動 SNMP 服務。# /usr/local/etc/rc.d/snmpd start //啟動 snmpd
檢查 SNMP 服務是否啟動。
# sockstat |grep snmpd //檢查 snmpd 服務是否啟動
root snmpd 35552 9 tcp4 *:199 *:*
root snmpd 35552 10 udp4 *:161 *:*
步驟5.安裝 MRTG 套件
切換到 ports tree 下的 MRTG 資料夾開始安裝 MRTG 吧。# cd /usr/ports/net-mgmt/mrtg //切換至安裝路徑
# make install //安裝套件
步驟6.產生 mrtg 設定檔
安裝完成後我們切換到 mrtg 目錄下,執行 cfgmaker 指令來產生 MRTG 設定檔 (將相關 SNMP Information 匯入 mrtg.cfg 內),若不使用主機名稱 (weithenn.org) 也可使用 IP Address。# cd /usr/local/etc/mrtg //路徑
# cfgmaker mrtg@weithenn.org > mrtg.cfg //產生 mrtg 設定檔
步驟7.編輯 mrtg 設定檔
編輯我們剛才產生的 MRTG 設定檔 (mrtg.cfg)。# vi mrtg.cfg //編輯 mrtg.cfg
Language: big5 //設定語系
WorkDir: /usr/local/www/data/mrtg //MRTG 流量圖檔存放路徑
Options_: growright, bits //刪除註解符號
WithPeak_: wmy //畫出每 5 分鐘流量圖
步驟8.產生 mrtg 圖
設定完 MRTG 設定檔後,我們便可開始執行 indexmaker 來產生 MRTG 流程圖。# cd /usr/local/www/data //切換到您的 Web DocumentRoot 資料夾
# mkdir mrtg //建立 mrtg 用資料夾
# cd mrtg //切換至該資料夾內
# touch index.html //建立首頁空檔
# cd /usr/local/etc/mrtg //切換至 mrtg 設定檔目錄
# indexmaker –title 'weithenn.org MRTG'–output /usr/local/www/data/mrtg/index.html mrtg.cfg //寫入 mrtg index.html 內容
# cd /usr/ports/net-mgmt/mrtg/work/mrtg-2.15.2/images //切換至圖檔路徑
# cp * /usr/local/www/data/mrtg //複製 mrtg 圖檔
步驟9.啟動 MRTG
上面步驟指令若有正確產生流量圖後我們可以確定 MRTG 設定檔沒問題,因此可以將指令寫入排程內以便達成自動產生流量圖表。啟動 MRTG 時需要執行二、三次,直到沒有任何錯誤訊息為止。# /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg //啟動 MRTG(執行二、三次)
# crontab –e //排程執行(每五分鐘)
*/5 * * * * /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg
4、參考
- MRTG - Tobi Oetiker's MRTG - The Multi Router Traffic Grapher
- twbsd.org - 第十四章 網頁伺服器進階應用 14.5 MRTG 流量分析
5、Me FAQ
Q1.make install clean 無法使用?
Error Message:當我到 net-snmp 目錄下執行 make install clean 時卻出現如下錯誤訊息?
# cd /usr/ports/net/net-snmp ; make install clean
make: don't know how to make install . Stop
Ans:
把 /usr/ports 刪除掉再利用 CVSUP 更新一次 Port Tree 後即可,原來是 net-snmp 路徑改了,從原本的 /usr/ports/net/net-snmp --> /usr/ports/net-mgmt/net-snmp。
Q2.連到 MRTG 首頁只看到 icon 卻沒看到流量表?
Error Message:執行完 indexmaker 指令後只看到 MRTG 的 ICON 卻沒看到流量圖。
Ans:
原因為產生 MRTG 設定檔 (mrtg.cfg) 時沒有成功,以下為失敗訊息
--base: Get Device Info on mrtg@weithenn.org:
SNMP Error:
no response received
SNMPv1_Session (remote host: "weithenn.org" 61.60.59.58.161)
community: "mrtg"
request ID: -1661044999
PDU bufsize: 8000 bytes
timeout: 2s
retries: 5
backoff: 1)
at /usr/local/lib/perl5/site_perl/5.6.1/SNMP_util.pm line 621
SNMPWALK Problem for 1.3.6.1.2.1.1 on mrtg@weithenn.org::::::v4only
at /usr/local/bin/cfgmaker line 825
WARNING: Skipping mrtg@weithenn.org: as no info could be retrieved //名稱錯誤
產生 mrtg 設定檔成功訊息
--base: Get Device Info on mrtg@weithenn.iorg:
--base: Vendor Id:
--base: Populating confcache
--snpo: confcache mrtg@weithenn.org: Descr vr0 --> 1
--snpo: confcache mrtg@weithenn.org: Descr plip0 --> 2
--snpo: confcache mrtg@weithenn.org: Descr lo0 --> 3
--snpo: confcache mrtg@weithenn.org: Type 6 --> 1
--snpo: confcache mrtg@weithenn.org: Type 34 --> 2
--snpo: confcache mrtg@weithenn.org: Type 24 --> 3
--snpo: confcache mrtg@weithenn.org: Ip 127.0.0.1 --> 3
--base: Get Interface Info
--base: Walking ifIndex
--base: Walking ifType
--base: Walking ifAdminStatus
--base: Walking ifOperStatus
--base: Walking ifSpeed
Q3.MRTG 版本 1.x 及版本 2.x 畫出的流量圖不一樣?
Error Message:因為二方人馬分別都有作 MRTG ,但是畫出來的流量圖在有些關鍵點是不同的結果?
Ans:
結論為 MRTG 版本所導致!!
- MRTG v1.x: 當流量超過 100MB 時會 無法 正常畫出流量圖 (請更新至 MRTG v2.x)。
- MRTG v2.x: 當流量超過 100MB 時可正常畫出流量圖。