Linux上裝MRTG

回覆文章
布魯斯
Site Admin
文章: 211
註冊時間: 週四 2月 16, 2006 3:34 pm

Linux上裝MRTG

文章 布魯斯 »

作業系統:RedHat9

MRTG 為使用 Perl 程式寫成的,並且使用到 zlib 、 gd 及 png 的函式庫(zlib 用來壓縮圖表、gd 用來繪製圖表),且由於 MRTG 乃使用 SNMP 協定,並且最後是以 HTTP 的網頁型態輸出成圖表,因此,你需要確定 Linux 主機中已經含有下列的套件:
perl (perl-5.0xx 以上)
zlib (zlib-1.1.3-xx 以上)
gd (gd-1.3.xx 以上)
libpng
apache
可以用rpm -qa | grep xxx來檢查

安裝設定snmp:
之前叫做ucd-snmp...在RH9改叫 net-snmp了

代碼: 選擇全部


# rpm -qa|grep snmp 
net-snmp-devel-5.0.6-17 
net-snmp-5.0.6-17 
net-snmp-utils-5.0.6-17 
如果沒有安裝,可以在RH9安裝片第二片中找到rpm檔安裝,
安裝完打開/etc/snmp/snmp.conf,修改下列部分紅色內容:

代碼: 選擇全部


# -------------------------------------------------- 

# Here is a commented out example configuration that allows less 
# restrictive access. 

# YOU SHOULD CHANGE THE "COMMUNITY" TOKEN BELOW TO A NEW KEYWORD ONLY 
# KNOWN AT YOUR SITE.  YOU *MUST* CHANGE THE NETWORK TOKEN BELOW TO 
# SOMETHING REFLECTING YOUR LOCAL NETWORK ADDRESS SPACE. 

##       sec.name  source          community 
com2sec local     localhost       netadmin 
com2sec mynetwork 192.168.20.0/24 netadmin 
# 註﹕請將 192.168.100.0/24 改為您機器目前所在的 network 範圍。 
##     group.name sec.model  sec.name 
group MyRWGroup  v1        local 
group MyROGroup  v1        mynetwork 
# 
#group MyRWGroup  any        otherv3user 
#... 

##           incl/excl subtree                          mask 
view all    included  .1                               80 

## -or just the mib2 tree- 

#view mib2   included  .iso.org.dod.internet.mgmt.mib-2 fc 

##                context sec.model sec.level prefix read   write  notif 
access MyROGroup ""      any       noauth    prefix      all    none   none 
access MyRWGroup ""      any       noauth    prefix      all    all    all  
存檔後,啟動snmpd,/etc/rc.d/init.d/snmpd start

安裝MRTG:
http://www.ee.ethz.ch/~oetiker/webtools/mrtg/
下載source檔,

代碼: 選擇全部


[root @www /root]# cd /usr/local/src 
[root @www src]# cp /root/mrtg-2.10.15.tar.gz 
[root @www src]# tar -zxvf mrtg-2.10.15.tar.gz 
[root @www src]# cd mrtg-2.10.15 
[root @www mrtg-2.10.15]# ./configure  --prefix=/usr/local/mrtg-2  \ 
> --with-gd=/usr/include  \ 
> --with-gd-lib=/usr/lib  \ 
> --with-gd-inc=/usr/include  \ 
> --with-png=/usr/include  \ 
> --with-zlib=/usr/include 
[root @www mrtg-2.10.15]# make; make install 
產生 mrtg.cfg 檔﹕

代碼: 選擇全部


[root @www mrtg-2.10.15]# cd /usr/local/mrtg-2/bin 
[root @www bin]# ./cfgmaker --output=/usr/local/apache/htdocs/mrtg/net/mrtg.cfg  \ 
> --global 'Language: big5' \ 
> --global 'Options[_]: bits,growright' \ 
> --output /etc/mrtg/mrtg.cfg \ 
> netadmin@192.168.0.1 
#@後面為該機器之IP 
[root @www bin]# ./mrtg  /usr/local/apache/htdocs/mrtg/net/mrtg.cfg 
#連續執行 3 次 
若執行 mrtg /etc/mrtg/mrtg.cfg 碰到如下錯誤:
Malformed UTF-8 character (unexpected end of string) at /usr/bin/../lib/mrtg2/locales_mrtg.pm line 614.
那可能是 locale 的關係,可先執行 export LANG=C 再重跑 mrtg 命令。

產生index.html

代碼: 選擇全部


[root@www bin]# ./indexmaker mrtg.cfg \ 
> --output=/usr/local/apache/htdocs/mrtg/net/index.html \ 
> --title=主機流量統計表 \  
> /usr/local/apache/htdocs/mrtg/net/mrtg.cfg 

設定排程,設定五分鐘偵測一次:

代碼: 選擇全部


[root @www bin]# vi /etc/crontab 
#1. Runing The MRTG Net Flow Control 
*/5 * * * * root /usr/local/mrtg-2/bin/mrtg /usr/local/apache/htdocs/mrtg/net/mrtg.cfg > /dev/null 2>&1 
參考資料:
http://linux.vbird.org/linux_security/old/04mrtg.php
http://www.study-area.org/tips/mrtg.htm
http://www.adj.idv.tw/phpBB2/viewtopic.php?t=960
回覆文章