歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux管理 >> Linux維護 >> UNIX/LINUX中使用MRTG自動畫虛擬主機流量圖

UNIX/LINUX中使用MRTG自動畫虛擬主機流量圖

日期:2017/3/2 10:45:49   编辑:Linux維護

  cd /usr/ports/net/mrtg

  make install默認情況下即可正常安裝,不需要其他配置。

  二、安裝APACHE 2.0.48

  我計劃把配置文件放到/usr/local/etc目錄裡面。

  cd /usr/ports/www/apache2

  make WITH_SUEXEC=yes install

  在這裡安裝APACHE 2 有多種方式,我們可以使用:

  make show-options 顯示安裝時的可選項

  make show-modules 顯示需要安裝的模塊

  當然,安裝時可以選擇的余地很大的,如果你需要特別提升APACHE 2 的性能,可以選擇不同的安裝選項試一下,我曾經連續花了一天時間安裝了十幾次APACHE 2,以測試不同選項搭配後的效果,>_<

  聽著硬盤“嘩啦嘩啦”一陣狂響後,系統會提示你安裝成功。

  三、安裝MOD_WATCH

  首先說明,因為apache 和1.X和2.X,那麼我們的mod_watch模塊也有mod_watch和mod_watch4兩種,前一種對應apache 1.X,後一種對應apache 2.X。因為我是安裝的APACHE 2.X,故應該安裝mod_watch4。如果你是APACHE 1.X,請直接更改一下即可使用。

cd /usr/ports/www/mod_watch4
make install
安裝成功後,接下來是最重要的配置工作,就是要怎麼才能讓系統認得APACHE 2的流量,並且畫出我們的實時流量,請接著看:

  現在我們修改一下httpd.conf文件

  

vi /usr/local/etc/apache2/httpd.conf
加入

  

<IfModule mod_watch.c>
# Allows the URL used to query virtual host data:
#
# http://www.snert.com/watch-info
#
<Location /watch-info>
SetHandler watch-info
</Location>
# Intended for debugging and analysis of shared memory
# hash table and weenie files:
#
# http://www.snert.com/watch-table
#
<Location /watch-table>
SetHandler watch-table
</Location>
# 注意,為了安全,請關閉watch-table選項,或者加以IP限制,以免別人查看你SERVER所放的站點資源,引起不必要的麻煩。
Order deny,allow
Deny from all
Allow from 127.0.0.1
</IfModule>
你可以把127.0.0.1換成其他你信任的IP或者IP段,域名等~

  設置完成後,請使用

  

/usr/local/sbin/apachectl configtest
檢查httpd.conf文件是否有錯

  如果顯示系統正常,再使用下面的命令重新啟動apache

  

/usr/local/sbin/apachectl restart
上面的配置成功後,你就可以從某個虛擬主機的watch-info文件讀出某些數據了,比如我的:

  http://freebsd.onlinecq.com/watch-info

  freebsd.onlinecq.com 2 760 858 2 1 1 0.000 675269920 3217025432

  這些數據就是供MRTG畫流量圖的,以達到實時監控的目的!

  OK,請在httpd.conf文件裡面配置好虛擬主機,然後用下面的命令生成相應的文件:

  

apache2mrtg.pl /usr/local/etc/apache2/httpd.conf
屏幕顯示如下:

  

freebsd# apache2mrtg.pl /usr/local/etc/apache2/httpd.conf
Title[freebsd.onlinecq.com]: freebsd.onlinecq.com Data Traffic
Target[freebsd.onlinecq.com]: `/usr/local/sbin/mod_watch.pl http://freebsd. onlinecq.com/watch-info`
MaxBytes[freebsd. onlinecq.com]: 1250000
PageTop[freebsd. onlinecq.com]: <h2><a href="http://freebsd. onlinecq.com/">freebsd. onlinecq.com</a> Data Traffic</h2>
把上面Title開始的一段信息,拷貝一下,待用。注意,這裡每個虛擬主機將會顯示一段,如果你的虛擬主機多,將會顯示很多,一大堆信息出來,不過都請大家都復制下來待用,除非你不想生成某個虛擬主機的流量圖。

  這樣子系統是無法生成流量圖的,因為它不符合MRTG的語法,我們需要在這文件裡面加入一些東東才可以的。

  

vi /usr/local/etc/apache2/mod_watch.cfg
WorkDir:/home/onlinecq.com/mrtg/
Options[_]: growright,bits
#Language: gb2312
#Title[^]: Traffic Analysis for
PageTop[^]: <H1>Traffic Stats for OnlineCQ.COM User</H1><HR>
#PageTop[$]: Contact QQ: 151482576<HR>
PageFoot[^]: OnlineCQ.COM MSN: [email protected] QQ:151482576
(然後再貼上前面通過apache2mrtg.pl顯示的那一段話)

  使用:wq存盤退出,這樣子就會在/usr/local/etc/apache2目錄裡面產生一個mod_watch.cfg文件,備用!

  接下來,我們要注意一點,就是mod_watch.cfg裡面的

  

WorkDir:/home/onlinecq.com/mrtg/
這個目錄一定要存在,並且要能通過網站訪問的,一般放到自己官方網頁上面,呵呵~

  看起來差不多了哦,我們試一下,請用下面命令生成MRTG的流量圖:

  

mrtg /usr/local/etc/apache2/mod_watch.cfg
我的主機上面首次執行後,將會顯示幾行錯誤,不理它,多執行幾次即可! 錯誤提示的意思大概是,找不到某某文件,因為這些文件是舊文件,需要系統生成的。大概執行2-3次後,即不會報錯啦~

  到此為止,你就可以成功得到流量圖了,同時,在/home/onlinecq.com/mrtg目錄裡面會產生很多png圖片和html文件和網址的,這些都是每一個虛擬主機的流量圖,千萬不要刪除了哦,*^_^*

  請這樣子訪問你的虛擬主機的流量圖:

  http://www.yourdomain.com/mrtg/虛擬主機域名.html

  比如我要訪問我的站的MRTG流量圖,就是這樣子:

  http://www.onlinecq.com/mrtg/www.onlinecq.com.html

  四﹑做整機流量圖索引

  如果你的虛擬主機很多,你又想一下子看完所有用戶的流量圖,你可以這樣子來做一個MRTG流量圖索引

  

/usr/local/bin/indexmaker --title=”nlineCQ.COM BANDWIDTH MRTG TATOL" --output=/home/onlinecq.com/index.html /usr/local/etc/apache2/mod_watch.cfg
這樣子在/home/onlinecq.com/mrtg目錄裡面就會生成index.html的流量圖了,裡面將會有所有用戶的流量圖!

  五﹑排程更新MRTG流量圖

  如果不做這一步,我們只有手工更新流量圖啦,呵呵~

  要排程更新的話,也比較簡單的,就是把相關命令加到crontab裡面即可:

  

vi /etc/crontab
*/5 * * * * root /usr/local/bin/mrtg /usr/local/etc/apache2/mod_watch.cfg
用:wq存盤退出,這樣子每5分鐘將會執行流量圖的更新工作,當時,如果你要求比較高的話,可以讓它每分鐘都執行,不過注意,更新流量圖時,會占用一些系統資源的,>_< 。還是適可而止吧~

  六、結束語

  至此為止,可以投入商業使用的MRTG實時流量圖就建立起來了,您可以reboot一下,讓最新的設置及軟件生效。

  如果在安裝過程中出現錯誤,您可以先檢查完錯誤,再接著安裝下去。或者你可以選擇你感興趣的某些部份安裝!

  當然因為時間倉促,涉及到的知識太廣,加上本人能力有限,其中錯誤在所難免,懇請各位讀者提出來,大家共同提高,共同進步!

Copyright © Linux教程網 All Rights Reserved