2009/10/06

CentOS 5.3 MRTG 流量分析報表

MRTG 流量分析報表

  • mrtg 流量報表產生套件:mrtg-2.14.5-2 ,請自行使用 yum 安裝
  • snmpd 服務套件,請自行使用 yum 安裝
net-snmp-5.3.1-19.el5
net-snmp-libs-5.3.1-19.el5
net-snmp-utils-5.3.1-19.el5
  • 先設定 snmpd 服務,讓系統提供snmpd服務,mrtg會抓取snmpd的資料當作流量報表資訊.
[root@server153 mrtg]# vim /etc/snmp/snmpd.conf 
# 把原本的資料全部刪除貼入下面的資料,記得本來的先備份
com2sec local localhost public
com2sec mynetwork 192.168.3.0/24 public
# 將 192.168.3.0/24 改為目前所在IP網段
group MyRWGroup v1 local
group MyROGroup v1 mynetwork
group MyRWGroup v2c local
group MyROGroup v2c mynetwork
view all included .1 80
access MyROGroup "" any noauth prefix all none none
access MyRWGroup "" any noauth prefix all all all
syslocation CentOS 5.3
syscontact snmp
  • 重新啟動 snmpd
# /etc/init.d/snmpd restart
正在停止 snmpd:                                            [  確定  ]
正在啟動 snmpd:                                            [  確定  ]
  • 檢查 snmpd 服務有否啟動
# netstat -tnulp | grep 161
udp        0      0 0.0.0.0:161                 
0.0.0.0:*                               5320/snmpd
  • 使用 snmpdwalk 驗證,輸出會類似下面這樣
# snmpwalk localhost -c public -v 1 
[root@server153 snmp]# snmpwalk localhost -c public -v 1 
SNMPv2-MIB::sysDescr.0 = STRING: Linux server153.example.com
 2.6.18-128.el5xen #1 SMP Wed Dec 17 12:22:24 EST 2008 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (15359) 0:02:33.59
SNMPv2-MIB::sysContact.0 = STRING: snmp
SNMPv2-MIB::sysName.0 = STRING: server153.example.com
SNMPv2-MIB::sysLocation.0 = STRING
.....(skip)....
  • 當 snmpd 可以使用後,就讓 mrtg 程式自動去抓並產生流量報表
# 切換到 centos 預設的 mrtg 目錄 /var/www/mrtg
[root@server153 mrtg]# cd /var/www/mrtg
# 產生 mrtg.cfg 設定檔
[root@server153 mrtg]# cfgmaker public@192.168.3.153 > mrtg.cfg
# 編輯 mrtg.cfg 設定檔將 WorkDir: /var/www/mrtg 修改為這樣
[root@server153 mrtg]# vim mrtg.cfg 
WorkDir: /var/www/mrtg
# 將 mrtg.cfg 產生成為 html 網頁檔案
[root@server153 mrtg]# indexmaker mrtg.cfg > index.html
# 執行 mrtg 對 mrtg.cfg 產生檔案,因為有編碼問題所以提出警告
[root@server153 mrtg]# mrtg mrtg.cfg 
-----------------------------------------------------------------------
ERROR: Mrtg will most likely not work properly when the environment
       variable LANG is set to UTF-8. Please run mrtg in an environment
       where this is not the case. Try the following command to start:

       env LANG=C /usr/bin/mrtg mrtg.cfg 
-----------------------------------------------------------------------
# 依據提示的說明,連續執行三次即可產生所需的檔案(第一次才需要)
[root@server153 mrtg]# env LANG=C /usr/bin/mrtg mrtg.cfg
[root@server153 mrtg]# env LANG=C /usr/bin/mrtg mrtg.cfg
[root@server153 mrtg]# env LANG=C /usr/bin/mrtg mrtg.cfg
  • 寫入排程,mrtg 最小單位為 5 分鐘
[root@server153 mrtg]# crontab -e 
*/5 * * * * env LANG=C /usr/bin/mrtg /var/www/mrtg/mrtg.cfg
  • 觀看網頁,但因為 mrtg 為 /var/www/mrtg 檔案,可以使用 virtual host 設定為一個站台直接觀看即可。
  • 設定 apache vhost 網址:web.mtchang.blogdns.com 目錄:/var/www/mrtg/
# vim /etc/httpd/conf/httpd.conf


    ServerAdmin mtchang.tw@gmail.com
    DocumentRoot /var/www/mrtg/
    ServerName web.mtchang.blogdns.com


# /etc/init.d/httpd restart
  • 這樣直接觀看 web.mtchang.blogdns.com 就可以看到流量報表了
張貼留言