上篇:Cacti安装的准备 http://chengchow.blog.51cto.com/1642666/952746
2、Cacti的安装

到目前为止,我们只是搭建了一个LAMP的工作环境,下面我们开始cacti的安装,首先我们要给cacti创建一个数据库。

2.1 在Mysql下创建一个cacti的数据库

Mysql-u root –p

create database cactidb

grant all on cactidb.* to root

grant all on cactidb.* to 

grant all on cactidb.* to cactiuser

grant all on cactidb.* to cactiuser@localhost

set password for cactiuser@localhost=password(‘cactipass’)

exit

 

phpmyadmin下看到的结果,更加直接一点

152156694.png

2.2 安装rrdtool及其插件

Emerge libart_lgpl libpng zlib freetype

Emerge rrdtool

测试

rrdtool-v

2.3 安装net-snmp

哎!连SNMP服务都没有,自己装个吧。

Emerge net-snmp

安装完成修改SNMP配置文件

cp/etc/snmp/snmp.conf.example /etc/snmp/snmp.conf

vi /etc/snmp/snmp.conf

#sec.namesourcecommunity

com2sec locallocalhostpublic

com2sec mynetwork 192.168.254.0/24public

--------------------------------------------------------------------------

#context sec.model sec.level matchreadwritenotif

access MyROGroup ""anynoauthexactallallnone

access MyRWGroup ""anynoauthexactallallnone

启动SNMP服务并添加到启动项

/etc/init.d/snmpd start

Rc-update add snmpd default

2.4 安装cacti

USE=”sockets” emerge –av cacti

2.5 修改cacti配置文件

vi /var/www/localhost/htdocs/cacti/include/config.php

$database_type = "mysql";

$database_default = "cactidb";

$database_hostname = "localhost";

$database_username = "cactiuser";

$database_password = "cactipass";

$database_port = "3306";

$database_ssl = false;

 

2.6设置自动抓取

vi /etc/crontab

*/5 * * * *cactiuser /usr/bin/php \

/var/www/localhost/htdocs/cacti/poller.php > /dev/null

2.7 路径配置

打开IE输入http://192.168.254.123/cacti进入cacti安装界面,下图是一些常用的路径设置,配置完毕输入用户名密码登录(默认是admin/admin)

152227176.png

2.8 安装过程中遇到的一些问题

缺少 mysqli 扩展。请检查 PHP 配置。

这个是不需要修复的。是您安装的时候没按照官方提示安装这个功能。

如果您希望PHP支持pdo和mysqli,请用两个-y参数,即:./zijidelu_install.sh -y -y,

但由于兼容性方面的因素,在某些机器上可能装不成功,也可以通过修改php.ini配置文

件来修复!

Mysqli的单独安装

USE=”mysqli” Emerge PEAR-MDB2_Driver_mysqli

PDO安装

USE=”pdo” Emerge php

时区错误

vi /var/www/localhost/htdocs/cacti/include/global_constants.php

第一步,找到 weekdays according to date("w") builtin function

在下面添加date_default_timezone_set('Asia/Chongqing');

第二步,cp /usr/share/zoneinfo/Asia/Chongqing/etc/localtime

第三步,vi /etc/php/apach2-php5.3/php.ini找到;date.timezone=修改为Date.timezone=PRC

出现错误信息

Warning: mysql_pconnect() [function.mysql-pconnect]: Access denied for user 'cactiuser'@'localhost' (using password: YES) in /usr/share/php/adodb/drivers/adodb-mysql.inc.php on line 383

FATAL: Cannot connect to MySQL server on 'localhost'. Please make sure you have specified a valid MySQL database name in 'include/config.php' 

故障原因是不能连接到mysql数据库

检查登陆到数据库用户名密码

vi /var/www/localhost/htdocs/cacti/include/config.php

出现内存耗尽

vi /etc/php/apache2-php/php.ini

修改memory_limit = 128M(或者memory_limit = -1不限制内存大小)

修改完成后需要重启Apache服务

耗尽监控主机所有内存

emerge libart_lgpl libpng zlib freetype

还有一些简单的问题,根据系统反馈的提示去操作就可以。

Cacti监控图片

152312421.png