使用 MRTG 搭配 Net-SNMP 監測系統網路流量
跳至導覽
跳至搜尋
作者:Joe Horn( joehorn AT leobbs DOT net )
授權:[CC授權:姓名標示-非商業性-相同方式分享 2.5]
附註:安裝步驟適用於 FreeBSD 平台,其它 UNIX-Like OS 可能有所不同。
使用軟體:
前言
可能有許多人跟我一樣,負責維護的主機幾乎不在身邊,所有控管的動作幾乎都從遠端進行。
在主機上安裝 MRTG 與 Net-SNMP 可以讓我們由網頁就可以監測主機的網路流量,增加主機的安全性,例如:主機被入侵後拿來當作攻擊的跳板。
安裝
使用 ports 來安裝 Net-SNMP
# cd /usr/ports/net-mgmt/net-snmp # make install clean
使用 ports 來安裝 MRTG
# cd /usr/ports/net-mgmt/mrtg # make install clean
設定與啟動 Net-SNMP
設定 Net-SNMP
設定 community 名稱,請在 /usr/local/share/snmp 下面建立一個名為 snmpd.conf 的檔案,加入以下這行:
rocommunity [您想要的community名稱]
修改 /etc/rc.conf ,加入以下這行:
snmpd_enable="YES"
啟動 Net-SNMP
輸入以下指令來啟動 SNMP 監控 daemon :
# /usr/local/etc/rc.d/snmpd.sh 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/mrtg # cp * [MRTG產生流量圖表之網頁所在目錄]
- 後面的那個目錄就是您在設定 WorkDir 所用的目錄,請先確定該目錄是否存在。
用 indexmaker 初始化網頁:
# /usr/local/bin/indexmaker --title=xxx主機網路流量圖表 --rrdviewer='.' --output=[MRTG產生流量圖表之網頁絕對位置] /usr/local/bin/mrtg.cfg
- xxxx主機網路流量圖表為該網頁之標題,請自行衡量情況作修改。
測試 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