linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > linux网络与应用 > 网络安全 >
栏目导栏
资料搜索
热门文章
·Linux系统下使用aMsn(MSN)详解
·使用Snort规则.doc
·构建一个RADIUS服务器
·Netscreen防火墙简单配置实例
·IPTABLES配置方法
·SELinux 入门
·常用log4j配置
·如何利用嗅探器TcpDump分析网络
·ssh工具scp使用示例
·LINUX iptable应用手册(一)
·linux安全设置手册
·防火牆與ShoreWall使用方法
·snort 模块详讲
·LRP架构Linux路由器/防火墙
·Linux下防火墙设置
最新文章
·认识Linux操作系统下三大便利开
·Linux操作系统如何限制SSH密码
·Linux Iptables 内核2.6.18添加
·实用技巧:让Linux系统有效防御
·SELinux拒绝vsftpd上传文件到用
·解决SUSE Linux下SSH无法使用密
·关于Linux操作系统防火墙的进程
·OpenSSH实现Windows和Linux文件
·Linux防火墙示例 用简单规则集
·如何防范Linux操作系统下缓冲区
·Linux系统开防火墙时自动开启相
·Linux操作系统下防范黑客的一些
·Linux操作系统防火墙进程查看的
·Linux主机服务器被入侵后需要采
·通过监控Linux的运行进程来保证
Google
 
UNIX/LINUX中使用MRTG自动画虚拟主机流量图
[ 作者:  加入时间:2007-01-23 05:32:59  来自:Linux联盟收集整理 ]
做为一个空间商﹐非常有必要了解每一个虚拟主机用户的流量大小﹐通过文字的表述难以形象﹐生动的表现出来原本变化的数据﹐故我在这里将自己在FREEBSD 5.2环境下﹐监控每个虚拟主机流量的方法写出来﹐供大家参考。该种方法适合于UNIX/LINUX环境下的Apache 1.X和Apache 2.X﹐具体实施步骤差不多﹐希望大家举一反三。我还是希望能用自己罗嗦的方法,教会包括菜鸟在内的所有喜欢UNIX/LINUX的朋友。jcpLinux联盟
        我的环境是﹕FreeBSD 5.2+Apache 2.0.48jcpLinux联盟
如果你不会在LINUX环境里面使用,发邮件告诉我,我再写一篇在LINUX环境里面安装也可以的,但我认为两者差不多的,LINUX或者其他UNIX系统里面,最多把ports换成源代码编译而已,所以题目我还是坚持使用UNIX/LINUX下安装,呵呵~jcpLinux联盟
jcpLinux联盟
示例﹕http://www.onlinecq.com/mrtg/www.onlinecq.com.htmljcpLinux联盟
jcpLinux联盟
        在开始做之间﹐希望大家对MRTG有所了解﹐因为我们将要使用它来做实现动态的流量图形生成。如果对MRTG不了解﹐建议先看看我写的另外一篇文章﹐《在WINDOWS下安装MRTG全攻略》 http://www.blogbus.com/blogbus/blog/diary.php?diaryid=87658 ﹐做一下热身运动﹐呵呵~~jcpLinux联盟
jcpLinux联盟
        让我们开始吧~~jcpLinux联盟
jcpLinux联盟
一﹑安装MRTGjcpLinux联盟
二﹑安装APACHE 2.0.48jcpLinux联盟
三﹑安装MOD_WATCHjcpLinux联盟
四﹑做整机流量图索引jcpLinux联盟
五﹑排程更新MRTG流量图jcpLinux联盟
六﹑结束语jcpLinux联盟
jcpLinux联盟
一﹑安装MRTGjcpLinux联盟
cd /usr/ports/net/mrtgjcpLinux联盟
make installjcpLinux联盟
jcpLinux联盟
默认情况下即可正常安装,不需要其他配置。jcpLinux联盟
jcpLinux联盟
二、安装APACHE 2.0.48jcpLinux联盟
cd /usr/ports/www/apache2jcpLinux联盟
make WITH_SUEXEC=yes installjcpLinux联盟
jcpLinux联盟
在这里安装APACHE 2 有多种方式,我们可以使用:jcpLinux联盟
make show-options    显示安装时的可选项jcpLinux联盟
make show-modules    显示需要安装的模块jcpLinux联盟
jcpLinux联盟
当然,安装时可以选择的余地很大的,如果你需要特别提升APACHE 2 的性能,可以选择不同的安装选项试一下,我曾经连续花了一天时间安装了十几次APACHE 2,以测试不同选项搭配后的效果,>_<jcpLinux联盟
jcpLinux联盟
听着硬盘“哗啦哗啦”一阵狂响后,系统会提示你安装成功,^_^jcpLinux联盟
jcpLinux联盟
三、安装MOD_WATCHjcpLinux联盟
首先说明,因为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,请直接更改一下即可使用。jcpLinux联盟
cd /usr/ports/www/mod_watch4jcpLinux联盟
make installjcpLinux联盟
jcpLinux联盟
安装成功后,接下来是最重要的配置工作,就是要怎么才能让系统认得APACHE 2的流量,并且画出我们的实时流量,请接着看:jcpLinux联盟
jcpLinux联盟
现在我们修改一下httpd.conf文件jcpLinux联盟
vi /usr/local/etc/apache2/httpd.confjcpLinux联盟
jcpLinux联盟
找一个地方加入jcpLinux联盟
jcpLinux联盟
<IfModule mod_watch.c>jcpLinux联盟
  # Allows the URL used to query virtual host data:jcpLinux联盟
  #jcpLinux联盟
  #     http://www.snert.com/watch-infojcpLinux联盟
  #jcpLinux联盟
  <Location /watch-info>jcpLinux联盟
  SetHandler watch-infojcpLinux联盟
  </Location>jcpLinux联盟
jcpLinux联盟
  # Intended for debugging and analysis of shared memoryjcpLinux联盟
  # hash table and weenie files:jcpLinux联盟
  #jcpLinux联盟
  #     http://www.snert.com/watch-tablejcpLinux联盟
  #jcpLinux联盟
  <Location /watch-table>jcpLinux联盟
  SetHandler watch-tablejcpLinux联盟
  </Location>jcpLinux联盟
</IfModule>jcpLinux联盟
jcpLinux联盟
注意,为了安全,请关闭watch-table选项,或者加以IP限制,以免别人查看你SERVER所放的站点资源,引起不必要的麻烦。jcpLinux联盟
jcpLinux联盟
    Order deny,allowjcpLinux联盟
    Deny from alljcpLinux联盟
    Allow from 127.0.0.1jcpLinux联盟
jcpLinux联盟
你可以把127.0.0.1换成其他你信任的IP或者IP段,域名等~jcpLinux联盟
jcpLinux联盟
设置完成后,请使用jcpLinux联盟
/usr/local/sbin/apachectl configtestjcpLinux联盟
检查httpd.conf文件是否有错jcpLinux联盟
如果显示系统正常,再使用下面的命令重新启动apachejcpLinux联盟
/usr/local/sbin/apachectl restartjcpLinux联盟
jcpLinux联盟
上面的配置成功后,你就可以从某个虚拟主机的watch-info文件读出某些数据了,比如我的:jcpLinux联盟
jcpLinux联盟
http://freebsd.onlinecq.com/watch-infojcpLinux联盟
freebsd.onlinecq.com 2 760 858 2 1 1 0.000 675269920 3217025432jcpLinux联盟
这些数据就是供MRTG画流量图的,以达到实时监控的目的!jcpLinux联盟
jcpLinux联盟
OK,请在httpd.conf文件里面配置好虚拟主机,然后用下面的命令生成相应的文件:jcpLinux联盟
apache2mrtg.pl /usr/local/etc/apache2/httpd.confjcpLinux联盟
jcpLinux联盟
屏幕显示如下:jcpLinux联盟
freebsd# apache2mrtg.pl /usr/local/etc/apache2/httpd.confjcpLinux联盟
Title[freebsd.onlinecq.com]: freebsd.onlinecq.com Data TrafficjcpLinux联盟
Target[freebsd.onlinecq.com]: `/usr/local/sbin/mod_watch.pl http://freebsd. onlinecq.com/watch-info`jcpLinux联盟
MaxBytes[freebsd. onlinecq.com]: 1250000jcpLinux联盟
PageTop[freebsd. onlinecq.com]: <h2><a href="http://freebsd. onlinecq.com/">freebsd. onlinecq.com</a> Data Traffic</h2>jcpLinux联盟
jcpLinux联盟
把上面Title开始的一段信息,拷贝一下,待用。注意,这里每个虚拟主机将会显示一段,如果你的虚拟主机多,将会显示很多,一大堆信息出来,不过都请大家都复制下来待用,除非你不想生成某个虚拟主机的流量图。jcpLinux联盟
这样子系统是无法生成流量图的,因为它不符合MRTG的语法,我们需要在这文件里面加入一些东东才可以的。jcpLinux联盟
vi /usr/local/etc/apache2/mod_watch.cfgjcpLinux联盟
jcpLinux联盟
WorkDir:/home/onlinecq.com/mrtg/jcpLinux联盟
Options[_]: growright,bitsjcpLinux联盟
#Language: gb2312jcpLinux联盟
jcpLinux联盟
#Title[^]: Traffic Analysis forjcpLinux联盟
PageTop[^]: <H1>Traffic Stats for OnlineCQ.COM User</H1><HR>jcpLinux联盟
#PageTop[$]: Contact QQ: 151482576<HR>jcpLinux联盟
PageFoot[^]: OnlineCQ.COM      MSN: cqfanli@hotmail.com      QQ:151482576jcpLinux联盟
jcpLinux联盟
(然后再贴上前面通过apache2mrtg.pl显示的那一段话)jcpLinux联盟
jcpLinux联盟
使用:wq存盘退出,这样子就会在/usr/local/etc/apache2目录里面产生一个mod_watch.cfg文件,备用!jcpLinux联盟
jcpLinux联盟
接下来,我们要注意一点,就是mod_watch.cfg里面的jcpLinux联盟
WorkDir:/home/onlinecq.com/mrtg/jcpLinux联盟
这个目录一定要存在,并且要能通过网站访问的,一般放到自己官方网页上面,呵呵~jcpLinux联盟
jcpLinux联盟
看起来差不多了哦,我们试一下,请用下面命令生成MRTG的流量图:jcpLinux联盟
mrtg /usr/local/etc/apache2/mod_watch.cfgjcpLinux联盟
jcpLinux联盟
我的主机上面首次执行后,将会显示几行错误,不理它,多执行几次即可! 错误提示的意思大概是,找不到某某文件,因为这些文件是旧文件,需要系统生成的。大概执行2-3次后,即不会报错啦~jcpLinux联盟
jcpLinux联盟
到此为止,你就可以成功得到流量图了,同时,在/home/onlinecq.com/mrtg目录里面会产生很多png图片和html文件和网址的,这些都是每一个虚拟主机的流量图,千万不要删除了哦,*^_^*jcpLinux联盟
请这样子访问你的虚拟主机的流量图jcpLinux联盟
http://域名/mrtg/虚拟主机域名.htmljcpLinux联盟
jcpLinux联盟
比如我要访问我的站的MRTG流量图,就是这样子:jcpLinux联盟
jcpLinux联盟
http://www.onlinecq.com/mrtg/www.onlinecq.com.htmljcpLinux联盟
jcpLinux联盟
四﹑做整机流量图索引jcpLinux联盟
如果你的虚拟主机很多,你又想一下子看完所有用户的流量图,你可以这样子来做一个MRTG流量图索引:jcpLinux联盟
jcpLinux联盟
/usr/local/bin/indexmaker --title=”nlineCQ.COM BANDWIDTH MRTG TATOL" --output=/home/onlinecq.com/index.html /usr/local/etc/apache2/mod_watch.cfgjcpLinux联盟
jcpLinux联盟
这样子在/home/onlinecq.com/mrtg目录里面就会生成index.html的流量图了,里面将会有所有用户的流量图!jcpLinux联盟
jcpLinux联盟
五﹑排程更新MRTG流量图jcpLinux联盟
如果不做这一步,我们只有手工更新流量图啦,呵呵~jcpLinux联盟
要排程更新的话,也比较简单的,就是把相关命令加到crontab里面即可:jcpLinux联盟
vi /etc/crontabjcpLinux联盟
*/5     *       *       *       *       root    /usr/local/bin/mrtg /usr/local/etc/apache2/mod_watch.cfgjcpLinux联盟
jcpLinux联盟
用:wq存盘退出,这样子每5分钟将会执行流量图的更新工作,当时,如果你要求比较高的话,可以让它每分钟都执行,不过注意,更新流量图时,会占用一些系统资源的,>_< 。还是适可而止吧~jcpLinux联盟
jcpLinux联盟
jcpLinux联盟
六、结束语 jcpLinux联盟
至此为止,可以投入商业使用的MRTG实时流量图就建立起来了,您可以reboot一下,让最新的设置及软件生效。 jcpLinux联盟
如果在安装过程中出现错误,您可以先检查完错误,再接着安装下去。或者你可以选择你感兴趣的某些部份安装! jcpLinux联盟
当然因为时间仓促,涉及到的知识太广,加上本人能力有限,其中错误在所难免,恳请各位读者提出来,大家共同提高,共同进步! Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·网络流量监控器mrtg全攻略  (2007-01-19 12:58:04)
 ·一步一步安装服务器监视软件MRTG  (2007-01-05 12:23:44)
 ·在FREEBSD 5中使用MRTG画图  (2006-12-06 11:54:00)
 ·SNMP+MRTG 网络流量分析  (2006-11-25 10:58:53)
 ·RedHat Linux安装mrtg监控主机流量  (2006-11-15 11:18:50)
 ·使用Linux上的MRTG监测Windows2000设备状态  (2006-09-20 13:58:39)
 ·使用Linux上的MRTG监测Windows2000设备状态  (2006-09-20 13:58:39)
 ·免费unix/linux shell帐号  (2006-09-04 21:45:44)
 ·在unix/linux下安装配置DHCP服务  (2006-08-26 22:32:13)
 ·UNIX/LINUX SHELL 正则表达式语法  (2006-08-06 11:10:24)