201402171413[CentOS] 安裝網路流量圖 MRTG

 MRTG(Multi Router Traffic Grapher)是一套以 SNMP 協定取得主機或網路設備的流量或資訊,然後以曲線圖的方式呈現。

好~這套軟體已經十多年,也不太需要我多做介紹,所以底下僅就安裝步驟指令說明。

 

# 安裝 MRTG 所需要之套件
sudo yum -y  install  perl gd libpng zlib mrtg httpd net-snmp net-snmp-utils

# 設定 SNMP 的設定檔
sudo vi /etc/snmp/snmpd.conf
>增加底下這兩行在 snmpd.conf 裡,分別為(ifInOctets、ifOutOctets)參考
      view systemview included .1.3.6.1.2.1.2.2.1.10
      view systemview included .1.3.6.1.2.1.2.2.1.16

# 重新啟動 snmpd 
sudo service snmpd restart

# 修改 mrtg.cfg,增加要利用 snmp 讀取的裝置,底下的例子為監測本機網路介面
sudo vi /etc/mrtg/mrtg.cfg
> 增加本機網路監測,在 public@ 前面的那個2,代表是第幾張網路卡,可以用指令「ip link」去觀察
     Target[eth0]: 2:public@127.0.0.1
     MaxBytes[eth0]: 1250000
     Title[eth0]: Traffic Analysis
     PageTop[eth0]: <H1>127.0.0.1 eth0</H1>

# 執行 mrtg 去讀取 mrtg.cfg。注意:這行指令初始安裝需要執行 3 次
sudo env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg

#直接切換為  root 是因為 底下指令是用導向輸出 > ,單純用 sudo 會導致檔案輸出會權限不足
sudo su

# 利用 indexmaker 產出 index.html 檔案
indexmaker /etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html

# 設定每五分鐘跑一次上一個指令
vi  /etc/crontab
> 增加底下一行
*/5 * * * * root env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg  > /dev/null 2>&1 

# 重新啟動 apache
service httpd restart

 

------------------------------------------------------------------------------

基本上做完上述的動作,你就可以利用 http://your_domain或ip/mrtg  來查看了

不過你可能會遇到底下幾個問題

Q1:Apache 的  DocumentRoot 路徑錯誤?
A:預設 Apache 安裝的 Web DocumentRoot 為 /var/www/html ,而 mrtg.cfg 裡預設的路徑為 /var/www ,就請修改其中一個,並重新啟動 httpd (sudo service httpd restart)

Q2:瀏覽 MRTG 網頁出現 Forbidden. You don't have permission to access /mrtg/ on this server.

原因一:安裝 MRTG 套件後,其 web 相關設定會新增到 /etc/httpd/conf.d/mrtg.conf ,而這個檔案預設只允許 127.0.0.1 本機瀏覽,如果非本機瀏覽,或要允許那個IP也可以瀏覽,則新增一行「Allow from 140.113.1.1」,左邊的 140.113.1.1 當然要換成你的管理IP囉。

原因二:selinux 造成的目錄權限不足

如果你的 MRTG 是用套件的方式安裝,則不會有這個問題,手動 make 則可能會遇到,你只需要修改 selinux 就可以了。修改方式

sudo setsebool -P httpd_enable_homedirs=1
sudo restorecon -Rv /var/www/mrtg 

 

------------------------------------------------------------------------------

 

那如何增加網路設備進來觀察呢?

cfgmaker communityro@ip_address > Device_Name.cfg
# 修改 WorkDir ,建議設定有 for WIN 跟 UNIX ,但預設都是拿掉的,所以執行會出錯,要先把 WorkDir 設定好,像我在 CentOS 就需要增加 WorkDir: /var/www/mrtg
vi Device_Name.cfg
env LANG=C /usr/bin/mrtg Device_Name.cfg
env LANG=C /usr/bin/mrtg Device_Name.cfg
env LANG=C /usr/bin/mrtg Device_Name.cfg
indexmaker /etc/mrtg/Device_Name.cfg > /var/www/mrtg/Device_Name.html
vi /etc/crontab
   */5 * * * * root env LANG=C /usr/bin/mrtg /etc/mrtg/Device_Name.cfg  > /dev/null 2>&1

瀏覽器 http://your_ip/mrtg/Device_Name.html

-------

想看台灣學術網路的流量嗎?就到這來看吧 http://mrtg.twaren.net/mrtg/ 

 

Reference:

http://oss.oetiker.ch/mrtg/
http://forum.icst.org.tw/phpbb/viewtopic.php?t=17991
 

~End

回應
關鍵字
Google Search
Google
累積 | 今日
loading......
平均分數:0 顆星
投票人數:0
我要評分:
Google