Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

UNIX/LINUX中使用MRTG自动画虚拟主机流量图

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]


作者: 重庆.樊礼(梦飞)
欢迎转载﹐本文遵循GNU协议规则﹗


做为一个空间商﹐非常有必要了解每一个虚拟主机用户的流量大小﹐通过文字的表述难以形象﹐生动的表现出来原本变化的数据﹐故我在这里将自己在FREEBSD 5.2环境下﹐监控每个虚拟主机流量的方法写出来﹐供大家参考。该种方法适合于UNIX/LINUX环境下的Apache 1.X和Apache 2.X﹐具体实施步骤差不多﹐希望大家举一反三。我还是希望能用自己罗嗦的方法,教会包括菜鸟在内的所有喜欢UNIX/LINUX的朋友。
我的环境是﹕FreeBSD 5.2+Apache 2.0.48
如果你不会在LINUX环境里面使用,发邮件告诉我,我再写一篇在LINUX环境里面安装也可以的,但我认为两者差不多的,LINUX或者其他UNIX系统里面,最多把ports换成源代码编译而已,所以题目我还是坚持使用UNIX/LINUX下安装,呵呵~

示例﹕http://www.onlinecq.com/mrtg/www.onlinecq.com.html

在开始做之间﹐希望大家对MRTG有所了解﹐因为我们将要使用它来做实现动态的流量图形生成。如果对MRTG不了解﹐建议先看看我写的另外一篇文章﹐《在WINDOWS下安装MRTG全攻略》 http://www.blogbus.com/blogbus/blog/diary.php?diaryid=87658 ﹐做一下热身运动﹐呵呵~~

让我们开始吧~~

一﹑安装MRTG
二﹑安装APACHE 2.0.48
三﹑安装MOD_WATCH
四﹑做整机流量图索引
五﹑排程更新MRTG流量图
六﹑结束语

一﹑安装MRTG
cd /usr/ports/net/mrtg
make install

默认情况下即可正常安装,不需要其他配置。

二、安装APACHE 2.0.48
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>
</IfModule>

注意,为了安全,请关闭watch-table选项,或者加以IP限制,以免别人查看你SERVER所放的站点资源,引起不必要的麻烦。

Order deny,allow
Deny from all
Allow from 127.0.0.1

你可以把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>

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:FreeBSD 4.9下安装 JDK1.4.2的说明   下一篇:嵌入式工具Qt的安装与使用

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号