本文转载自我的好友wgkgood.blog.51cto.com希望对需要该资料的得到帮助

 一、安装环境:

系统版本:Centos 6.0 64位

这里给出来cacti下载地址:

http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz

http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.5.tar.gz

http://www.cacti.net/downloads/spine/cacti-spine-0.8.8a.tar.gz

二、正式安装:

注意* 这里LAMP环境部署,采用yum 安装:

yum install  httpd  mysql   mysql-server    php   php-mysql  php-json php-pdo   -y

三、安装rrdtool:

安装rrdtool之前需要安装相应的lib库,如下安装:

yum install cairo-devel libxml2-devel pango pango-devel –y

tar xzf rrdtool-1.4.5.tar.gz   ;cd rrdtool-1.4.5  ; ./configure –prefix=/usr/local/rrdtool/  ;make  &&make install

ln -s /usr/local/rrdtool/bin/* /usr/local/bin/

四、安装SNMP:

yum install net-snmp  net-snmp-utils  –y  即可!

五、安装cacti:

tar xzf cacti-0.8.8a.tar.gz && mv  cacti-0.8.8a   /var/www/html/cacti/

六、创建cacti数据库并配置如下:

mysql -uroot –p  输入你的密码进入数据库,然后创建数据库:

create database cacti; 创建库

grant all on cacti.* to  cacti@’localhost’   identified by  ’123456′; 创建用户并授权

flush privileges; 刷新权限

mysql配置完毕后,把cacti数据导入cacti数据库里面:

mysql -ucacti  -p cacti 

回车输入cacti用户的密码123456即可。

配置完mysql后,我们需要设置cacti rra、log 目录的权限,这里设置为777 :

chmod -R  777  /var/www/html/cacti/rra/

chmod -R  777  /var/www/html/cacti/log/

如果不设置权限,添加完监控,没有图也没有数据,而且我们想在页面清空日志,也会报错!

七、在crontab里面添加cacti抓图计划任务:

*/5  * * * * /usr/bin/php /var/www/html/cacti/poller.php

八、访问验证:

直接访问 http://服务器ip/cacti/install/index.php 即可

安装会提示我们点击下一步即可,检查好snmp路径和rrdtool路径及版本是否正确,安装完成默认密码是admin/admin

cacti会提示我们强制修改密码ok!

九、cacti配置:

打开cacti界面,我们可以看到默认localhost配置,当然我们也可以自己定义一个主机,点击左边devices-填入我们需要的ip,然后选择模版创建即可!

创建完设备后,我们需要添加到Graph trees里面,点击Graph trees添加host主机即可!

如果报错,具体问题具体解决,我遇到的问题是:

It is not safe to rely on the system’s timezone settings php  在php.ini中设置date.timezone的值为PRC,设置好以后的为:date.timezone=PRC,同时取消这一行代码的注释,即去掉前面的分号就可以了。

最终如图监控页面!

十、Cacti配置优化:

当我们的服务器上千台需要监控的时候,默认一台cacti服务器检查我们会明显感觉很慢,那怎么办呢,这时候可以考虑优化mysql数据库,建立索引,使用spine轮训方式!

首先我们安装cacti-spine:注意了 这里的spine版本要与cacti版本一致:这里使用cacti-spine-0.8.8a.tar.gz

tar xzf  cacti-spine-0.8.8a.tar.gz ;cd cacti-spine-0.8.8a ;./configure  && make &&make install 即可

安装完默认路径在/usr/local/spine/下,接下来配置spine :

cd  /usr/local/spine/etc/ ; cp spine.conf.dist /etc/spine.conf  即可!修改spine.conf里面配置,填写正确的cacti用户名和密码等!

建立软链接:ln -s /usr/local/spine/bin/spine  /usr/local/bin/spine  ,最后执行spine命令可以显示cacti版本相关信息即安装成功!

然后在cacti后台setting页面,修改spine 路径path路径,并且把默认抓取方式改成spine方式即可!然后查看cacti页面日志看看是否正常!

十一、如何开启插件管理功能及模块:

默认cacti,对于0.8.8a以下的版本都没有开启插件管理功能,需要我们手动配置,而cacti-0.8.8a默认安装完,在界面上已经安装上了插件管理工具。要使用插件我们需要先安装插件管理模块,首先下载相关版本:例如0.8.7G的模块
wget  http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7g-PA-v2.8.tar.gz

1、先备份cacti数据和cacti数据库,一会解压plugin会覆盖:

mkdir -p /data/backup/`date +%Y%d%d`  ;cp -a /var/www/html/cacti/  /data/backup/20120713/ ;mysqldump -uroot -p cacti >20120713-cacti.sql 即可!

2、然后解压:tar xzf    cacti-plugin-0.8.7g-PA-v2.8.tar.gz

3、cd cacti-plugin-arch ;cp cacti-plugin-0.8.7g-PA-v2.8.diff  /var/www/html/cacti/下

并且导入pa.sql到cacti数据库中:mysql -ucacti -p123456  cacti < pa.sql

4、打补丁:cd /var/www/html/cacti/ ;patch -p1 -N < cacti-plugin-0.8.7g-PA-v2.8.diff

打完补丁,我们马上访问cacti页面,有可能图片无法显示,这时候我们需要先修改cacti php文件如下修改

vi /var/www/html/cacti/include/global.php

/* Default database settings*/
$database_type = “mysql”;
$database_default = “cacti”;
$database_hostname = “localhost”;
$database_username = “cacti”;
$database_password = “123456″;
$database_port = “3306″;

vi  /var/www/html/cacti/include/config.php

改成如下格式即可:

$config['url_path'] = ‘/cacti/’;

登录cacti,点击User Management–>admin–>Realm Permissions,把“Plugin Management”勾选中,保存即可!

保存完毕后,会在console下面多出一个plugin management管理项

友情提醒:cacti-0.8.8a.tar.gz 版本不需要安装cacti-plugin插件,可以跳过这一步,直接进入下面这一步!

十二、正式安装插件:

wget http://cactiusers.org/downloads/settings.tar.gz

wget http://cactiusers.org/downloads/monitor.tar.gz

wget http://cactiusers.org/downloads/thold.tar.gz

下载完后,解压到/var/www/html/cacti/plugins/下!修改配置:

vi   /var/www/html/cacti/include/config.php 如下:
$plugins = array();
$plugins[] = ‘thold’;
$plugins[] = ‘settings’;
$plugins[] = ‘monitor’;

然后我们去cacti监控页面的plugin management启用即可!我们可以看到页面多了两个thold和monitor选项,然后剩下就是具体配置。