4. rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。
[iyunv@localhost rra]# ls 220_181_11_156_mem_*
220_181_11_156_mem_buffers_30.rrd 220_181_11_156_mem_cache_31.rrd 220_181_11_156_mem_free_32.rrd
(可以看出一个图形对应好几个rrd文件---即对应几个数据源---但也可以一个rrd文件包含几个数据源)
具体RRDTool的知识见以下网页:
使用Cacti监测系统与网络性能:
http://hi.baidu.com/myfreezone/blog/item/7f00fd247d2411338744f9c3.html
RRDTool应用示例:
http://hi.baidu.com/myfreezone/blog/item/4720f0f280538e13b07ec5c1.html
对RRDTool的总结
http://hi.baidu.com/myfreezone/blog/item/18973aad8ad66b094b36d6f8.html
安装rrdtool
http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/rrdtool-1.2.11.tar.gz
由于rrdtool1.2.11需要一些库文件支持,故需先安装配置支持的环境,然后编译安装。直接运行以下sh脚步就可以完成安装:
注意:将cgilib-0.5.tar.gz、zlib-1.2.2.tar.gz、libpng-1.2.8-config.tar.gz、freetype-2.1.9.tar.gz、libart_lgpl-2.3.17.tar.gz、rrdtool-1.2.11.tar.gz放到/root/rrdtool-1.2.11
将脚本保存为/root/rrdtool-1.2.11/rrdtoolinstall,并给执行权限chmod 766 /root/rrdtool-1.2.11/rrdtoolinstall。
#!/bin/sh
BUILD_DIR=/root/rrdtool-1.2.11
INSTALL_DIR=/usr/local/rrdtool
cd $BUILD_DIR
tar zxf cgilib-0.5.tar.gz
cd cgilib-0.5
make CC=gcc CFLAGS="-O3 -fPIC -I."
mkdir -p $BUILD_DIR/lb/include
cp *.h $BUILD_DIR/lb/include
mkdir -p $BUILD_DIR/lb/lib
cp libcgi* $BUILD_DIR/lb/lib
cd $BUILD_DIR
tar zxf zlib-1.2.2.tar.gz
cd zlib-1.2.2
env CFLAGS="-O3 -fPIC" ./configure --prefix=$BUILD_DIR/lb
make
make install
cd $BUILD_DIR
tar zxvf libpng-1.2.8-config.tar.gz
cd libpng-1.2.8-config
env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" CFLAGS="-O3 -fPIC" \
./configure --disable-shared --prefix=$BUILD_DIR/lb
make
make install
cd $BUILD_DIR
tar zxvf freetype-2.1.9.tar.gz
cd freetype-2.1.9
env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" CFLAGS="-O3 -fPIC" \
./configure --disable-shared --prefix=$BUILD_DIR/lb
make
make install
cd $BUILD_DIR
tar zxvf libart_lgpl-2.3.17.tar.gz
cd libart_lgpl-2.3.17
env CFLAGS="-O3 -fPIC" ./configure --disable-shared --prefix=$BUILD_DIR/lb
make
make install
我这里说的安装SNMP服务并不是要求安装SNMPD,其实是Cacti需要用到net-snmp中的两个命令――snmpwalk和snmpget进行数据的采集。我们可以直接在系统中运行snmpwalk和snmpget看是否有该命令,如果有则不用安装了。
http://prdownloads.sourceforge.net/net-snmp/net-snmp-5.2.1.1.tar.gz
# tar zxf net-snmp-5.2.1.1.tar.gz
# cd net-snmp-5.2.1.1
#./configure --prefix=/usr/local/net-snmp --enable-developer
# make
# make install
安装cacti
http://www.cacti.net/downloads/cacti-0.8.6f.tar.gz
# cp cacti-0.8.6f.tar.gz /usr/local/http/htdocs/
# cd /usr/local/http/htdocs/
# tar zxvf cacti-0.8.6f.tar.gz
# mv cacti-0.8.6f cacti