使用 MRTG 搭配 BSNMP 監測系統網路流量

出自啟示錄
於 2010年1月10日 (日) 04:46 由 114.37.175.138留言 所做的修訂 →‎建立網頁與所需資料
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
跳至導覽 跳至搜尋

作者:Joe Horn( joehorn AT leobbs DOT net )

授權:[CC授權:姓名標示-非商業性-相同方式分享 2.5]

附註:安裝步驟適用於 FreeBSD 平台,其它 UNIX-Like OS 可能有所不同。


使用軟體:


安裝

使用 ports 來安裝 MRTG

# cd /usr/ports/net-mgmt/mrtg
# make install clean

設定與啟動 BSNMP

設定 BSNMP

設定機器相關資訊與 community 名稱,請以編輯器開啟 /etc/snmpd.config,修改以下這幾行:

host := foobar

此為主機稱呼,請隨意(部份 FreeBSD 版本已經拿掉這個設定,如果沒看到就可以跳過)。 :p

location := "Room 200"

此為主機放置位置,改不改隨您高興囉。 :)

contact := "[email protected]"

此為聯絡資訊,可以留空字串。 XD

read := "public"
write := "geheim"
trap := "mytrap"

以上這些分別是讀、寫與 snmptrap 的 community 名稱,請一定要改掉。

接下來,請修改 /etc/rc.conf ,加入以下這行:

bsnmpd_enable="YES"

啟動 BSNMP

輸入以下指令來啟動 BSNMP 監控 daemon :

# /etc/rc.d/bsnmpd start

設定 MRTG

建立設定檔

用 cfgmaker 指令來抓取 SNMP 之設定資料:

# /usr/local/bin/cfgmaker [您剛剛設定的讀取用 community 名稱]@[欲監測之主機 IP/DN] > /usr/local/bin/mrtg.cfg

修改設定檔

修改 mrtg.cfg 內的資料,用編輯器開啟 /usr/local/bin/mrtg.cfg 並衡量情況修改成以下資料:

WorkDir: /usr/local/apache/htdocs/mrtg
  • WorkDir 前面的 # 請拿掉,後面的絕對目錄指的是您的網頁放置目錄,請依照各主機之情況自行設定。

請將這行前面的 # 拿掉:

# Options[_]: growright, bits

並在下面加進這行:

Language: big5

也就是變成這樣:

#  to get bits instead of bytes and graphs growing to the right
Options[_]: growright, bits
Language: big5

建立網頁與所需資料

複製網頁所需圖檔:

# cd /usr/local/share/examples/mrtg/images
# cp * [MRTG產生流量圖表之網頁所在目錄]
  • 後面的那個目錄就是您在設定 WorkDir 所用的目錄,請先確定該目錄是否存在。

用 indexmaker 初始化網頁:

# /usr/local/bin/indexmaker --title=xxx主機網路流量圖表 --rrdviewer='.' --output=[MRTG產生流量圖表之網頁絕對位置] /usr/local/bin/mrtg.cfg
  • xxxx主機網路流量圖表為該網頁之標題,請自行衡量情況作修改,例如:
    • # /usr/local/bin/indexmaker --title=mail主機網路流量圖表 --rrdviewer='.' --output=/usr/local/www/MRTG/index.htm /usr/local/bin/mrtg.cfg

測試 MRTG

測試 MRTG 是否工作正常:

# /usr/local/bin/mrtg /usr/local/bin/mrtg.cfg

重複執行三次後,打開瀏覽器觀看產生之網頁是否正常。

正式執行

MRTG 需要依靠定時的指令執行才會更新資料。

請以讓系統每五分鐘執行以下指令:

/usr/local/bin/mrtg /usr/local/bin/mrtg.cfg
  • 例如:
*/5 * * * * /usr/local/bin/mrtg /usr/local/bin/mrtg.cfg > /dev/null 2>&1