Unix下用MRTG监测网络设备流量攻略

发表于:2007-07-04来源:作者:点击数: 标签:
Mrtg(Multi Router Traffic Grapher,MRTG)是一个监控 网络 链路流量负载的工具软件, 它通过snmp协议从设备得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档方式显示给用户,以非常直观的形式显示流量负载(可以在网站http:// www.stat.ee.et

  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
  
  

原文转自:http://www.ltesting.net