使用MRTG自动画虚拟主机流量图
做为一个空间商﹐非常有必要了解每一个虚拟主机用户的流量大小﹐通过文字的表述难以形象﹐生动的表现出来原本变化的数据﹐故我在这里将自己在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绘图软件 cd /usr/ports/net/mrtg 默认情况下即可正常安装,不需要其他配置。make install 二、安装APACHE 2.0.48 我计划把配置文件放到/usr/local/etc目录里面。 cd /usr/ports/www/apache2 在这里安装APACHE 2 有多种方式,我们可以使用:
make WITH_SUEXEC=yes install make show-options 显示安装时的可选项
make show-modules 显示需要安装的模块 当然,安装时可以选择的余地很大的,如果你需要特别提升APACHE 2 的性能,可以选择不同的安装选项试一下,我曾经连续花了一天时间安装了十几次APACHE 2,以测试不同选项搭配后的效果,>_< cd /usr/ports/www/mod_watch4 安装成功后,接下来是最重要的配置工作,就是要怎么才能让系统认得APACHE 2的流量,并且画出我们的实时流量,请接着看:make install 现在我们修改一下httpd.conf文件 vi /usr/local/etc/apache2/httpd.conf 加入<IfModule mod_watch.c> 你可以把127.0.0.1换成其他你信任的IP或者IP段,域名等~# 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> 设置完成后,请使用 /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开始的一段信息,拷贝一下,待用。注意,这里每个虚拟主机将会显示一段,如果你的虚拟主机多,将会显示很多,一大堆信息出来,不过都请大家都复制下来待用,除非你不想生成某个虚拟主机的流量图。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> 这样子系统是无法生成流量图的,因为它不符合MRTG的语法,我们需要在这文件里面加入一些东东才可以的。 vi /usr/local/etc/apache2/mod_watch.cfg
(然后再贴上前面通过apache2mrtg.pl显示的那一段话)WorkDir:/home/onlinecq.com/mrtg/ 使用: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次后,即不会报错啦~上一篇:在FREEBSD 5中使用MRTG画图 下一篇:系统时间同步及ntp服务的提供 更多相关文章
|
推荐文章
精彩文章
|