Cacti linux环境配置使用手册.docx
- 文档编号:27828146
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:28
- 大小:898.14KB
Cacti linux环境配置使用手册.docx
《Cacti linux环境配置使用手册.docx》由会员分享,可在线阅读,更多相关《Cacti linux环境配置使用手册.docx(28页珍藏版)》请在冰豆网上搜索。
Cactilinux环境配置使用手册
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的安装
cacti程序由0.8.6c升级为0.8.6f,主要解决了抓取的snmp信息中如果含有“KBytes”时,cacti无法处理。
并相应对net-snmp进行升级,因为0.8.6f需要net-snmp5.1或5.2的支持,否则你将发现一些图形无法作出。
详细的安装过程请参考附录一
(可选)对cacti的pollertype改为了cactid,他是用c语言写程序,目的是为了配合cacti工作,解决poller.php更新、获取数据慢的缺点。
具有多进程多线程的特点。
cacti-cactid-0.8.6f-1的安装请参考附录三
(可选)对rrdtool也由1.0升级到了1.2。
高版本的特点是生成的图像更美观了。
http:
//people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/rrdtool-1.2.11.tar.gz
rrdtool-1.2.11安装请请参考附录一
五、Cacti的升级补丁
cacti0.8.6f以前的版本存在数据注入的漏洞,如果使用一定要打补丁。
现在最新的版本是cacti0.8.6g(测试版本)
以cacti0.8.6f的补丁安装说明:
补丁安装前应预先打补丁即用中的相应内容写一个sh脚步更新打补丁。
请参考附录四(cacti-0.8.6f升级补丁sh脚步)
六、Cacti的使用
1)概况
在地址栏敲入http:
//192.168.100.76/cacti/index.php进入登录界面,成功认证登录后,你将看到如下图所示:
2)利用已经定义的图形模板,添加一台主机
Console-》Devices-》add
点击create创建了一个主机,如下图
点击CreateGraphsforthisHost进入(为libweb181创建新图),并选择你要创建的新图。
点击create按钮。
主机添加完毕。
3)把已经添加的一台主机加入Graphtrees中以方便查看
Console-》Graphtree-》add
点击“北京兆维总流量”进入,如下图所示,
点击Add,并填写要添加的主机,如下图
点击create,完成添加主机到Graphtrees。
你可以在这里对图形进行查看(如下图)
4)添加数据源模板
以添加个收集tcp连接数的数据源为例说明。
依次点击Console->DataTemplates->add
点击create,然后填入oid,点击save。
如下图
这时在DataTemplates中可以看到刚创建的数据源
5)添加图形模板
以添加生成tcp连接数的图形为例说明。
依次点击Console->GraphTemplates->add
在表格中填入以下内容
点击create,如下图,
然后添加GraphTemplateItems,点击add,在表格中填入相应数据
点击create,将会看到,如下图:
然后依次添加currentaveragemaxinum,如下图:
最后的GraphTemplateItems如下图
然后点击save退出,图形模板建立完毕。
6)添加主机模板
以添加test-host主机模板为例,并向tes-host模板中添加刚刚建立的图形模板test-graph
依次点击Console->HostTemplates->add
点击create,如下图:
向test-host模板中添加test-graph图形模板,如下图
选中test-graph,点击add,如下图
可以看到test-graph已经添加,然后点击save退出。
七、附录一(cacti的安装)
1.安装环境:
redhat9.0
2.将安装以下软件包:
httpd-2.0.54.tar.gz
mysql-4.0.18.tar.gz
php-4.4.0.tar.gz
rrdtool-1.0.50.tar.gz
cacti-0.8.6c.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/
#chmod700mysql.server
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
找到:
nohup$ledir/mysqld--basedir=$MY_BASEDIR_VERSION--datadir=$DATADIR\---skip-locking>>$err_log2>&1
在--skip-locking与>>之间插入-Omax_connections=1000
重起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
vi/usr/local/http/conf/httpd.conf
加入AddTypeapplication/x-tar.tgz
AddTypeapplication/x-httpd-php.php
AddTypeimage/x-icon.ico
DirectoryIndexindex.phpindex.htmlindex.html.var
/usr/local/http/bin/apachectlstop
/usr/local/http/bin/apachectlstart
编辑测试php文件test.php内容如下:
phpinfo();
?
>
D.设置mysql,建立cacti需用的库
mysql
mysql>createdatabasecactidb;
QueryOK,1rowaffected(0.00sec)
mysql>grantalloncactidb.*toroot;
QueryOK,0rowsaffected(0.01sec)
mysql>grantalloncactidb.*toroot@localhost;
QueryOK,0rowsaffected(0.01sec)
mysql>grantalloncactidb.*tocactiuser;
QueryOK,0rowsaffected(0.00sec)
mysql>grantalloncactidb.*tocactiuser@localhost;
QueryOK,0rowsaffected(0.01sec)
mysql>setpasswordforcactiuser@localhost=password('cactipw');
QueryOK,0rowsaffected(0.00sec)
mysql>exit
E.安装rrdtool
tarzxvfrrdtool-1.0.50.tar.gz
cdrrdtool-1.0.50
./configure
make
makeinstall
net-snmp
几乎所有的网络设备和操作系统默认都安装了snmp服务。
Unix系统安装的都是net-snmp或ucd-snmp(其实两个都是同一组人写的)。
如果没有安装snmp,可以到net-snmp.sourceforge.org上下载源码编译安装。
我这里说的安装SNMP服务并不是要求安装SNMPD,其实是Cacti需要用到net-snmp中的两个命令――snmpwalk和snmpget进行数据的采集。
我们可以直接在系统中运行snmpwalk和snmpget看是否有该命令,如果有则不用安装了。
在rh9的第二张光盘中有
net-snmp-5.0.6-17.i386.rpm
net-snmp-devel-5.0.6-17.i386.rpm
net-snmp-utils-5.0.6-17.i386.rpm--会安装snmpget
mount/dev/cdrom/mnt/cdrom
cd/mnt/cdrom/RedHat/RPMS/
rpm-Uhvnet-snmp-utils-5.0.6-17.i386.rpm(我3个都装了,这里只写了有snmpwalkget的,不过没试过只装这个成不成)
F.安装cacti
cpcacti-0.8.6c.tar.gz/usr/local/http/htdocs/
cd/usr/local/http/htdocs/
tarzxvfcacti-0.8.6c.tar.gz
mvcacti-0.8.6ccacti
cdcacti
mysql-urootcactidb useraddcactiuser chown–Rcactiuserrra/ vi/usr/local/http/htdocs/cacti/include/config.php $database_type="mysql"; $database_default="cactidb"; $database_hostname="localhost"; $database_username="cactiuser"; $database_password="cactipw"; 为cactiuser创建crontab */5****/usr/local/bin/php/usr/local/http/htdocs/cacti/poller.php>/dev/null2>&1 http: //IP/cacti开始配置 设定RRDToolBinaryPathto/usr/local/rrdtool-1.0.50/bin/rrdtool 默认用户名密码admin/admin 更改默认密码 八、附录二(rrdtool1.2.11的安装) 由于rrdtool1.2.11需要一些库文件支持,故需先安装配置支持的环境,然后编译安装。 直接运行以下sh脚步就可以完成安装: (注意脚步中的链接是否失效) #! /bin/sh #intalltherrdtool-1.2.11,andasloinstallthesupportlibraries. ######thesourcepage #http: //people.ee.ethz.ch/~oetiker/webtools/rrdtool/doc/rrdbuild.en.html # ###############
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Cacti linux环境配置使用手册 linux 环境 配置 使用手册