Cacti使用手册0206.docx
- 文档编号:3977699
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:27
- 大小:995.10KB
Cacti使用手册0206.docx
《Cacti使用手册0206.docx》由会员分享,可在线阅读,更多相关《Cacti使用手册0206.docx(27页珍藏版)》请在冰豆网上搜索。
Cacti使用手册0206
Cacti使用手册
一、Cacti的架构
二、Cacti的工作流程
三、Cacti简介
1.cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。
因此,snmp和rrdtool是cacti的关键。
Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。
2.Mysql配合PHP程序存储一些变量数据并对变量数据的调用如:
主机名、主机ip、snmp团体名、端口号、模板信息等变量。
3.snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。
另外,当生成图片时对采集的数据的处理方式:
有gauge、counter、derive、absolute。
参考以下例子:
如果輸入資料依序為9810098:
1.GAUGE(個別值,像CPUloading):
產生圖檔時,畫9810098
2.COUNTER(累計值,像流量資料):
產生圖檔時,畫,2-2
3.DERIVE(累計值,像流量資料),小於0畫0:
產生圖檔時,畫20
4.ABSOLUTE如同COUNTER,但COUNTER可能overflow(數值過大),所以會取絕對值
補充說明,COUNTER/DERIVE/AVSOLVTE雖是取差值,但會再除以兩次間隔間的秒數,如上COUNTER例,兩次間隔間為300秒,那畫出來的就是2/300,-2/300的值
数据采集中可以看到定义的是什么数据类型:
Counter和gauge
C:
\usr\bin>snmpget-v2c-cpublic192.168.224.1.1.3.6.1.2.1.6.5.0
TCP-MIB:
:
tcpActiveOpens.0=Counter32:
1927
C:
\usr\bin>snmpget-v2c-cpublic192.168.224.1.1.3.6.1.2.1.6.9.0
TCP-MIB:
:
tcpCurrEstab.0=Gauge32:
0
4.rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(RoundRobinArchive),它能够存储的数据笔数在创建时就已经定义。
[root@localhostrra]#ls220_181_11_156_mem_*
220_181_11_156_mem_buffers_30.rrd220_181_11_156_mem_cache_31.rrd220_181_11_156_mem_free_32.rrd
(可以看出一个图形对应好几个rrd文件---即对应几个数据源---但也可以一个rrd文件包含几个数据源)
下面对单独的rrd文件分析,主要看一下他的结构信息
『提示符』#/usr/local/rrdtool-1.2.11/bin/rrdtoolinfo220_181_11_156_mem_buffers_30.rrd
filename="220_181_11_156_mem_buffers_30.rrd"
rrd_version="0003"
step=300
last_update=1132935300
ds[mem_buffers].type="GAUGE"
ds[mem_buffers].minimal_heartbeat=600
ds[mem_buffers].min=0.0000000000e+00
ds[mem_buffers].max=1.0000000000e+07
ds[mem_buffers].last_ds="UNKN"
ds[mem_buffers].value=0.0000000000e+00
ds[mem_buffers].unknown_sec=0
rra[0].cf="AVERAGE"
rra[0].rows=600
rra[0].pdp_per_row=1
rra[0].xff=5.0000000000e-01
rra[0].cdp_prep[0].value=NaN
rra[0].cdp_prep[0].unknown_datapoints=0
rra[1].cf="AVERAGE"
rra[1].rows=700
rra[1].pdp_per_row=6
rra[1].xff=5.0000000000e-01
rra[1].cdp_prep[0].value=6.1228800000e+05
rra[1].cdp_prep[0].unknown_datapoints=0
rra[2].cf="AVERAGE"
rra[2].rows=775
rra[2].pdp_per_row=24
rra[2].xff=5.0000000000e-01
rra[2].cdp_prep[0].value=6.1228800000e+05
rra[2].cdp_prep[0].unknown_datapoints=0
rra[3].cf="AVERAGE"
rra[3].rows=797
rra[3].pdp_per_row=288
rra[3].xff=5.0000000000e-01
rra[3].cdp_prep[0].value=6.9392640000e+06
rra[3].cdp_prep[0].unknown_datapoints=161
rra[4].cf="MAX"
rra[4].rows=600
rra[4].pdp_per_row=1
rra[4].xff=5.0000000000e-01
rra[4].cdp_prep[0].value=NaN
rra[4].cdp_prep[0].unknown_datapoints=0
rra[5].cf="MAX"
rra[5].rows=700
rra[5].pdp_per_row=6
rra[5].xff=5.0000000000e-01
rra[5].cdp_prep[0].value=2.0409600000e+05
rra[5].cdp_prep[0].unknown_datapoints=0
rra[6].cf="MAX"
rra[6].rows=775
rra[6].pdp_per_row=24
rra[6].xff=5.0000000000e-01
rra[6].cdp_prep[0].value=2.0409600000e+05
rra[6].cdp_prep[0].unknown_datapoints=0
rra[7].cf="MAX"
rra[7].rows=797
rra[7].pdp_per_row=288
rra[7].xff=5.0000000000e-01
rra[7].cdp_prep[0].value=2.0409600000e+05
rra[7].cdp_prep[0].unknown_datapoints=161
5.参考rrdtool语法理解cacti的各个功能与之对于关系:
[root@localhostrrdtool-1.0.50]#./bin/rrdtool
RRDtool1.0.50Copyright1997-2004byTobiasOetiker
Usage:
rrdtool[options]commandcommand_options
Validcommands:
create,update,graph,dump,restore,
last,first,info,fetch,tune,resize,xport
RRDtoolisdistributedundertheTermsoftheGNUGeneral
PublicLicenseVersion2.(www.gnu.org/copyleft/gpl.html)
FormoreinformationreadtheRRDmanpages
[root@localhostrra]#/usr/local/rrdtool-1.2.11/bin/rrdtool--help
RRDtool1.2.11Copyright1997-2005byTobiasOetiker
CompiledSunNov1312:
30:
19CST2005
Usage:
rrdtool[options]commandcommand_options
Validcommands:
create,update,updatev,graph,dump,restore,
last,first,info,fetch,tune,resize,xport
RRDtoolisdistributedundertheTermsoftheGNUGeneral
PublicLicenseVersion2.(www.gnu.org/copyleft/gpl.html)
FormoreinformationreadtheRRDmanpages
四、Cacti的安装
1.安装环境:
redhat9.0
2.安装版本的特别说明
对cacti的pollertype改为了cactid,他是用c语言写程序,目的是为了配合cacti工作,解决poller.php更新、获取数据慢的缺点;具有多进程多线程的特性
安装rrdtool版本是1.2.11,此版本的特点是生成的图像比1.0.50版本更美观
3.安装以下软件包:
httpd-2.0.54.tar.gz
mysql-4.0.18.tar.gz
php-4.4.0.tar.gz
rrdtool-1.2.11.tar.gz
net-snmp-5.2.1.1.tar.gz
cacti-0.8.6f.tar.gz
cacti-cactid-0.8.6f-1.tar.gz
都放到/tools下
A.安装mysql
#groupaddmysql
#useradd-gmysqlmysql
#cd/tools
#tarzxvfmysql-4.0.18.tar.gz
#cdmysql-4.0.18
#./configure--prefix=/usr/local/mysql--with-charset=gbk--with-extra-charsets=all--with-mysqld-user=mysql
#make
#makeinstall
#/usr/local/mysql/bin/mysql_install_db
#echo/usr/local/mysql/lib/mysql>>/etc/ld.so.conf
#su-
#ldconfig
#cd/home/admin/mysql-4.0.18/support-files/
#cpmysql.server/etc/rc.d/init.d/mysql
#chkconfig--addmysql
#chown-Rmysql.mysql/usr/local/mysql/var
#chmod700/usr/local/mysql/var
#/etc/rc.d/init.d/mysqlstart或者/usr/local/mysql/bin/mysqld_safe&
#cp/usr/local/mysql/bin/mysql/usr/local/bin
修改mysql的最大连接数
#vimysqld_safe
找到此位置,在--skip-locking与>>之间插入-Omax_connections=1000
iftest-z"$args"
then
$NOHUP_NICENESS$ledir/$MYSQLD$defaults--basedir=$MY_BASEDIR_VERSION--datadir=$DATADIR$USER_OPTION--pid-file=$pid_file--skip-locking-Omax_connections=1000>>$err_log2>&1
else
eval"$NOHUP_NICENESS$ledir/$MYSQLD$defaults--basedir=$MY_BASEDIR_VERSION--datadir=$DATADIR$USER_OPTION--pid-file=$pid_file--skip-locking$args-Omax_connections=1000>>$err_log2>&1"
fi
重起mysql
B.安装apache
#cd/tools/http
#./configurs--prefix=/usr/local/http/
#make
#makeinstall
C.安装php
#cdphp
#./configure--with-mysql--with-apxs2=/usr/local/http/bin/apxs--enable-track-vars--with-zlib-dir=/usr/include--with-gd
#make
#makeinstall
#cpphp.ini-dist/usr/local/lib/php.ini
D.安装rrdtool
http:
//people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/rrdtool-1.2.11.tar.gz
由于rrdtool1.2.11需要一些库文件支持,故需先安装配置支持的环境,然后编译安装。
直接运行以下sh脚步就可以完成安装:
(注意脚步中的链接是否失效)
#!
/bin/sh
#intalltherrdtool-1.2.11,andasloinstallthesupportlibraries.
######thesourcepage
#http:
//people.ee.ethz.ch/~oetiker/webtools/rrdtool/doc/rrdbuild.en.html
#
####################################################################
BUILD_DIR=/tmp/rrdbuild
INSTALL_DIR=/usr/local/rrdtool-1.2.11
mkdir-p$BUILD_DIR
cd$BUILD_DIR
####################################################################
##########Buildingcgilib
#
cd$BUILD_DIR
wgethttp:
//people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/libs/cgilib-0.5.tar.gz
tarzxfcgilib-0.5.tar.gz
cdcgilib-0.5
makeCC=gccCFLAGS="-O3-fPIC-I."
mkdir-p$BUILD_DIR/lb/include
cp*.h$BUILD_DIR/lb/include
mkdir-p$BUILD_DIR/lb/lib
cplibcgi*$BUILD_DIR/lb/lib
##########Buildingzlib
#
cd$BUILD_DIR
wgethttp:
//people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/libs/zlib-1.2.2.tar.gz
tarzxfzlib-1.2.2.tar.gz
cdzlib-1.2.2
envCFLAGS="-O3-fPIC"./configure--prefix=$BUILD_DIR/lb
make
makeinstall
##########Buildinglibpng
#
cd$BUILD_DIR
wgethttp:
//people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/libs/libpng-1.2.8-config.tar.gz
tarzxvflibpng-1.2.8-config.tar.gz
cdlibpng-1.2.8-config
envCPPFLAGS="-I$BUILD_DIR/lb/include"LDFLAGS="-L$BUILD_DIR/lb/lib"CFLAGS="-O3-fPIC"\
./configure--disable-shared--prefix=$BUILD_DIR/lb
make
makeinstall
##########Buildingfreetype
#
cd$BUILD_DIR
wgethttp:
//people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/libs/freetype-2.1.9.tar.gz
tarzxvffreetype-2.1.9.tar.gz
cdfreetype-2.1.9
envCPPFLAGS="-I$BUILD_DIR/lb/include"LDFLAGS="-L$BUILD_DIR/lb/lib"CFLAGS="-O3-fPIC"\
./configure--disable-shared--prefix=$BUILD_DIR/lb
make
makeinstall
##########Buildinglibart_lgpl
#
cd$BUILD_DIR
wgethttp:
//people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/libs/libart_lgpl-2.3.17.tar.gz
tarzxvflibart_lgpl-2.3.17.tar.gz
cdlibart_lgpl-2.3.17
envCFLAGS="-O3-fPIC"./configure--disable-shared--prefix=$BUILD_DIR/lb
make
makeinstall
######################################################################
#
#ENDENDENDENDENDENDENDENDENDENDENDENDENDENDENDENDENDENDEND
#
IR=-I$BUILD_DIR/lb/include
CPPFLAGS="$IR$IR/libart-2.0$IR/freetype2$IR/libpng"
LDFLAGS="-L$BUILD_DIR/lb/lib"
CFLAGS=-O3
exportCPPFLAGSLDFLAGSCFLAGS
######################################################################
#startinstalltherrdtool-1.2.11
cd$BUILD_DIR
wgethttp:
//people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/rrdtool-1.2.11.tar.gz
tarzxfrrdtool-1.2.11.tar.gz
cdrrdtool-1.2.11
./configure--prefix=$INSTALL_DIR--disable-python--disable-tcl
make
makeinstall
E.安装net-snmp
Unix系统安装的都是net-snmp或ucd-snmp(其实两个都是同一组人写的)。
如果没有安装snmp,可以到net-snmp.sourceforge.org上下载源码编译安装。
我这里说的安装SNMP服务并不是要求安装SNMPD,其实是Cacti需要用到net-snmp中的两个命令――snmpwalk和snmpget进行数据的采集。
我们可以直接在系统中运行snmpwalk和snmpget看是否有该命令,如果有则不用安装了。
#tarzxfnet-snmp-5.2.1.1.tar.gz
#cdnet-snmp-5.2.1.2
#./configure--prefix=/usr/local/net-snmp--enable-developer
#make
#makeinstall
F.安装cacti
#cpcacti-0.8.6f.tar.gz/usr/local/http/htdocs/
#cd/usr/local/http/htdocs/
#tarzxvfcacti-0.8.6f.tar.gz
#mvcacti-0.8.6fcacti
G.安装cacti-cactid
CACTID的安装需要以下支持:
∙net-snmp-devel(需要编译安装net-snmp时添加--enable-developer选项)
∙mysql
∙mysql-devel(mysql源文件编译安装后默认支持)
∙openssl-devel(redhat9.0默认安装)
因此需要检查是否具备安装的环境。
#tarzxfcacti-cactid-0.8.6f-1.tar.gz
#cdcactid0.8.6-f1
#./configure;make
这是此目录下你将看到cactid和cactid.conf
#mkdir/usr/local/cactid
#cpcactidcactid.conf/usr/local/cactid
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Cacti 使用手册 0206
![提示](https://static.bdocx.com/images/bang_tan.gif)