使用Cacti监控你的网络Cacti使用手册出品作者:目录:一、概述及Cacti的工作流程二、Cacti的安装(Linux)三、Cacti的安装(Windows)四、Cacti的使用五、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文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(RoundRobinArchive),它能够存储的数据笔数在创建时就已经定义。关于RRDTool的知识请参阅RRDTool教学。二、Cacti的架构及工作流程1.Cacti的架构2.Cacti的工作流程三、Cacti的安装(Linux)1.安装环境:RedHatAS42.安装Apache、MySQL、PHP(1).安装MySQL下载地址:查看系统中是否已经安装了MySQL,如果是卸载所有以mysql开头的包。#rpm–qa|grepmysql#rpm–emysql-*//查找/etc/my.cnf(MySQL的选项配置文件),如果有请删除它,以免影响新安装版本的启动。#rm–f/etc/my.cnf#tar–zxvfmysql-standard-5.0.27-linux-i686-glibc23.tar.gz#cp–rfmysql-standard-5.0.27-linux-i686-glibc23/usr/local///建立符号链接,如果以后有新版本的MySQL的话,你可以仅仅将源码解压到新的路径,然后重新做一个符号链接就可以了。这样非常方便,数据也更加安全。#ln–smysql-standard-5.0.27-linux-i686-glibc23/usr/local/mysql//添加用于启动MySQL的用户及用户组(如果以前安装过MySQl,用户及用户组可能已存在)。#useraddmysql#groupaddmysql//初始化授权表#cd/usr/local/mysql#scripts/mysql_install_db//修改MySQl目录的所有权#cd/usr/local#chgrp–Rmysqlmysql-standard-5.0.27-linux-i686-glibc23#chgrp–Rmysql#chown–Rmysqlmysql-standard-5.0.27-linux-i686-glibc23/data#chown–Rmysqlmysql/data#ln–s/usr/local/mysql/bin/*/usr/local/bin///启动Mysql#bin/safe_mysqld--user=mysql&//配置系统启动时自动启动MySQl#cpsupport-files/mysql.server/etc/rc.d/init.d/mysqld#chkconfig--addmysqld//修改MySQL的最大连接数#vi/etc/my.cnf//添加以下行[mysqld]set-variable=max_connections=1000set-variable=max_user_connections=500set-variable=wait_timeout=200//max_connections设置最大连接数为1000//max_user_connections设置每用户最大连接数为500//wait_timeout表示200秒后将关闭空闲(IDLE)的连接,但是对正在工作的连接不影响。//保存退出,并重新启动MySQL//重新启动MySQL后使用下面的命令查看修改是否成功#mysqladmin-uroot-pvariablesPassword://可以看到以下项说明修改成功|max_connections|1000|max_user_connections|500|wait_timeout|200(2).安装Apache下载地址:–zxvfhttpd-2.2.4.tar.gz#cdhttpd-2.2.4#./configure--prefix=/usr/local/apache--enable-so//编译时加上加载模块参数--enable-so#make#makeinstall#vi/usr/local/apache/conf/httpd.conf//修改Apache配置文件,添加ServerName(或ServerName本机ip)#vi/etc/rc.d/rc.local//在rc.local上加入一行/usr/local/apache/bin/apachectl–kstart,系统启动时启动Apache服务。(3).安装PHP先安装zlib,freetype,libpng,jpeg以便于让PHP支持GD库(Cacti的WeatherMap插件必须要GD库的支持)库文件下载地址:).安装zlibtarzlib-1.2.3.tar.gzcdzlib-1.2.3./configure--prefix=/usr/local/zlibmakemakeinstall2).安装libpngtarzxvflibpng-1.2.16.tar.tarcdlibpng-1.2.16cdscripts/mvmakefile.linux../makefilecd..makemakeinstall注意,这里的makefile不是用./configure生成,而是直接从scripts/里拷一个3).安装freetypetarzxvffreetype-2.3.4.tar.gzcdfreetype-2.3.4./configure--prefix=/usr/local/freetypemakemakeinstall4).安装Jpegtar-zxfjpegsrc-1.v6b.tar.gzcdjpeg-6b/mkdir/usr/local/libjpegmkdir/usr/local/libjpeg/includemkdir/usr/local/libjpeg/binmkdir/usr/local/libjpeg/libmkdir/usr/local/libjpeg/manmkdir/usr/local/libjpeg/man/man1//可以用mkdir-p/usr/local/libjpeg/man/man1一步创建多层目录./configure--prefix=/usr/local/libjpeg--enable-shared--enable-staticmake&&makeinstall注意,这里configure一定要带--enable-shared参数,不然,不会生成共享库5).安装Fontconfigtar-zxvffontconfig-2.4.2.tar.gzcdfontconfig-2.4.2makemakeinstall6).安装GDtar-zxvfgd-2.0.34.tar.gzcdgd-2.0.34./configure--with-png--with-freetype=/usr/local/freetype--with-jpeg=/usr/local/libjpegmakemakeinstall编译时显示以下信息:**Configurationsummaryforgd2.0.34:SupportforPNGlibrary:yesSupportforJPEGlibrary:yesSupportforFreetype2.xlibrary:yesSupportforFontconfiglibrary:yesSupportforXpmlibrary:noSupportforpthreads:yes7).编辑/etc/ld.so.conf,添加以下几行到此文件中。/usr/local/zlib/lib/usr/local/freetype/lib/usr/local/libjpeg/lib/usr/local/libgd/lib并执行ldconfig命令,使用动态装入器装载找到共享库8).安装libxml,RedHatAS4默认安装libxml包,但版本太低,PHP5需要更高版本的libxml包。#tar–zxvflibxml2-2.6.25.tar.gz#cdlibxml2-2.6.25#./configure#make#makeinstall9).安装PHPPHP下载地址:=/usr/local/php--with-apxs2=/usr/local/apache2/bin/apxs--with-mysql=/usr/local/mysql--with-gd=/usr/local/libgd--enable-gd-native-ttf--with-ttf--enable-gd-jis-conv--with-freetype-dir=/usr/local/freetype--with-jpeg-dir=/usr/local/libjpeg--with-png-dir=/usr--with-zlib-dir=/usr/local/zlib--enable-xml--enable-mbstring--enable-sockets#make#makeinstall#ln–s/usr/local/php/bin/*/usr/local/bin/#vi/usr/local/apache/conf/httpd.conf查找AddTypeapplication/x-compress.ZAddTypeapplication/x-gzip.gz.tgz在其下加入AddTypeapplication/x-tar.tgzAddTypeapplication/x-httpd-php.phpAddTypeimage/x-icon.ico修改DirectoryIndex行,添加index.php修改为DirectoryIndexindex.phpindex.htmlindex.html.var#vi/usr/local/apache/htdocs/test.php添加以下行:?phpPhpinfo();?wq保存退出。#/usr/local/apache/bin/apachectl–kstop#/usr/local/apache/bin/apachectl–kstart在浏览器中输入:进行测试。对php编译选项的解释:--prefix=/usr/local/php//指定PHP的安装目录--with-apxs2=/usr/local/apache2/bin/apxs//支持Apache模块-