0x01 服务器环境
OS环境:Centos 6.4_x86_64
WEB环境:nginx 、php、 mysql
0x02 Cacti架构
0x03 准备工作
- 下载相关安装包
$ wget http://www.cacti.net/downloads/cacti-0.8.8f.tar.gz
$ wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.7.tar.gz
$ wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8f.tar.gz
$ wget http://jaist.dl.sourceforge.net/project/net-snmp/net-snmp/5.4.4/net-snmp-5.4.4.tar.gz
- 安装相关依赖包
$ yum install cairo-devel libxml2-devel pango-devel -y
- 安装net-snmp
$ tar zxvf net-snmp-5.4.4.tar.gz && cd net-snmp-5.4.4 && ./configure --prefix=/data/app/net-snmp && make && make install
- 安装rrdtool
$ tar zxvf rrdtool-1.4.7.tar.gz && cd rrdtool-1.4.7 && ./configure --prefix=/data/app/rrdtool && make && make install
- 创建软链接
$ ln -s /data/app/net-snmp/bin/* /usr/local/bin/
$ ln -s /data/app/rrdtool/bin/* /usr/local/bin/
0x04 安装cacti
- 解压cacti,并移动到web目录下
$ tar zxvf cacti-0.8.8f.tar.gz
$ mv cacti-0.8.8f /opt
- 建立数据库cacti,并增加对该数据库拥有所有权限的用户名cacti,该用户密码为:cacti
$ mysql> create database cacti;
$ mysql> grant all on cacti.* to cacti@localhost identified by 'cacti';
$ mysql> grant all on cacti.* to cacti@127.0.0.1 identified by 'cacti';
$ mysql> flush privileges;
- 导入数据文件
$ mysql -ucacti -p cacti </opt/cacti/cacti.sql
- 修改cacti的配置脚本
$ vim /opt/cacti/include/config.php
database_type = "mysql";
database_default = "cacti";
database_hostname = "localhost";
database_username = "cacti";
database_password = "cacti";
database_port = "3306";
database_ssl = false;
- 初始化cacti
输入URL:http://ip/cacti/install/, 进入cacti欢迎安装界面
安装完成后给rra和log两个目录赋予权限
$ chmod 777 /data/www/html/cacti/rra
$ chmod 777 /data/www/html/cacti/log
- 添加定时采集任务,没五分钟采集一次
$ crontab -e
*/5 * * * * /usr/bin/php /opt/cacti/poller.php
0x05 Q&A
- 安装后cacti提示RRDTool 版本不对
原因:在php.ini中存在 disable_functions配置,默认配置中,cli执行函数都是被禁止的,需要在php.ini中将 disable_functions = exec 中的exec去掉,重启服务即可。