LINUX下使用MRTG画虚拟主机流量图

运维 系统运维
LINUX下使用MRTG画虚拟主机流量图:MRTG是一个监控网络链路流量负载的工具软件,通过snmp协议得到设备的流量信息,以非常直观的形式显示流量负载。本文讲述的是LINUX下使用MRTG画虚拟主机流量图

  LINUX下使用MRTG画虚拟主机流量图

  我的环境是:FreeBSD 5.2+Apache 2.0.48

  LINUX或其他UNIX系统里面,最多把ports换成原始码编译而已。

  在开始做之间,希望大家对MRTG有所了解,因为我们将要使用他来做实现动态的流量图像生成。如果对MRTG不了解,建议先看看我写的另外一篇文章,《MRTG介绍》做一下热身运动。让我们开始吧!


  一、安装MRTG

  也可参见《MRTG的安装配置

  1.   cd /usr/ports/net/mrtg  
  2.  
  3.   make install  
  4.  

  默认情况下即可正常安装,不必其他设置。


  二、安装APACHE

  1.   cd /usr/ports/www/apache2  
  2.  
  3.   make WITH_SUEXEC=yes install  
  4.  

  在这里安装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,请直接更改一下即可使用。

  1.   cd /usr/ports/www/mod_watch4  
  2.  
  3.   make install  
  4.  

  安装成功后,接下来是最重要的设置工作,就是要怎么才能让系统认得APACHE 2的流量,并且画出我们的实时流量,请接着看:

  目前我们修改一下httpd.conf文件

  1.   vi /usr/local/etc/apache2/httpd.conf  
  2.  

  找一个地方加入

  1.   # Allows the URL used to query virtual host data:  
  2.  
  3.   #  
  4.  
  5.   # http://www.snert.com/watch-info  
  6.  
  7.   #  
  8.  
  9.     
  10.  
  11.   SetHandler watch-info  
  12.  
  13.     
  14.  
  15.   # Intended for debugging and analysis of shared memory  
  16.  
  17.   # hash table and weenie files:  
  18.  
  19.   #  
  20.  
  21.   # http://www.snert.com/watch-table  
  22.  
  23.   #  
  24.  
  25.     
  26.  
  27.   SetHandler watch-table  
  28.  
  29.     
  30.  

  

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

  1.   Order deny,allow  
  2.  
  3.   Deny from all  
  4.  
  5.   Allow from 127.0.0.1  
  6.  

  你能把127.0.0.1换成其他你信任的IP或IP段,域名等~

  设置完成后,请使用

  1.   /usr/local/sbin/apachectl configtest  
  2.  

  检查httpd.conf文件是否有错

  如果显示系统正常,再使用下面的命令重新启动apache

  1.   /usr/local/sbin/apachectl restart  
  2.  

  上面的设置成功后,你就能从某个虚拟主机的watch-info文件读出某些数据了,比如

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

  这些数据就是供MRTG画流量图的,以达到实时监视的目的!

  OK,请在httpd.conf文件里面设置好虚拟主机,然后用下面的命令生成相应的文件:

  1.   apache2mrtg.pl /usr/local/etc/apache2/httpd.conf  
  2.  

  屏幕显示如下:

  1.   freebsd# apache2mrtg.pl /usr/local/etc/apache2/httpd.conf  
  2.  
  3.   Title[freebsd.onlinecq.com]: freebsd.onlinecq.com Data Traffic  
  4.  
  5.   Target[freebsd.onlinecq.com]: `/usr/local/sbin/mod_watch.pl http://freebsd. onlinecq.com/watch-info`  
  6.  
  7.   MaxBytes[freebsd. onlinecq.com]: 1250000  
  8.  
  9.   PageTop[freebsd. onlinecq.com]:   
  10.  

  把上面Title开始的一段信息,拷贝一下,待用。注意,这里每个虚拟主机将会显示一段,如果你的虚拟主机多,将会显示非常多,一大堆信息出来,不过都请大家都复制下来待用,除非你不想生成某个虚拟主机的流量图。

  这样子系统是无法生成流量图的,因为他不符合MRTG的语法,我们需要在这文件里面加入一些东东才能的。

  1.   vi /usr/local/etc/apache2/mod_watch.cfg  
  2.  
  3.   WorkDir:/home/onlinecq.com/mrtg/  
  4.  
  5.   Options[_]: growright,bits  
  6.  
  7.   #Language: gb2312  
  8.  
  9.   #Title[^]: Traffic Analysis for  
  10.  
  11.   PageTop[^]:   
  12.  

  然后再贴上前面通过apache2mrtg.pl显示的那一段话

  使用:wq存盘退出,这样子就会在/usr/local/etc/apache2目录里面产生一个mod_watch.cfg文件,备用!

  接下来,我们要注意一点,就是mod_watch.cfg里面的

  1.   WorkDir:/home/onlinecq.com/mrtg/  
  2.  

  这个目录一定要存在,并且要能通过网站访问的,一般放到自己官方网页上面,呵呵~

  看起来差不多了哦,我们试一下,请用下面命令生成MRTG的流量图:

  1.   mrtg /usr/local/etc/apache2/mod_watch.cfg  
  2.  

  我的主机上面***执行后,将会显示几行错误,不理他,多执行几次即可! 错误提示的意思大概是,未找到某某文件,因为这些文件是旧文件,需要系统生成的。大概执行2-3次后,即不会报错啦~

  到此为止,你就能成功得到流量图了,同时,在/home/onlinecq.com/mrtg目录里面会产生非常多png图片和html文件和网址的,这些都是每一个虚拟主机的流量图,千万不要删除了哦。请这样子访问你的虚拟主机的流量图

  http://域名/mrtg/虚拟主机域名.html

  比如我要访问我的站的MRTG流量图,就是这样子:

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


  四、做整机流量图索引

  如果你的虚拟主机非常多,你又想一下子看完所有用户的流量图,你能这样子来做一个MRTG流量图索引:

  1.   /usr/local/bin/indexmaker --title=”nlineCQ.COM BANDWIDTH MRTG TATOL" --output=/home/onlinecq.com/index.html /usr/local/etc/apache2/mod_watch.cfg  
  2.  

  这样子在/home/onlinecq.com/mrtg目录里面就会生成index.html的流量图了,里面将会有所有用户的流量图!


  五、排程更新MRTG流量图

  如果不做这一步,我们只有手工更新流量图啦。要排程更新的话,也比较简单的,就是把相关命令加到crontab里面即可:

  1.   vi /etc/crontab  
  2.  
  3.   */5 * * * * root /usr/local/bin/mrtg /usr/local/etc/apache2/mod_watch.cfg  
  4.  

  用:wq存盘退出,这样子每5分钟将会执行流量图的更新工作,当时,如果你需求比较高的话,能让他每分钟都执行,不过注意,更新流量图时,会占用一些系统资源的。还是适可而止吧~


  六、结束语

  至此为止,能投入商业使用的MRTG实时流量图就建立起来了,你能reboot一下,让***的设置及软件生效。

  如果在安装过程中出现错误,你能先检查完错误,再接着安装下去。或你能选择你感兴趣的某些部份安装!

 

【编辑推荐】

MRTG使用方法(配置SNMP服务)

用MRTG监测交换机端口流量(图)

SNMP MRTG下的问题解答及技巧

责任编辑:zhaolei 来源: linux宝库
相关推荐

2011-03-30 08:56:43

mrtg流量图

2010-06-01 10:32:04

linux Mrtg

2013-04-02 11:21:52

Linux操作系统虚拟主机

2011-03-30 11:04:11

Linuxmrtg

2017-08-15 15:24:21

2011-08-16 15:16:26

UbuntuApache虚拟主机

2011-04-01 09:18:03

FreeBSD安装MRTG

2011-03-30 11:30:31

MRTG

2010-01-11 11:19:28

Apache配置

2011-03-09 16:17:21

CentOSLAMP

2010-07-01 13:35:51

vsftpd

2011-04-01 09:18:04

mrtg流量

2011-04-02 11:40:11

mrtg监控

2011-03-31 10:24:15

2011-03-31 13:40:48

MRTGsquid流量

2013-05-27 09:34:16

2011-03-23 14:38:02

LAMP架设

2011-05-17 15:03:34

JSP

2011-04-06 11:20:31

linuxMRTG

2011-04-06 13:50:34

LinuxMRTG监控
点赞
收藏

51CTO技术栈公众号