下面介绍如何在Linux上构建一个MRTG监控中心。
第一步:安装操作系统
MRTG可运行在绝大多数操作系统中,当然也包括Linux。这里选用的是Fedora Core 1。为了构建一个MRTG监控中心,还需要安装Apache和MRTG。考虑到能适应更多的Linux版本,可以不选用RPM的安装方式,尽管它比较简单,而是从tar包开始安装。
第二步:安装Apache
解压:
#tar -xzpvf httpd-2.0.47.tar.gz -C /var/local/ |
编译:
#cd /var/local/httpd-2.0.47/
#./configure --prefix=/usr/local/terry_yu/httpd --enable-so
#make |
安装:
设置为开机时启动:
#echo "/usr/local/terry_yu/httpd/bin/apachectl start" >> /etc/rc.local |
第三步:配置Apache的页面认证
在Apache的配置文件/usr/local/terry_yu/httpd/conf/httpd.conf中,找到对/usr/local/terry_yu/httpd/htdocs目录的定义,将其中的“AllowOverride None”修改为“AllowOverride all”。
在/usr/local/terry_yu/httpd/htdocs目录下创建一个名为.htaccess的文件,其内容如下:
authuserfile /usr/local/terry_yu/httpd/.htpasswd
authname "Traffic Monitor(Haplink IDC)"
authtype basic
require valid-user |
然后,建立账号,并生成密码文件。使用以下命令为terry建立一个账号:
#/usr/local/terry_yu/httpd/bin/htpasswd -c
#/usr/local/terry_yu/httpd/.htpasswd terry |
可以使用以下命令修改terry的账号密码:
#/usr/local/terry_yu/httpd/bin/htpasswd -m .htpasswd terry |
最后,启动Apache。使用以下命令启动Apache:
#/usr/local/terry_yu/httpd/bin/apachectl start |
启动Apache后,访问HTTP服务,如果要求输入用户名、密码进入,则Apache的页面认证配置成功。
第四步:安装MRTG
由于MRTG需要其它的一些库来生成图片,所以先要安装zlib、ibpng和gd。具体安装方法如下:下载并安装zlib:
#wget http://www.gzip.org/zlib/zlib-1.1.4.tar.gz
#tar -xzpvf zlib-1.1.4.tar.gz
#mv zlib-1.1.4 /usr/local/terry_yu/zlib
#cd /usr/local/terry_yu/zlib/
#./configure
#make |
下载并安装libpng:
#wget http://ftp6.us.freebsd.org/pub/libs/png/src/libpng-1.0.15.tar.gz
#tar -xzpvf libpng-1.0.15.tar.gz
#mv libpng-1.0.15 /usr/local/terry_yu/libpng
#cd /usr/local/terry_yu/libpng/
#make -f scripts/makefile.std CC=gcc ZLIBLIB=../zlib ZLIBINC=../zlib |
下载并安装gd:
#wget http://www.boutell.com/gd/http/gd-1.8.4.tar.gz
#tar -xzpvf gd-1.8.4.tar.gz
#mv gd-1.8.4 /usr/local/terry_yu/gd
#cd /usr/local/terry_yu/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 -D HAVE_LIBPNG" |
安装MRTG:
#tar -xzpvf mrtg-2.10.13.tar.gz
#cd mrtg-2.10.13/
#./configure --prefix=/usr/local/terry_yu/mrtg \
--with-gd=/usr/local/terry_yu/gd \
--with-z=/usr/local/terry_yu/zlib \
--with-png=/usr/local/terry_yu/libpng |
第五步:配置MRTG
生成配置文件:
#mkdir /usr/local/terry_yu/mrtg/cfg
#cd /usr/local/terry_yu/mrtg/bin
#./cfgmaker --global 'WorkDir: /usr/local/terry_yu/httpd/htdocs/' \
--global 'Options[_]: bits,growright'\
--global 'Language: GB2312' \
--output /usr/local/terry_yu/mrtg/cfg/xxx.cfg \
public@XXX.XXX.XXX.XXX |
“XXX.XXX.XXX.XXX”是SNMP服务器的IP,以上命令将生成对服务器的配置文件。MRTG生成的HTML页面可以完全由用户定制,所有定制都是通过对生成的该配置文件的修改来实现的。MRTG配置文件的内容很丰富,相关内容请参考MRTG的帮助文档。
还可以对MRTG设置定期执行方式。执行“crontab -e”,加入如下行:
*/5 * * * * /bin/env LANG=en_US /usr/local/terry_yu/mrtg/bin/mrtg
/usr/local/terry_yu/mrtg/cfg/xxx.cfg |
以上命令设定每隔5分钟监控一次配置文件xxx.cfg中所定义的服务器。5分钟是一个比较合理的值,也可以按自己的需求重新定义。
执行以下命令还可以生成一个索引页面:
#cd /usr/local/terry_yu/mrtg/bin
#./indexmaker --output="/usr/local/terry_yu/httpd/htdocs/index.html"
--title="Taffic Monitor Center" /usr/local/terry_yu/mrtg/cfg/xxx.cfg |
使用MRTG监控中心
通过以上几步,已经完成了对一台服务器的监控设定,如果还有其它服务器需要流量监控,重复第五步即可。如果这些服务器都是位于防火墙后面,还要修改一个防火墙的规则,即开放MRTG监控中心对外的80端口,同时过滤掉所有外界对SNMP服务端口的访问。
以上安装配置完成,用户可以通过浏览器访问MRTG监控中心。MRTG监控中心会要求输入用户名、密码才能进入,而Apache的日志会记录相关的事件,以备日后对登录情况进行审查。
到此为止,已经可以应用一个简单的MRTG监控中心实现集中管理,并且拥有身份认证。然而,这仅仅只是一个开始,管理员还可以通过编写CGI程序来实现更多的功能。
比如详细记录访问情况、提供更直观的监控报告等。此外,还可以使用SSL加密页面来传输数据。更多的应用就要看各人发挥了,希望本文能给大家一些有益的启发