在FreeBSD 7下,有bsnmpd可以使用,不用另外安裝snmpd

編輯/etc/rc.conf,加入以下這行使得開機時自動啟動bsnmpd
bsnmpd_enable="YES"

不過如果要利用SNMP讀取CPU/Memory的資訊
要另外安裝bsnmp-ucd這個port來取得UCD-SNMP-MIB.txt
# cd /usr/ports/net-mgmt/bsnmp-ucd
# make install

// 先不用make clean,稍後需要用到一個檔案
安裝此port之後該MIB檔案會放在這裡
/usr/local/share/snmp/mibs/UCD-SNMP-MIB.txt

使用host resources
編輯/etc/snmpd.config
把這行開頭的#拿掉(原本是comment)
begemotSnmpdModulePath."hostres" = "/usr/lib/snmp_hostres.so"

把新的設定加進config檔中
# cat /usr/ports/net-mgmt/bsnmp-ucd/work/bsnmp-ucd-0.2.1/snmpd.config.sample >> /etc/snmpd.config
這樣就會在/etc/snmpd.config中看到bsnmpd-ucd這個port提供的sample
// 根據實際的系統設定作修改,例如我是把/usr/local/etc/rc.d/apache改成/usr/local/etc/rc.d/apache22

最後,手動啟動bsnmpd
# /etc/rc.d/bsnmpd start

安裝MRTG
# cd /usr/port/net-mgmt/mrtg
# make install clean


建立放置MRTG資料的資料夾
# mkdir /home/www/mrtg
// 我在Apache設定的DocumentRoot是/home/www

建立設定檔
# cfgmaker public@localhost > /usr/local/etc/mrtg/mrtg.cfg

編輯剛剛建立的設定檔,加上一些設定
# MRTG的預設工作目錄
WorkDir[_]: /home/www/mrtg
# 全域選項
Options[_]: growright
# 每週、每月、每年統計
WithPeak[_]: wmy
# 不使用IPv6
EnableIPv6: no
# 讓MRTG以Daemon的方式跑,間隔五分鐘,300秒Refresh
RunAsDaemon:Yes
Interval:5
Refresh:300


根據剛剛編輯的mrtg.cfg檔案建立網頁
# indexmaker --title 'MRTG' --output /home/www/mrtg/index.htm /usr/local/etc/mrtg/mrtg.cfg

啟動MRTG
mrtg /usr/local/etc/mrtg/mrtg.cfg
因為mrtg.cfg裡面有設定RunAsDaemon
所以他會以常駐的方式跑這個設定檔而不需要另外在crontab裡面設定

連到http://你的網址/mrtg/index.htm就可以觀看結果

如果要觀看CPU跟Memory資訊
建立cpu.cfg
LoadMIBs: /usr/local/share/snmp/mibs/UCD-SNMP-MIB.txt
Target[cpu]: ssCpuRawUser.0&ssCpuRawSystem.0:public@localhost
# User的cpu使用率 & System的cpu使用率

以及memory.cfg
LoadMIBs: /usr/local/share/snmp/mibs/UCD-SNMP-MIB.txt
Target[memory]: memAvailReal.0&memAvailSwap.0:public@localhost
# 可使用的Physical Memory & 可使用的Swap


其餘詳細設定請參考MRTG官方文件MRTG configuration reference

設定完之後分別將兩份設定檔跑起來
# mrtg /usr/local/etc/mrtg/cpu.cfg
# mrtg /usr/local/etc/mrtg/memory.cfg

因為MRTG是以Daemon方式執行,因此上述兩道指令會產生兩個mrtg process

然後建立html檔案
# indexmaker --title 'MRTG-CPU' --output /home/www/mrtg/cpu.htm /usr/local/etc/mrtg/cpu.cfg
# indexmaker --title 'MRTG-MEMORY' --output /home/www/mrtg/memory.htm /usr/local/etc/mrtg/memory.cfg
這樣就可以在
http://你的網址/mrtg/cpu.htm
http://你的網址/mrtg/memory.htm
分別看到CPU以及Memory的狀況

如果要跟網路狀況放在同一頁的話請自行編輯HTML檔案

開機時啟動:
請在/etc/rc.conf裡面加上
mrtg_daemon_enable="YES"
在/etc/rc.local裡面加上
/usr/bin/env LANG=C /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg
/usr/bin/env LANG=C /usr/local/bin/mrtg /usr/local/etc/mrtg/cpu.cfg
/usr/bin/env LANG=C /usr/local/bin/mrtg /usr/local/etc/mrtg/memory.cfg



參考資料:
MRTG首頁
The FreeBSD Forums - Setting up MRTG on FreeBSD
arrow
arrow
    全站熱搜

    ljhuang 發表在 痞客邦 留言(0) 人氣()