MRTG的官方站点是这样介绍MRTG的:
The Multi Router Traffic Grapher (MRTG) is a tool to monitor the traffic load on network-links. MRTG generates HTML pages containing graphical images which provide a LIVE visual representation of this traffic. Check http://www.ee.ethz.ch/stats/mrtg/ for an example. MRTG is based on Perl and C and works under UNIX and Windows NT. MRTG is being successfully used on many sites around the net.
简单地说,MRTG是一套用来监视网络设备如交换机,路由器上的数据流量的系统.MRTG的基石是SNMP简单网络管理协议,MRTG的大部分代码都是用PERL编写的.
下面我简单介绍一下MRTG在windows系统和*nix系统上的安装和配置.
1.安装:
(1)在windows上安装MRTG:
在windows上运行MRTG需要安装PERL解释器,推荐试用activestate公司的activeperl 5.8.5或更高版本.activestate公司的主页是
http://www.activestate.com/
如果要想在任何地点都能通过浏览器查看MRTG生成的html格式的数据汇总,你还需要安装apache或者IIS,这方面的安装请参考有关书籍或说明,在此不予赘述.
然后从http://people.ee.ethz.ch/~oetiker/webtools/mrtg/pub/下载MRTG的最新版本mrtg-2.11.1.zip,解压安装.
(2)*nix平台下安装MRTG:
首先,几乎所有的*nix系统都会默认安装PERL,因此这一步在大多数情况下都可以跳过.如果需要安装PERL 5.8.5或者更高版本,请参见系统手册.
安装apache 1.4,关于apache的安装网上有无数的说明可用,我推荐的站点是
www.chinaunix.net,在我的FreeBSD系统上,apache的 默认安装路径是/usr/local/www/,默认的页面存放目录是/usr/local/www/data/,这和linux系统的布局很不相同,因 此在下面的配置步骤中请注意和你所使用的系统的区别.
由于MRTG的安装会涉及到几个共享库的版本问题,因此不推荐从源代码进行安装.如果使用的系统是debian或者redhat,强烈建议采用apt-get或者rpm包安装;如果使用BSD系列,强烈建议采用ports安装.
debian:
apt-get install mrtg-2.11.1.tar.gz
FreeBSD or OpenBSD:
cd /usr/ports/net-mgmt/mrtg/
make install
我个人更倾向于使用port进行安装.因为采用ports安装实在是简单啊.
2.配置:
在windows下,MRTG将会安装在一个单独的目录下,这可以根据你的喜好而定;在*nix平台下,典型的布局是所有二进制文件也就是MRTG自带的 命令行工具会安装在/usr/local/bin目录下,而配置文件是放在/usr/loca/etc/mrtg/目录下的.
主要要用到的两个命令行工具是cfgmaker和indexmaker.其中,cfgmaker是用来生成配置文件的,而indexmaker是用来生成html页面的.这两个工具在windows和*nix下的使用完全一样,下面我将分别对这两个工具进行介绍.
我在这里以新村5#444设备间的一台1100交换机为例进行说明,这里假定上面的所有安装过程都是正确的,同时,下面的操作可能需要root权限:
(1)cfgmaker的使用:
首先,进入/usr/local/etc/mrtg/目录:
cd /usr/local/etc/mrtg/
这个目录中现在只有一个mrtg.cfg.sample文件.然后键入如下命令:
/usr/local/bin/cfgmaker --global "WorkDir: /usr/local/www/data/mrtg" --global "RunAsDaemon: yes" --global "Language: chinese" --output example.cfg --community=****** 202.115.1.137
说明一下上面这条命令的含义:
--global "WorkDir: /usr/local/www/data/mrtg"
这是一个全局配置选项,指定工作目录为/usr/local/www/data/mrtg/,MRTG会将所有图片和数据放到这个目录下,你也可以采用其它选项将图片和数据分开存放.
--global "RunAsDaemon: yes"
指定mrtg以伺服进程的方式运行,这一行是必需的,没有这一行的话,mrtg在前台运行之后即退出.
--global "Language: chinese"
指定html页面上使用中文说明.
--output example.cfg
指定配置文件名为example.cfg
--community=******
指定口令,这里因为安全方面的考虑,我用******代替在命令行输入的口令.
202.115.1.137
这是新村5#444设备间的1100交换机的IP地址.
当你正确无误地输入了上面的命令并且按下回车键之后,cfgmaker会通过SNMP简单网络管理协议从交换机上获取所需要的配置信息,如每一个网络接口 上的IP地址,网络接口类型等等.在成功获取到交换机的所有信息之后,cfgmaker会将这些信息写入example.cfg配置文件中去.到这 里,cfgmaker的工作就完成了.
注意:这里只是给出一个很有限的配置示例,事实上,MRTG配置文件的可选项很多,可以对MRTG的行为进行精确的控制.有关MRTG的其它配置选项,请 参见MRTG的cfgmaker手册http://people.ee.ethz.ch/~oetiker/webtools/mrtg /cfgmaker.html
(2)运行mrtg:
至此,在当前目录下已经生成一个了example.cfg配置文件,现在我们就可以启动MRTG了,在命令行输入:
/usr/local/bin/mrtg example.cfg
如果配置文件正确无误,在终端控制台会输出下面这一行:
Daemonizing MRTG ...
那么,恭喜你,MRTG已经开始工作了.
否则的话,就开始你的troubleshooting之旅吧.多数情况下出现的错误都是你打字不正确的缘故.
(3)indexmaker的使用:
相比cfgmaker的使用,indexmaker要简单一些,在命令行输入下面的命令:
indexmaker --output=/usr/local/www/data/mrtg/index.html example.cfg
这里,indexmaker会根据example.cfg的内容生成html文件/usr/local/www/data/mrtg/index.html
现在,在任何一个web浏览器里输入http://202.115.22.157/mrtg就可以看到我们的交换机上的数据流量的情况了.这里,202.115.22.157是我现在的IP地址,你配置的时候要换成你自己的.
同样,indexmaker也有很多其它的选项,如果对indexmaker的其它选项感兴趣,请参见indexmaker手册http://people.ee.ethz.ch/~oetiker/webtools/mrtg/indexmaker.html
总结,这篇文章看起来很有虎头蛇尾的感觉,但是因为其实整个过程中最重要的就是获取网络设备上的信息这一步,因此用了很大的篇幅进行说明.
再次声明,写这篇文章的目的仅仅是简要介绍MRTG基本的安装和配置过程,有关MRTG更详细的安装和配置问题请参见MRTG项目官方网站的说明.