Mrtg(Multi Router Traffic Grapher,MRTG)是一个监控网络链路流量负载的工具软件, 它通过snmp协议从设备得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档方式显示给用户,以非常直观的形式显示流量负载(可以在网站http:// www.stat.ee.ethz.ch/mrtg/得到mrtg的输出结果示例)。
系统环境:Kernel version: SunOS 5.7 Generic 106541-34 Mar 2004
参考文档:MRTG-Unix-Guide 以及官方其他文档
Mrtg可以在http://www.mrtg.org得到最新版本,我这里是2.10.15
要成功安装运行MRTG,在UNIX环境下,你需要GCC,Perl,gd,libpng和zlib
所有的这些可以在SunFreeWare网站免费得到,这里给大家提供一个镜像
http://sunsite.tus.ac.jp/pub/sun-info/Solaris/
我们从GCC开始安装,在这里,我们默认所有安装包都在/tmp下,GCC和Perl我用的是SolariS7的专用包为
例,用二进制包编译安装也大同小异,当然,你还要有gzip和tar等基本压缩解压程序
GCC
代码:
bash-2.05# cd /tmp
bash-2.05# gunzip gcc-3.4.1-sol7-sparc-local.gz
bash-2.05# pkgadd -d gcc-3.4.1-sol7-sparc-local
Perl
代码:
bash-2.05# gunzip perl-5.8.5-sol7-sparc-local.gz
bash-2.05# pkgadd -d perl-5.8.5-sol7-sparc-local
下面是libpng,zlib,gd的编译安装
先创建一个src目录,把安装包移到这里
代码:
bash-2.05# mkdir -p /usr/local/src
bash-2.05# cd /usr/local/src
bash-2.05# mv /tmp/gd-2.0.22.tar.gz /tmp/zlib-1.2.1.tar.gz /tmp/libpng-1.2.6rc1.tar.gz ./
zlib
代码:
bash-2.05# gunzip -c zlib-*.tar.gz | tar xf -
bash-2.05# rm zlib-*.tar.gz
bash-2.05# mv zlib-* zlib
bash-2.05# cd zlib
bash-2.05# ./configure
bash-2.05# make
bash-2.05# cd ..
libpng
代码:
bash-2.05# gunzip -c libpng-*.tar.gz |tar xf -
bash-2.05# rm libpng-*.tar.gz
bash-2.05# mv libpng-* libpng
bash-2.05# cd libpng
bash-2.05# make -f scripts/makefile.std CC=gcc ZLIBLIB=../zlib ZLIBINC=../zlib
bash-2.05# rm *.so.* *.so //在我的环境下这步没有意义
bash-2.05# cd ..
gd(版本2以后的,版本1的请参考mrtg的Unix-guide)
代码:
bash-2.05# gunzip -c gd-*.tar.gz |tar xf -
bash-2.05# rm gd-*.tar.gz
bash-2.05# mv gd-* gd
bash-2.05# cd gd
bash-2.05# env CPPFLAGS="-I../zlib -I../libpng" LDFLAGS="-L../zlib -L../libpng" ./configure
--disable-shared
--without-freetype --without-jpeg
bash-2.05# make
bash-2.05# cp .libs/* .
现在是MRTG
代码:
bash-2.05# cd /usr/local/src
bash-2.05# gunzip -c mrtg-2.10.15.tar.gz | tar xvf -
bash-2.05# cd mrtg-2.10.15
开始编译
代码:
bash-2.05# ./configure --prefix=/usr/local/mrtg-2
//安装目录
--with-gd=/usr/local/src/gd
--with-z=/usr/local/src/zlib
--with-png=/usr/local/src/libpng
等到出现
代码:
ordering CD from http://people.ee.ethz.ch/~oetiker/wish .... just kidding ;-)
----------------------------------------------------------------
Config is DONE!
Type 'make' to compile the software
... that wishlist mentioned above does really exist. So if
you feel like showing your appreciation for MRTG, this is the
place to go. I just love CDs and DVDs
-- Tobi Oetiker
----------------------------------------------------------------
编译成功,安装
代码:
bash-2.05# make
bash-2.05# make install
下面是配置的例子
代码:
bash-2.05# cd /usr/local/mrtg-2/bin
bash-2.05# ./cfgmaker --global 'workdir: /html/mrtg' //侦测结果输出目录
--global 'Options[_]: bits' //代表使用bit而不是Byte作为单位
public@192.168.0.1:::::2 //这里public带表community,你可以在你的设备上自己设置,且最好不用public,:::::2代表使用Snmp v2,并不是所有的设备都支持,也可以在设备上设置
--output /usr/local/mrtg-2/mrtg.cfg
//配置文件输出
运行
代码:
bash-2.05# /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/mrtg.cfg
你可能需要运行三次才能够正常,在/html/mrtg下就可以得到结果,而且开始几次的流量都是0
如果你需要让他保持5分钟监测记录一次,在配置文件的开始加上
代码:
RunAsDaemon: Yes