1、Cacti 0.8.7d 中文版下载地址:

http://blog.chinaunix.net/u/4312/showart_1884754.html

下载cacti-0.8.7d-cn-utf8.tar.gz即可
cacti-plugin-0.8.7d-PA-v2.4-cn-utf8.diff.gz这个文件在我安装过程中没有用到

2、安装php,mysql等环境
# yum install yum-priorities
# wget http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/\
rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# rpm –import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
# rpm -K rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# yum -y install httpd mysql rrdtool perl-rrdtool php-cli php-mysql \
php-snmp net-snmp-libs php-snmp net-snmp net-snmp-devel net-snmp-utils

3、解压缩cacti-0.8.7d-cn-utf8.tar.gz
# cd /var/www/html
# tar /tmp/cacti-0.8.7d-cn-utf8.tar.gz
# mv cacti-0.8.7d-cn-utf8 cacti
请根据Apache的运行用户对www进行修改
# chown -R www.www cacti

4、建立数据库,
# service mysqld start
# mysql
mysql> create database cacti default character set utf8;//gb2312环境为set gb2312,本例使用utf8
mysql> set NAMES ‘utf8′;//gb2312环境为 set  gb2312
mysql> use cacti;
mysql> source /var/www/html/cacti/cacti.sql
建立用户
mysql> grant all on cacti.* to “cacti166″@”localhost” identified by “cacti166″;
mysql> flush privileges;

5、开始安装了
# cd /var/www/html/cacti/include
# cp config.php config.php.090810
# vi config.php
主要修改数据库名,数据库用户和密码
根据第4点的操作,相应项目修改后变成这样
$database_type = “mysql”;
$database_default = “cacti”;
$database_hostname = “localhost”;
$database_username = “cacti166″;
$database_password = “cacti166″;
$database_port = “3306″;

浏览器打开www.yourdomain.com/cacti,如果没什么意外,一直下一步就可以了。
如果提示有些命令找不到,那就查看相应的包是否安装了。
安装好后,默认用户名和密码都是admin,登录进去后,会强制要求修改密码。

6、添加计划任务,定期采集数据
# crontab -e
*/5 * * * *  php /var/www/html/cacti/poller.php &>/dev/null
保存退出
#service crond reload

这里为了能快点看到图,可以先在终端里手动执行几次
php /var/www/html/cacti/poller.php &>/dev/null

问题:
上文提到的是比较大众化的安装方法,我本人的MySQL是手动编译的,mysql.sock放在了/tmp目录下,
导致我执行php /var/www/html/cacti/poller.php &>/dev/null时提示以下错误:
FATAL: Cannot connect to MySQL server on ‘localhost’. Please make sure you have specified
a valid MySQL database name in ‘include/config.php’

事实上,config.php里的配置是没有错的,因为刚才安装过程一切顺利已经说明了这一点,
网上说poller.php是使用/var/lib/mysql/mysql.sock的,
当我在my.cnf里把mysql.sock定义到/var/lib/mysql/mysql.sock时,poller.php可以连接,
但执行mysql就提示错误了,
我把mysql.sock的位置改为/tmp/mysql.sock,使用网上提供解决办法:
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

问题解决了。