#作者语(JL):cacti运用snmpget采集数据,使用rrdtool绘图。强大的数据管理和用户管理功能,一张图是属于一个host的,每一个host又可以挂载到一个树状的结构上。用户的管理上,做到为指定一个用户能查看的“树”、host、甚至每一张图,还可以与LDAP结合进行用户的验证!Cacti还提供自己增加模板的功能,让你添加自己的snmp_query和script! cacti将rrdtool的所有“缺点”都补足了!

#安装必要的软件
apt-get install apache2 libapache2-mod-php5 php5 php5-cli php5-mysql php5-gd php5-snmp mysql-client mysql-server-5.0 libmysqlclient15-dev
#安装snmp snmpd    关系着数据的收集
apt-get install snmp snmpd
#安装 rrdtool         snmp抓到数据不是储存在mysql 中,而是存在rrdtool生成的rrd文件中
#rrdtool的作用只是存储数据和画图
apt-get install rrdtool
 
#安装 cacti
cd /var/www
#下载cacti包
#解压缩
tar –zxvf cacti-0.8.7b.tar.gz
#进去cacti查看是否解压成功
cd cacti-0.8.7b.tar.gz
 
#配置apache2别名
#vim /etc/apache2/sites-enabled/000-default
Alias /cacti/ "/var/www/cacti-0.8.7b/"
<Directory "/var/www/cacti-0.8.7b/">
      AllowOverride   None
      Order   Allow,Deny
      Allow from all
</Directory>
#</VirtualHost> 上追加如上内容。
 
#添加cacti用户
useradd cacti
#给cacti设置密码
password cacti
 
#配置mysql数据库
mysql –u root
#修改mysql密码
mysql> SET PASSWORD FOR root@localhost = PASSWORD ('123.com');
#创建cacti数据库
mysql> CREATE DATABASE cacti;
#设置cacti 用户访问cacti数据库
mysql> GRANT ALL ON cacti.* TO cacti @localhost IDENTIFIED BY '123.com';
mysql> quit
 
导入cacti数据库
cd /var/www/cacati-0.87b/
mysql-u root –p cacti < cacti.sql
#配置cacti的数据库连接账号和密码
vd /var/www/cacti-0.87b/
vim include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";
 
#设置rra和log 为cacti 所属
chown cacti /var/www/cacti-0,8.7b/rra
chown cacti /var/www/cacti-0.87b/log
 
#crontab运行cacti的收集数据程序
su cacti
crontab –e
#添加计划任务
*/5 * * * * /usr/bin/php /var/www/cacti-0.8.7b/poller.php
注意:首次执行poller.php时请使用cacti用户,否则生成的rrd文件cacti将没有写入权限。
 
#接下来在浏览器中输入
#如果看到cacti安装界面,进行new install,可以全部默认,next就好了。
#初次登陆,账号和密码都是admin
#恭喜你cacti配置成功(若出现问题,请继续向下看。)
 
 
 
#安装时碰到的问题集及解决办法:
#Q1页面出现
Invalid PHP_SELF Path
A1. A temporary solution would be to edit global.php like that : (编辑 global.php)
#注释掉:
if (!((is_file($_SERVER["SCRIPT_FILENAME"])) && (substr_count($_SERVER["SCRIPT_FILENAME"], $_SERVER["PHP_SELF"])))) {
#替换成
if (!((is_file($_SERVER["SCRIPT_FILENAME"])))) {
Q2. 页面出现
FATAL: Cannot connect to MySQL server on 'localhost'. Please make sure you have specified a valid MySQL database name in 'include/config.php'
A2.无法连接到数据库
查看 include/global.php 和config.php 的数据库连接语句和帐户密码是否正确
如果是插件页面出现上述信息查看插件文件夹内的 condig.php
Like this
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";
Q3.
出现如下页面
A3.To apply patch, go to /var/www/cacti folder/ and download the patch and run this command
#wget http://www.cacti.net/downloads/patches/0.8.7b/reset_each_patch.patch
#patch -p1 -N < reset_each_patch.patch
Q4.页面出现
Notice: Undefined index: user in /var/www/cacti/lib/auth.php on line 34
Warning: Cannot modify header information - headers already sent by (output started at /var/www/cacti/lib/auth.php:34) in /var/www/cacti/include/auth.php on line 29
A4.
Delete that file and download a freh copy of cacti 0.8.7b from sourceforge.net.
( sourceforge.net找到 cacti-0.8.7b.tar.gz 取出/var/www/cacti/lib/auth.php文件
覆盖掉原文件)
 
若发现新问题或文档错误,请联系我 。
JL.