




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、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文件中(在
2、cacti根目录的rra文件夹下)。另外,当生成图片时对采集的数据的处理方式:有gauge、counter、derive、absolute。参考以下例子:如果輸入資料依序為 98 100 98: 1.gauge(個別值,像cpu loading):產生圖檔時,畫 98 100 98 2.counter (累計值,像流量資料):產生圖檔時,畫,2 -2 3.derive (累計值,像流量資料),小於0畫0:產生圖檔時,畫 2 0 4.absolute 如同 counter,但 counter 可能 overflow(數值過大),所以會取絕對值 補充說明,counter/derive/avsolv
3、te 雖是取差值,但會再除以兩次間隔間的秒數,如上 counter 例,兩次間隔間為 300 秒,那畫出來的就是 2/300,-2/300 的值数据采集中可以看到定义的是什么数据类型:counter和gaugec:usrbinsnmpget -v 2c -c public ...0tcp-mib:tcpactiveopens.0 = counter32: 1927 c:usrbinsnmpget -v 2c -c public ...0tcp-mib:tcpcurrestab.0 =
4、 gauge32: 04. rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(round robin archive),它能够存储的数据笔数在创建时就已经定义。rootlocalhost 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文件包含几个数据源)下面对单独的rrd文件分析,主
5、要看一下他的结构信息提示符#/usr/local/rrdtool-1.2.11/bin/rrdtool info 220_181_11_156_mem_buffers_30.rrdfilename = 220_181_11_156_mem_buffers_30.rrdrrd_version = 0003step = 300last_update = 1132935300dsmem_buffers.type = gaugedsmem_buffers.minimal_heartbeat = 600dsmem_buffers.min = 0.0000000000e+00dsmem_buffers.m
6、ax = 1.0000000000e+07dsmem_buffers.last_ds = unkndsmem_buffers.value = 0.0000000000e+00dsmem_buffers.unknown_sec = 0rra0.cf = averagerra0.rows = 600rra0.pdp_per_row = 1rra0.xff = 5.0000000000e-01rra0.cdp_prep0.value = nanrra0.cdp_prep0.unknown_datapoints = 0rra1.cf = averagerra1.rows = 700rra1.pdp_p
7、er_row = 6rra1.xff = 5.0000000000e-01rra1.cdp_prep0.value = 6.1228800000e+05rra1.cdp_prep0.unknown_datapoints = 0rra2.cf = averagerra2.rows = 775rra2.pdp_per_row = 24rra2.xff = 5.0000000000e-01rra2.cdp_prep0.value = 6.1228800000e+05rra2.cdp_prep0.unknown_datapoints = 0rra3.cf = averagerra3.rows = 79
8、7rra3.pdp_per_row = 288rra3.xff = 5.0000000000e-01rra3.cdp_prep0.value = 6.9392640000e+06rra3.cdp_prep0.unknown_datapoints = 161rra4.cf = maxrra4.rows = 600rra4.pdp_per_row = 1rra4.xff = 5.0000000000e-01rra4.cdp_prep0.value = nanrra4.cdp_prep0.unknown_datapoints = 0rra5.cf = maxrra5.rows = 700rra5.p
9、dp_per_row = 6rra5.xff = 5.0000000000e-01rra5.cdp_prep0.value = 2.0409600000e+05rra5.cdp_prep0.unknown_datapoints = 0rra6.cf = maxrra6.rows = 775rra6.pdp_per_row = 24rra6.xff = 5.0000000000e-01rra6.cdp_prep0.value = 2.0409600000e+05rra6.cdp_prep0.unknown_datapoints = 0rra7.cf = maxrra7.rows = 797rra
10、7.pdp_per_row = 288rra7.xff = 5.0000000000e-01rra7.cdp_prep0.value = 2.0409600000e+05rra7.cdp_prep0.unknown_datapoints = 161 5. 参考rrdtool语法理解cacti的各个功能与之对于关系:rootlocalhost rrdtool-1.0.50# ./bin/rrdtoolrrdtool 1.0.50 copyright 1997-2004 by tobias oetiker usage: rrdtool options command command_options
11、valid commands: create, update, graph, dump, restore, last, first, info, fetch, tune, resize, xportrrdtool is distributed under the terms of the gnu generalpublic license version 2. (/copyleft/gpl.html)for more information read the rrd manpagesrootlocalhost rra# /usr/local/rrdtool-1.2.11/
12、bin/rrdtool -helprrdtool 1.2.11 copyright 1997-2005 by tobias oetiker compiled sun nov 13 12:30:19 cst 2005usage: rrdtool options command command_optionsvalid commands: create, update, updatev, graph, dump, restore, last, first, info, fetch, tune, resize, xportrrdtool is distributed under the terms
13、of the gnu generalpublic license version 2. (/copyleft/gpl.html)for more information read the rrd manpages四、 cacti的安装1安装环境:redhat9.02安装版本的特别说明对cacti的poller type改为了cactid,他是用c语言写程序,目的是为了配合cacti工作,解决poller.php更新、获取数据慢的缺点;具有多进程多线程的特性安装rrdtool版本是1.2.11,此版本的特点是生成的图像比1.0.50版本更美观3安装以下软件包:httpd-2
14、.0.54.tar.gzmysql-4.0.18.tar.gzphp-4.4.0.tar.gzrrdtool-1.2.11.tar.gznet-snmp-.tar.gzcacti-0.8.6f.tar.gzcacti-cactid-0.8.6f-1.tar.gz都放到/tools下a安装mysql groupadd mysql useradd -g mysql mysql cd /tools tar zxvf mysql-4.0.18.tar.gz cd mysql-4.0.18./configure -prefix=/usr/local/mysql -with-charset=
15、gbk -with-extra-charsets=all -with-mysqld-user=mysql make make install /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/ cp mysql.server /etc/rc.d/init.d/mysql chkconfig -add mysql chown -r mysql.mysql /usr/
16、local/mysql/var chmod 700 /usr/local/mysql/var /etc/rc.d/init.d/mysql start或者/usr/local/mysql/bin/mysqld_safe & cp /usr/local/mysql/bin/mysql /usr/local/bin修改mysql的最大连接数 vi mysqld_safe找到:nohup $ledir/mysqld -basedir=$my_basedir_version -datadir=$datadir - -skip-locking $err_log 2&1在-skip-locking与 之间
17、插入-o max_connections=1000重起mysqlb安装apache cd /tools/http./configurs -prefix=/usr/local/http/ make make installc安装php cd php./configure -with-mysql -with-apxs2=/usr/local/http/bin/apxs -enable-track-vars -with-zlib-dir=/usr/include -with-gd make make install cp php.ini-dist /usr/local/lib/php.inid安装r
18、rdtoolhttp:/people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/rrdtool-1.2.11.tar.gz由于rrdtool1.2.11需要一些库文件支持,故需先安装配置支持的环境,然后编译安装。直接运行以下sh脚步就可以完成安装:(注意脚步中的链接是否失效)#!/bin/sh#intall the rrdtool-1.2.11 ,and aslo install the support libraries.#the source page#http:/people.ee.ethz.ch/oetiker/webtools/rrdtool/d
19、oc/rrdbuild.en.html#build_dir=/tmp/rrdbuildinstall_dir=/usr/local/rrdtool-1.2.11mkdir -p $build_dircd $build_dir#building cgilib# cd $build_dirwget http:/people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/libs/cgilib-0.5.tar.gztar zxf cgilib-0.5.tar.gzcd cgilib-0.5make cc=gcc cflags=-o3 -fpic -i.mkdir -
20、p $build_dir/lb/includecp *.h $build_dir/lb/includemkdir -p $build_dir/lb/libcp libcgi* $build_dir/lb/lib#building zlib # cd $build_dirwget http:/people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/libs/zlib-1.2.2.tar.gztar zxf zlib-1.2.2.tar.gzcd zlib-1.2.2env cflags=-o3 -fpic ./configure -prefix=$build
21、_dir/lbmakemake install#building libpng#cd $build_dirwget http:/people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/libs/libpng-1.2.8-config.tar.gztar zxvf libpng-1.2.8-config.tar.gzcd libpng-1.2.8-configenv cppflags=-i$build_dir/lb/include ldflags=-l$build_dir/lb/lib cflags=-o3 -fpic ./configure -disabl
22、e-shared -prefix=$build_dir/lbmakemake install#building freetype #cd $build_dirwget http:/people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/libs/freetype-2.1.9.tar.gztar zxvf freetype-2.1.9.tar.gzcd freetype-2.1.9env cppflags=-i$build_dir/lb/include ldflags=-l$build_dir/lb/lib cflags=-o3 -fpic ./config
23、ure -disable-shared -prefix=$build_dir/lbmakemake install#building libart_lgpl#cd $build_dirwget http:/people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/libs/libart_lgpl-2.3.17.tar.gztar zxvf libart_lgpl-2.3.17.tar.gzcd libart_lgpl-2.3.17env cflags=-o3 -fpic ./configure -disable-shared -prefix=$build_d
24、ir/lbmakemake install#endendendendendendendendendendendendendendendendendendend#ir=-i$build_dir/lb/includecppflags=$ir $ir/libart-2.0 $ir/freetype2 $ir/libpngldflags=-l$build_dir/lb/libcflags=-o3export cppflags ldflags cflags#start install the rrdtool-1.2.11cd $build_dirwget http:/people.ee.ethz.ch/
25、oetiker/webtools/rrdtool/pub/rrdtool-1.2.11.tar.gztar zxf rrdtool-1.2.11.tar.gzcd rrdtool-1.2.11./configure -prefix=$install_dir -disable-python -disable-tclmakemake installe安装net-snmpunix系统安装的都是net-snmp或ucd-snmp(其实两个都是同一组人写的)。如果没有安装snmp,可以到上下载源码编译安装。 我这里说的安装snmp服务并不是要求安装snmp
26、d,其实是cacti需要用到net-snmp中的两个命令snmpwalk和snmpget进行数据的采集。我们可以直接在系统中运行snmpwalk和snmpget看是否有该命令,如果有则不用安装了。 tar zxf net-snmp-.tar.gz cd net-snmp-./configure -prefix=/usr/local/net-snmp -enable-developer make make installf安装cacti cp cacti-0.8.6f.tar.gz /usr/local/http/htdocs/ cd /usr/local/http/
27、htdocs/ tar zxvf cacti-0.8.6f.tar.gz mv cacti-0.8.6f cacti g安装cacti-cactidcactid 的安装需要以下支持: net-snmp-devel (需要编译安装net-snmp时添加-enable-developer选项) mysql mysql-devel (mysql源文件编译安装后默认支持) openssl-devel (redhat9.0默认安装)因此需要检查是否具备安装的环境。 tar zxf cacti-cactid-0.8.6f-1.tar.gz cd cactid0.8.6-f1 ./configure ;ma
28、ke 这是此目录下你将看到cactid 和cactid.conf mkdir /usr/local/cactid cp cactid cacti.conf /usr/local/cactid/h安装完成后配置cacti1配置apache vi /usr/local/http/conf/httpd.conf加入 addtype application/x-tar .tgz addtype application/x-httpd-php .php addtype image/x-icon .ico directoryindex index.php index.html index.html.var
29、 /usr/local/http/bin/apachectl stop /usr/local/http/bin/apachectl start编辑测试php文件 test.php内容如下:2配置mysql建立cacti需用的数据库 /usr/local/mysql/bin/mysqlmysql create database cactidb; query ok, 1 row affected (0.00 sec) mysql grant all on cactidb.* to root; query ok, 0 rows affected (0.01 sec) mysql grant all
30、on cactidb.* to rootlocalhost; query ok, 0 rows affected (0.01 sec) mysql grant all on cactidb.* to cactiuser; query ok, 0 rows affected (0.00 sec) mysql grant all on cactidb.* to cactiuserlocalhost; query ok, 0 rows affected (0.01 sec) mysql set password for cactiuserlocalhost=password(cactipw); qu
31、ery ok, 0 rows affected (0.00 sec) mysql exit cd /usr/local/http/htdocs/cacti /usr/local/mysql/bin/mysql -uroot cactidb /dev/null 2&15完成配置http:/ip/cacti开始配置默认用户名密码admin/admin更改默认密码设定snmpwalk binary path/usr/local/net-snmp/bin/snmpwalksnmpget binary path/usr/local/net-snmp/bin/snmpgetrrdtool binary p
32、ath/usr/local/rrdtool-1.2.11/bin/rrdtoolphp binary path/usr/local/bin/phpcacti log file path/usr/local/httpd/htdocs/cacti/log/cacti.logcactid poller file path/usr/local/cactid/cactid另外,进入cacti后需确认更改一下位置:(如下图)consolesettingsgeneralconsolesettingspoller五、 cacti的升级补丁cacti0.8.6f以前的版本存在数据注入的漏洞,如果使用一定要打补丁
33、。现在最新的版本是cacti0.8.6g (测试版本)以cacti0.8.6f的补丁安装说明,补丁的安装有两种方法:a) 直接下载pre-patched 文件,然后覆盖cacti根下的文件b) 利用sh脚步在cacti根目录运行更新打补丁。请参考附录一(cacti-0.8.6f升级补丁sh脚步)六、 cacti的使用1) 概况在地址栏敲入6/cacti/index.php进入登录界面,成功认证登录后,你将看到如下图所示:2) 利用已经定义的图形模板,添加一台主机consoledevicesadd点击create创建了一个主机,如下图点击create gra
34、phs for this host 进入(为libweb181创建新图),并选择你要创建的新图。点击create按钮。主机添加完毕。3) 把已经添加的一台主机加入graph trees中以方便查看consolegraph treeadd点击“北京兆维总流量”进入,如下图所示,点击add ,并填写要添加的主机, 如下图点击create,完成添加主机到graph trees。你可以在这里对图形进行查看(如下图)4) 添加数据源模板以添加个收集tcp连接数的数据源为例说明。依次点击console - data templates - add点击create,然后填入oid,点击save。如下图这时在
35、data templates中可以看到刚创建的数据源5) 添加图形模板以添加生成tcp连接数的图形为例说明。依次点击console - graph templates - add在表格中填入以下内容点击create,如下图,然后添加graph template items,点击add,在表格中填入相应数据点击create,将会看到,如下图:然后依次添加current average maxinum,如下图:最后的graph template items 如下图然后点击save退出,图形模板建立完毕。6) 添加主机模板以添加testhost主机模板为例,并向teshost模板中添加刚刚建立的图形
36、模板testgraph依次点击console - host templates - add点击create,如下图:向testhost模板中添加testgraph图形模板,如下图选中testgraph,点击add,如下图可以看到testgraph已经添加,然后点击save退出。七、 问题解答1.利用任意两个或多个数据源在一张图表上显示数据2.tree目录中主机顺序的调整3.图片顺序的调整4.一个网卡口捆绑多个ip地址的的主机5.32位计数器的问题-能够记录的最大流量信息?a1024*1024*1024*4a/3008114532461.22666666666666666666667bps6.换
37、ip时怎么办? 或更换主机怎么办?7.net-snmp的配置8.snmpgetsnmpwalk 用法c:usrbinsnmpget -v 2c -c public ..0.0tcp-mib:tcpinsegs.0 = counter32: 38199c:usrbinsnmpget -v 2c -c public ...0tcp-mib:tcpactiveopens.0 = counter32: 1927 c:usrbinsnmpget -v 2c -c public 192.168.
38、224.1 ...0tcp-mib:tcpcurrestab.0 = gauge32: 0c:usrbinsnmpwalk -v 2c -c public hrstoragedescrhost-resources-mib:hrstoragedescr.1 = string: a:host-resources-mib:hrstoragedescr.2 = string: c: label:xp serial number bc58e04host-resources-mib:hrstoragedescr.3 = string: d: label:2003 serial number bce3bbchost-resources-mib:hrstoragedescr.4 = string: e: label:back serial number 19d217bhost-resources-mib:hrstoragedescr.5 = string: f: label:tool serial number 19e0d79host-resources-mib:hrstoragedescr.6 = string:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论