免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1569 | 回复: 0
打印 上一主题 下一主题

MRTG-Unix-Guide [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-10-09 18:31 |只看该作者 |倒序浏览

一篇介绍Mrtg入门的文章,这篇文章好在比较详细,所以拿来翻译了一下,但只是篇介绍安装和简单使用的文章。进一步的你可以再找些资料,也或者有时间我再找篇文章来。
HTH~~
/*************************************************
/*MRTG-UNIX使用指南
/*
/*作者:Tobias Oetiker
/*
/*翻译:Patrick
/*
/*时间:2004-8-10
/*
/*************************************************

名字
mrtg-unix-指南 - 介绍如何在Unix机器上运行MRTG 2.10.14
描述
MRTG提供的是源代码。这就是说在Unix上运行之前,你需要编译每一部分代码。这个指南会帮助你做这些。
准备
为了编译并使用MRTG你需要一个C编译器和一份perl安装在你的机器上。很可能这两样你已经具备了。如果还没有,这有一些简单介绍。下面我会介绍整个编译过程的细节。
GCC
GNU C 编译器在很多免费的Unix类系统上已经预安装了。由于一些商业原因,你首先可能需要下载并编译它。如果你还没有任何编译器,那这里就有一个鸡与蛋的问题,但是还会有对很多操作系统的预编译版gcc可供选择。
http://gcc.gnu.org/
Perl
MRTG的很大一部分是用perl写成的。确定你机器上有一个版本较新的perl(try perl -v)。为了使MRTG工作正常,至少需要5.005。你可以从这里获得perl最新版
http://www.perl.com/
MRTG
产生的数据流量图是PNG格式的。为了支持这个需要一些第三方库。编译的时候我建议你将他们编译成静态库。看看这个说明的下一节会给你些灵感。请注意很多
免费的Unix类系统会提供所有需要的库,所以你根本不需要再安装其他版本。最好检查一下,这样可以略过下面的库说明直接进入mrtg的编译部分。
如果第一次尝试失败,并且没有获得一个可执行的mrtg版本,试着按照下面的说明编译一份所有库的新版本。在你因为编译mrtg的问题给我写邮件以前,请*务必*做一次下面的事再说。
gd

是一个基本的图形库,由Thomas
Boutell建立。请注意所有v1.3以后的发行版只能建立PNG图象。这是因为:1)由于GIF格式使用了Unisys专利的压缩技术,Thomas
因为这个会惹上麻烦。2)PNG更高效而且免费。MRTG可以使用新的或旧的GD库。你可以从这里获得最新版的GD库:
http://www.boutell.com/gd/
libpng
gd需要它来生成PNG图形文件。从这里可以找到它:
http://www.libpng.org/pub/png/libpng.html
zlib
libpng需要它来压缩你建立的图形文件,从这里获得它:
http://www.gzip.org/zlib
最主要的,就是需要mrtg,如果你还没有下载,可以从我的网站上下载:
http://people.ee.ethz.ch/~oetiker/webtools/mrtg/pub/
编译库
这一节我会一步一步介绍怎样编译各种各样的编译mrtg时需要的库。注意,可能所有这些库在你的BSD族或Linux系统上已经提供了,所以你可以略过这一节。下面用的程序wget是一个简单的web下载器。如果你没有wget你可以在netscape中输入地址来下载。
首先我们为编译建立一个目录。注意这个目录可能已经存在。没问题,只要用就可以了。
mkdir -p /usr/local/src
cd /usr/local/src
如果还没有安装zlib:
wget
http://www.gzip.org/zlib/zlib-1.1.4.tar.gz
gunzip -c zlib-*.tar.gz | tar xf -
rm zlib-*.tar.gz
mv zlib-* zlib
cd zlib
./configure
make
cd ..
如果还没有安装libpng:
wget
http://planetmirror.com/pub/sourceforge/libpng/libpng-1.0.15.tar.gz
gunzip -c libpng-*.tar.gz |tar xf -
rm libpng-*.tar.gz
mv libpng-* libpng
cd libpng
make -f scripts/makefile.std CC=gcc ZLIBLIB=../zlib ZLIBINC=../zlib
rm *.so.* *.so
cd ..
现在可以编译gd
升级版本到1.8.4:
wget
http://www.boutell.com/gd/http/gd-1.8.4.tar.gz
gunzip -c gd-*.tar.gz |tar xf -
rm gd-*.tar.gz
mv gd-* gd
cd gd
字符及后面的行代表所有后面的内容事实上是写在一行里的。
perl -i~ -p -e s/gd_jpeg.o//g Makefile            
make INCLUDEDIRS="-I. -I../zlib -I../libpng"
      LIBDIRS="-L../zlib -L. -L../libpng"
      LIBS="-lgd -lpng -lz -lm"
      CFLAGS="-O -DHAVE_LIBPNG"
cd ..
使用2.0.11版本:
wget
http://www.boutell.com/gd/http/gd-2.0.11.tar.gz
gunzip -c gd-2.0.11.tar.gz |tar xf -
mv gd-2.0.11 gd
cd gd
env CPPFLAGS="-I../zlib -I../libpng" LDFLAGS="-L../zlib -L../libpng" ./configure           --disable-shared
     --without-freetype --without-jpeg
make
cp .libs/* .
编译MRTG
OK,现在为编译mrtg准备的所有都已经搞定了。
cd /usr/local/src
gunzip -c mrtg-2.10.14.tar.gz | tar xvf -
cd mrtg-2.10.14
如果所有的库都已经预装在你的系统上了,你可以简单的配置mrtg:
./configure --prefix=/usr/local/mrtg-2
否则你需要提供所有需要的库的位置:
./configure --prefix=/usr/local/mrtg-2      
             --with-gd=/usr/local/src/gd      
             --with-z=/usr/local/src/zlib     
             --with-png=/usr/local/src/libpng
如果你有RRDtool(
http://www.rrdtool.org
)你可以告诉mrtg,可以选择是否使用RRDtool。这里是mrtg-rrd的手册(
http://people.ee.ethz.ch/~oetiker/webtools/mrtg/mrtg-rrd.html
)
configure会使系统环境适合安装mrtg。如果它发现了问题会告诉你,还会告诉你该怎么做。如果万事OK,你会以定制一个Makefile来结束安装,现在键入:
make
这会建立库并编辑所有的perl脚本中的路径。现在你可以通过键入以下来安装mrtg:
make install   (requires gnu install)
所有MRTG需要的软件已经安装在/usr/local/mrtg-2下面了。
现在你可以安全的删除刚才编译过的库。但是你可以保留它们,以防编译下一个版本的mrtg。
配置

一步是配置mrtg来监视一个网络设备。你可以建立一个mrtg.cfg文件来定义你想监视的设备。幸运的是你不用自己写配置文件。伴随mrtg你已经获
得一个cfgmaker。这是一个脚本,你可以用其指向一个你选择的路由设备;它会为你生成一个mrtg配置文件。你可以在bin子目录下找到这个脚本。
cfgmaker --global 'WorkDir: /home/httpd/mrtg'  
          --global 'Options[_]: bits,growright'
          --output /home/mrtg/cfg/mrtg.cfg   
           
community@router.abc.xyz
上面的这个例子会在/home/mrtg/cfg中建立一个mrtg配置文件,假设这是一个在你的web服务器上可见的目录。你可以通过阅读cfgmaker手册(
http://people.ee.ethz.ch/~oetiker/webtools/mrtg/cfgmaker.html
)来获得更多它的信息。有一个地方你可能会考虑使用的--ifref=ip用来防止接口重编号问题。如果你想重新写一个mrtg配置文件,确定你已经读过mrtg-reference manpage(
http://people.ee.ethz.ch/~oetiker/webtools/mrtg/mrtg-reference.html
)。
运行MRTG
一旦你建立了一个配置文件,试着做下面的事:
/usr/local/mrtg-2/bin/mrtg /home/mrtg/cfg/mrtg.cfg
这会询问你的路由器并生成你的第一个mrtg流量图和网页。当你第一次运行mrtg时或许会有许多抱怨由于丢失记录文件。别担心,在你开始运行mrtg的一两次中这是很正常的。如果持续这样,来看看下面的问题。
手动启动mrtg对长期运行是不利的。所以如果你想得到满意的结果,你可以这样定期的运行mrtg(默认5分钟一次)。
你还可以在你的crontab中这样加入mrtg:
0,5,10,15,20,25,30,35,40,45,50,55 * * * *
       /mrtg /mrtg.cfg
                --logging /var/log/mrtg.log
或者如果你用惯了Linux,如果你用crontab -e刚才这行可以这样写:
*/5 * * * *  /mrtg /mrtg.cfg
                       --logging /var/log/mrtg.log
如果你使用/etc/crontab还可以这样:
*/5 * * * *  mrtg-user  /mrtg /mrtg.cfg
                                 --logging /var/log/mrtg.log
你当然还可以将mrtg以守护进程的凡是运行,将:
RunAsDaemon: Yes

入mrtg的配置文件,并在系统中加入一个启动脚本。不幸的是,在不同的unix系统中,启动脚本是很不相同的。可能会是/etc/init.d或
/etc/rc.d/init.d这样的目录,你可以在其中加入启动脚本。更进一步,你必须建立一个符号连接在/etc/rc3.d或
/etc/rc.d/rc?.d中,诸如S65mrtg(这仅仅是一个简单的名字……只是注意以S开头而且S后面接了两个数字)。确定你参考了系统中的文
档以保证你正确的做这些。
在init.d中加入的最小规模的脚本是像这样的:
#! /bin/sh
cd /usr/local/mrtg-2.10.14/bin && ./mrtg --user=mrtg-user
       /home/httpd/mrtg/mrtg.cfg  --logging /var/log/mrtg.log
请注意这只会在当你在mrtg.cfg中定义了RunAsDaemon: Yes之后才工作。
作者
Tobias Oetiker
/********     The End     **********/  
/******Translate by Patrick**********/


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/703/showart_1366.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP