Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 操作系统 > 其他操作系统 > MRTG-Unix-Guide
【标  题】:MRTG-Unix-Guide
【关键字】:MRTG-Unix-Guide
【来  源】:http://blog.chinaunix.net/article.php?articleId=1366&blogId=703

MRTG-Unix-Guide

Your Ad Here

一篇介绍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 <oetiker@ee.ethz.ch>
/******** The End **********/
/******Translate by Patrick**********/

Nmap-Manpage1:【上一篇】
使用TCP/IP协议栈指纹进行远程操作系统辨识:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • 广州地铁局域网和城域网解决方案(9)
  • java环境变量
  • windows server 2003的设置技巧
  • 如何在使用SmartArray Raid控制器的机器上使用磁带机
  • Linux下网络分析例解
  • 一个简单的搜索机器人例子(Java)
  • 光纤放大器技术
  • C++对模板的分离式编译问题(ZT)
  • OmniTTY
  • 新J2ME脚本引擎Winner完成有感
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.