Cacti 汉化安装(含插件)全过程 for CentOS
2011-01-14 22:48

1、首先,激活额外的 yum 源,安装 lmap 环境

# yum install yum-priorities

# rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
如果导入失败可以直接 wget到本地导入
# wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
# rpm --import RPM-GPG-KEY.dag.txt
如果系统是最小安装的话,可能没有 wget,安装一个即可
rpm -ivh http://centos.ustc.edu.cn/centos/5.5/os/i386/CentOS/wget-1.11.4-2.el5_4.1.i386.rpm
 
# wget http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# 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 mysql mysql-server mysql-devel php-mysql httpd php

#yum -y install php-pdo lm_sensors net-snmp php-snmp net-snmp-utils net-snmp-libs net-snmp-devel net-snmp-perl perl-Net-Daemon perl-PlRPC perl-DBI rrdtool perl-rrdtool perl-DBD-MySQL

安装完 ,启动相关的程式,和设置开机启动
# chkconfig mysqld on
# chkconfig httpd on
# server mysqld start
# service httpd start
# service snmpd start

#vi /var/www/html/php.php 内容如下:
Phpinfo();
?>
打开 http://127.0.0.1/php.php
如果看到 PHP配置信息,说明 lmap 配置成功。
 
2、创建 mysql 数据库
# mysql -u root -p
Enter password: // 初始密码为空
mysql> create database cacti default character set utf8; //gb2312环境为 set gb2312
mysql> set NAMES 'utf8'; //gb2312环境为 gb2312
mysql> grant all privileges on cacti.* to cactiuser@localhost identified by '123456';
mysql> flush privileges;
mysql> \q
 
3、安装中文版 cacti
下载中文的 cacti,解压到/var/www/html/cacti 后进入 cacti 的目录.导入 cacti 的数据结构
# wget http://blogimg.chinaunix.net/blog/upfile2/090815172648.gz
下载完成后把下载的文件重命名为 cacti-0.8.7e-cn-utf8.tar.gz

# tar -zxvf cacti-0.8.7e-cn-utf8.tar.gz
# mv cacti-0.8.7e-cn-utf8 /var/www/html/cacti

进入数据库导入 cacti数据结构
# mysql
mysql> use cacti;
mysql> source /var/www/html/cacti/cacti.sql;
注意观察导入时是否报错,如无报错退出即可。
mysql> \q
 

修改配置文件
# vim /var/www/cacti/include/config.php

$database_type = "mysql";
$database_default = " cacti";
$database_hostname = "localhost";
$database_username = " cactiuser";
$database_password = " 123456";
$database_port = "3306";


添加 cacti用户
# useradd cacti -d /var/www/html/cacti -s /bin/false
# chown -R cacti /var/www/html/cacti/rra /var/www/html/cacti/log
 
# vi /etc/httpd/conf/httpd.conf
#ServerName www.example.com:80 下增加一行 ServerName 127.0.0.1(实际IP地址):80
找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容
AddType application/x-httpd-php. php
AddType application/x-httpd-php-source .phps

重起 httpd 的服务,让上面的修改生效
# service httpd restart
然后输入: http://127.0.0.1/cacti/ 就会打开安装页面
点击下一步,选择 “全新安装”,安装完成
登录用户名为 admin,密码为 admin
 
# chmod -R 755 /var/www/html/cacti/poller.php
# crontab -e
最后添加下一行
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1
# service crond restart
如果系统是最小安装,可能没有 crontab组件,安装一个即可
安装 crontab:
[root@CentOS ~]# yum install -y vixie-cron
# chkconfig crond on

修改目录的属主
# chown -R cacti.cacti /var/www/html/cacti/rra /var/www/html/cacti/log
如果打开浏览器, 发现不能显示或者显示禁止访问, 请将 /var/www/html/cacti 目录的属主设置为运行 httpd 的用户
# chown -R cacti.cacti /var/www/html/cacti
# chown -R cacti.cacti /var/www/html/cacti/rra /var/www/html/cacti/log
如果还是无法访问或无法打开页面,输入以下命令试试
# chcon -R -h -t httpd_sys_content_t /var/www/html/cacti
如果监控时没有图,或有图没数据,请执行以下命令
# chmod -R 777 /var/www/html/cacti/rra
# chmod -R 777 /var/www/html/cacti/log
 
4、安装 spine
# wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.7e.tar.gz
# tar –zxvf cacti-spine-0.8.7e.tar.gz
# cd cacti-spine-0.8.7e
# ./configure
报错: configure: error: Cannot find MySQL headers. Use --with-mysql= to specify
解决办法:
# yum -y install mysql-devel
报错: configure: error: Cannot find SNMP headers
解决办法:
# yum -y install net-snmp-devel
#make && make install
 
修改 spine.conf
# vi /usr/local/spine/etc/spine.conf
 
DB_Host localhost
DB_Database cacti
DB_User cactiuser
DB_Pass 123456
DB_Port 3306
打开 cacti,点击 - 设置 - 轮询器,把轮询器类型改为 spine
 
5、字体在图形中显示不正常的解决方法
下载并安装中文字体,我用的是微米黑字体
wget http://sourceforge.net/projects/wqy/files/wqy-microhei/0.2.0-beta/wqy-microhei-0.2.0-beta.tar.gz
# tar zxvf wqy-microhei-0.2.0-beta.tar.gz
# cd wqy-microhei
# cp wqy-microhei.ttc /usr/share/fonts/wqy-microhei.ttc

安装完成后注意在 "设置"中更改下面两个必改项.
常规->RRDTool应用程序版本 改为1.3.x,默认为1.0.x. 不改可能图像不能正常显示出来.
路径->RRDTool默认字体路径 改为上面安装的文件路径,如/usr/share/fonts/wqy-microhei.ttc
6、 Cacti插件的安装
要安装别的插件前 ,先要安装cacti的一个patch--Plugin Architecture,才能支持插件
wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7e-PA-v2.5.zip
wget http://blogimg.chinaunix.net/blog/upfile2/090818213852.gz
这个是汉化版的文件,下载以后需要改名为 cacti-plugin-0.8.7d-PA-v2.4-cn-utf8.diff.gz
注:以下蓝色字体为中文版安装,黑色字体为英文原版安装
# unzip cacti-plugin-0.8.7e-PA-v2.5.zip -d cacti-plugin-0.8.7e
# cp -R cacti-plugin-0.8.7e/* /var/www/html/cacti/
cp: overwrite `/var/www/html/cacti/LICENSE'? y
# cp cacti-plugin-0.8.7e-PA-v2.5-cn-utf8.diff /var/www/html/cacti/
# cd /var/www/html/cacti/
# mv pa.sql pa.sql_old
# patch -p1 -N < cacti-plugin-0.8.7e-PA-v2.5.diff
# patch -p1 -N < cacti-plugin-0.8.7e-PA-v2.5-cn-utf8.diff
# mysql -uroot -p cacti < pa.sql
然后在 User Management—admin—Plugin Management 打勾
然后打开 cacti,点击 设置 - 用户管理 - admin/其他账户 ,在 区域权限中,勾选 插件管理
如果是通过 "http://172.0.0.1/cacti/“的 URL 访问,要修改 global.php:
[root@centos53 cacti]# vi /var/www/html/cacti/include/global.php
/* Default database settings*/
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = " cactiuser";
$database_password = "123456";
$database_port = "3306";
如果是用 http://172.0.0.1/cacti 方式访问的话,这里也需要修改 $config['url_path'] = '/cacti/';
完成后可能又会出现页面无法访问的情况,再次执行该命令即可:
# chcon -R -h -t httpd_sys_content_t /var/www/html/cacti
 
 
7.安装 monitor、thold、settings 插件包
 
# cd cacti/plugins
# wget http://cactiusers.org/downloads/monitor.tar.gz
# tar zxvf monitor.tar.gz
# wget http://cactiusers.org/downloads/settings.tar.gz
# tar zxvf settings.tar.gz
# wget http://cactiusers.org/downloads/thold.tar.gz
# tar zxvf thold.tar.gz
# mysql
mysql> source /var/www/html/cacti/plugins/monitor/monitor.sql
mysql> source /var/www/html/cacti/plugins/thold/thold.sql
观察以上导入有无出错
 
# vi ../include/global.php
$plugins = array(); 的后面加上如下内容
$plugins[] = 'thold';
$plugins[] = 'settings';
$plugins[] = 'monitor';
刷新 cacti系统的web管理界面,可以看到多出两个标签页(thold、monitor)。
成功后截图如下:
全文完。
附一段其他人的插件使用方法:

使用 monitor插件
刷新 cacti系统的web管理界面,可以看到多出两个标签页(thold、monitor)。
1>打开“Console->Settings->Misc”,可以调整Monitor的各项配置。例如:勾选“Show Icon Legend”可以在监控页面显示图例;
“View”可以选用Tiles类型,以显示设备状态表格。
2>为 cacti添加新设备时,勾选上“Monitor Host”项。对已添加的设备可以通过“Management->Devices”进去修改。
3>单击 Web页面上方的“monitor”标签链接,可以进入查看各设备/主机的状态图示。
使用 thold插件
1>打开 “Console->Settings->Mail/DNS”,可以调整“SMTP Options”和“DNS Options”等配置,用于确保预警邮件能够发出。
2>打开 “Console->Settings->Alerting/Thold”,可以调整Thold的各项配置。例如:“Dead Host Notifications Email”处可填写设备当机时发送警告信息到哪个邮箱;勾选“Send alerts as text”项,可以设置只发送文本格式的邮件。
3>打开 “Templates->Threshold Templates”,可以添加、取出需要关联到预警系统的模板,例如:可以添加和“Interface-Traffic”模板的关联,选择 “traffic_in”、“traffic_out”数据项,分别设置警告阈值“High Threshold”(如200000000比特/秒);可以添加和“Unix-Disk Space”模板的关联……。
4>打开 “Create->New Graphs”,选择需要提供预警的设备,单击右侧上方的“Auto-create thresholds”创建预警项目。
5>打开 “Management->Thresholds”,可以管理已经创建的预警项目。