|
http://hi.baidu.com/mydbonline/item/52ff47b51b60f973254b09c7
Cacti 汉化安装(含插件)全过程 for CentOS
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 内容如下:
<?php
Phpinfo();
?>
打开 http://127.0.0.1/php.php
如果看到PHP配置信息,说明 lmap 配置成功。
2、创建 mysql 数据库
# mysql -u root -p
Enter password: // 初始密码为空
mysql> create databasecactidefault character set utf8; //gb2312环境为 set gb2312
mysql> set NAMES 'utf8'; //gb2312环境为gb2312
mysql> grant all privileges on cacti.* tocactiuser@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 -zxvfcacti-0.8.7e-cn-utf8.tar.gz
# mvcacti-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:
[iyunv@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 -Rcacti.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_Usercactiuser
DB_Pass123456
DB_Port 3306
打开cacti,点击 - 设置 - 轮询器,把轮询器类型改为 spine
5、字体在图形中显示不正常的解决方法
下载并安装中文字体,我用的是微米黑字体
wgethttp://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:
[iyunv@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/';
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
完成后可能又会出现页面无法访问的情况,再次执行该命令即可:
# chcon -R -h -t httpd_sys_content_t /var/www/html/cacti
# 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)。
成功后截图如下:
http://hiphotos.baidu.com/%C9%E1%B5%C30710/pic/item/d41b030e98ce0fb9aa645724.jpg
全文完。
附一段其他人的插件使用方法:
使用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”,可以管理已经创建的预警项目。
http://www.linux521.com/2009/system/201105/14637_2.html
http://sysop.blogbus.com/logs/41804059.html
Cacti中文版:安装及汉化说明(内含cacti中文版软件包)
2009-07-02
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://sysop.blogbus.com/logs/41804059.html
Cacti中文版:安装及汉化说明(内含cacti中文版软件包) | http://www.blogbus.com/templates/default/images/right_line.gif |
开发环境:
1. Linux 2.6.17-gentoo-r8 #2 SMP sparc64 sun4u TI UltraSparc II (BlackBird) GNU/Linux
2. perl, v5.8.8 built for sparc-linux
3. PHP 5.1.6-pl6-gentoo (cli) (built: Nov 24 2006 06:04:31)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
'./configure' '--with-apxs2=/usr/local/apache/bin/apxs' '--with-mod_charset' '--enable-cli' '--enable-safe-mode' '--enable-sigchild' '--enable-magic-quotes' '--enable-rpath' '--enable-short-tags' '--enable-libgcc' '--enable-versioning' '--enable-ipv6' '--with-pcre-regex' '--with-zlib' '--with-bz2' '--enable-bcmath' '--enable-calendar' '--enable-ctype' '--enable-dba' '--with-curl' '--enable-dio' '--with-regex' '--enable-zend-multibyte' '--enable-zend-memory-manager' '--enable-memory-limit' '--enable-inline-optimization' '--enable-xml' '--enable-wddx' '--enable-sysvmsg' '--enable-sysvsem' '--enable-sysvshm' '--enable-sockets' '--with-mm' '--enable-shmop' '--enable-session' '--with-readline' '--with-libedit' '--with-qtdom' '--enable-pcntl' '--with-ncurses' '--with-mysql' '--with-mime-magic' '--with-mcrypt' '--enable-mbstring' '--enable-mbregex' '--enable-java' '--with-iconv' '--with-gd' '--enable-ftp' '--with-dom' '--with-mod_charset' '--with-libmbfl'
4.mysql Ver 14.12 Distrib 5.0.26, for unknown-linux-gnu (sparc) using readline 5.1
./configure --with-big-tables --enable-thread-safe-client --enable-assembler --enable-largefile --with-mysqlfs --with-isam --with-extra-charsets=all
5.Apache/2.0.58
./configure --enable-shared=max
6.RRDtool 1.2.15
7.cjkuni-fonts中文字体,字体名ukai.ttf,下载地址
http://ftp.tw.debian.org/debian/pool/main/t/ttf-arphic-ukai/ttf-arphic-ukai_0.1.20060928.orig.tar.gz
安装说明:
1.php要求支持mbstring,mbstring需要libmbfl库,Cacti使用了pcre,所以在编译中一定要加入--with-pcre-regex --with-mbstring --with-libmbfl三项,都无需指定路径(切记).其它如gd,mysql等的支持当然不用说了.
2.RRDtool 1.2.15已经支持多字节语言了,我只修改了rrd_graph.c.将
行51: {60, 24*3600, TMT_MINUTE,30, TMT_HOUR,2, TMT_HOUR,4, 0,"%d日(%H:%M)"},
行53: {180, 24*3600, TMT_HOUR,1, TMT_HOUR,6, TMT_HOUR,12, 0,"%d日(%H:%M)"},
行55: {600, 0, TMT_HOUR,6, TMT_DAY,1, TMT_DAY,1, 24*3600,"周%a(%d日)"},
行56: {1200, 0, TMT_HOUR,6, TMT_DAY,1, TMT_DAY,1, 24*3600,"%d日"},
行57: {1800, 0, TMT_HOUR,12, TMT_DAY,1, TMT_DAY,2, 24*3600,"周%a(%d日)"},
行58: {2400, 0, TMT_HOUR,12, TMT_DAY,1, TMT_DAY,2, 24*3600,"周%a(%d日)"},
行59: {3600, 0, TMT_DAY,1, TMT_WEEK,1, TMT_WEEK,1, 7*24*3600,"%V周"},
行60: {3*3600, 0, TMT_WEEK,1, TMT_MONTH,1, TMT_WEEK,2, 7*24*3600,"%V周"},
行3065: //setlocale(LC_TIME,"");
秆3066: #ifdef HAVE_MBSTOWCS
行3067: setlocale(LC_ALL,"zh_CN"); //zh_CN,zh_CN.GB2312,zh_CN.UTF-8都可以.
注:
1)Freebsd下最好使用zh_CN.UTF-8,详见/usr/share/locale/目录,此目录下有当前支持的locale文件,若无相关zh_CN*,自行安装,使用locale -a命令可以查看当前系统支持的locale,经尝试使用zh_CN与zh_CN.GB2312都有问题。
另外在编译时,可能会有一个错误发生在生成rrdupdate.o时,是由于编译时没有指定 -c后参数,到src目录下手动编译一下,然后回到主目录,make继续即可, -c后的参数为 rrd_update.c.(rrdtool-1.2.15时的错误,freebsd6.1下)
在编译时,可能会有一个错误在sed 's,@''exec_prefix@,/usr/local/rrdtool,' > cgi-demo.cgi.此时ctrl-c中止编译,到example目录下手运行sed 's,@''exec_prefix@,/usr/local/rrdtool,' cgi-demo.cgi.in > cgi-demo.cgi,然后回到主目录,make继续即可.(rrdtool-1.2.18的错误,freebsd6.1下)
2)使用UTF-8时,请打上cacti-xxx-cn-***-utf8.patch补丁。若按以上修改了rrd_graph.c,确认此文件编码为utf-8。
3)建议使用1.2.15以上版本.^_^
3.如何生成cacti库
mysql>create database cacti default character set gb2312;//utf-8环境为 set utf8
mysql> set NAMES 'gb2312';//utf-8环境为 set utf8
mysql> use cacti;
mysql> source /你的路径/cacti.sql
(上述是为了在cacti.sql中的中文不会受影响)
因为为了更好的支持中文,并且少受环境影响我在Cacti的lib/adodb/drivers/adodb-mysql.inc.php文件中加入
行461: mysql_query("SET NAMES 'gb2312'");
使每次查询时都使用gb2312编码.(utf-8环境为Set Names 'utf8')
4.为了更好的支持中文,将Cacti中的ereg相关函数全部更新为mb_ereg相关函数.所以需要上述1的支持.
5.没有必要建立linux的中文环境,但一定要在系统中有支持中文的TrueType字体, 安装完成后, 在全局设置中加入此中文字体完整路径,图像即可正常显示中文.
6.由于本人近视严重,所以此版的默认字体大小为16px/14px,原始版为14px/12px/10px,用户可根据个人喜好自行修改.
7.加入了xml输出和输入中文支持,范例为resource/snmp_queries/interface.xml,修改部分为lib/xml.php:(在测试apache2.0.58,php5.1.6中)
行48: if ($vals[$i]['value']) array_push($children, mb_convert_encoding($vals[$i]['value'],'GB2312','UTF-8'));
行56: array_push($children, mb_convert_encoding($vals[$i]['value'],'GB2312','UTF-8'));
行62: $children{($vals[$i]['tag'])} = mb_convert_encoding($vals[$i]['value'],'GB2312','UTF-8');
注意:在有些版本的php中,xml模块函数对于编码的处理可能是正确的,此时应改回来。即(在测试apache1.3.37,php4.4.4中)
行48: if ($vals[$i]['value']) array_push($children, $vals[$i]['value']);
行56: array_push($children,$vals[$i]['value']);
行62: $children{($vals[$i]['tag'])} = $vals[$i]['value'];
我想可能是xml的模块函数有所改进吧。
8.此汉化版本纯属答谢CU中关心,热爱Cacti的人们所做,如有翻译不当或错误之处,敬请谅解.]
软件包为最新版本(Cacti0.8.6j)的汉化版,(patch为rrdtool设置为zh_CN.UTF-8时使用)下载为:
cacti使用的Plugin Architecture v1.1的中文使用的补丁.
9. 汉化版日志:
1)2006年11月6日在CU中戏言过两天提供一个汉化包.
2)2006年11月21日开始汉化工作,基于0.8.6h版,rrdtool 1.2.6.
3)2006年11月22日解决中文方式的库读写,重编php加入mbstring支持,解决页面显示中文显示问题.
4)2006年11月23日在汉化之余偶然看到台湾的某个论坛有人说rrdtool1.2.15版全面支持多字节语言,重建环境,使用rrdtool1.2.15.
5)2006年11月25日决定工作进程转向汉化并升级到版0.8.6i.
6)2006年11月26日在手动比对1万多条更新信息后完成升级工作.
7)2006年11月27日完成最后的页面翻译及调试工作后发布版本.
8)2006年11月28日00:00:5分完成此文,由此耽误了汉化版于27日发布的任务,自嘲一下.
9)2006年11月29日更改翻译错误,加入了xml生成和读取的中文支持,xml文件格式范例为resource/snmp_queries/interface.xml.
10)2006年11月30日修改添加图像查看中一个有关安全的选项,修改了一些小错误.
11)2006年12月13日打上官方补丁.
12)2006年12月14日加入关于升级安装建议。
13)2006年12月15日修改了安装文档中的一些错误,对于它们给您带来的不便深感慊意。
14)2006年12月16日修改cacti.sql中的几处汉化错误,加入相关软件的我的编译选项.
15)2006年12月29日修改xml.php,将iconv替换为mb_convert_encoding.对于此处的问题做了测试,暂时没有好的方案适合所有平台.
16)2007年1月6日完成在freebsd上的测试(vmvare-ws6 freebsd6.1 apache 1.3.37 php4.4.4 mysql4.1.22).
17)2007年1月13日打上官方3个安全补丁,完成UTF-8版,在开发环境及vmvare-ws6 freebsd6.1 apache 1.3.37 php4.4.4 mysql4.1.22测试通过.修改安装文档。尽可能详细描述安装过程。
18)2007年1月22日升级为0.8.6j版.
19)2007年1月30日测试rrdtool-1.2.18,可以正常使用.
20)2007年2月2-15日打上官方3个补丁.
21)2007年6月5日加入Plugin Architecture v1.1的中文版补丁.(感谢"李寻欢"同学的帮助)
22)2007年6月19日更新安装包,测试rrdtool-1.2.23,开始plugin的支持工作.
10.升级安装建议
1)先用英文版升级看行不行,如果行,mysqldump -n cacti > bakcacti.sql 备份库.
vi bakcacti.sql 第一行加入 SET NAMES 'gb2312'; //UTF-8环境为SET NAMEs 'utf8'
grep -v '\/\*' bakcacti.sql | sed '/DROP TABLE/d' | sed "s/latin1/gb2312/" > bakcacti2.sql //UTF-8环境为"s/latin1/utf8/"
注意"s/latin1/gb2312/"是为了替换原来的charset设置,
2)在mysql下
mysql>drop database cacti;
mysql>create database cacti default character set gb2312;/utf-8环境为 set utf8
mysql>source /你的路径/bakcacti2.sql
3)tar -zxvf cacti-0.8.6i-cn-***.tar.gz
cp -pvR cacti-0.8.6i-cn-***/* /你的cacti安装路径/
(UTF-8环境下还要打上cacti-xxx-cn-***-utf8.patch补丁)
4)汉化库的备份及导入:
备份mysqldump -uroot -p cacti --default-character-set=gb2312 > cacti.sql
导入 (utf-8环境为 --default-character-set=utf8)
mysql>set NAMES 'gb2312';//UTF-8环境为SET NAMEs 'utf8'
mysql>use cacti;
mysql>source /你的备份路径/cacti.sql
11.关于UTF-8
由于前面提供的都是以gb2312编码的cacti,用的locale为UTF-8,所以文件都得用iconv进行转换.
形式为iconv -f GB2312 -t UTF-8 输入文件 > 输出文件.
另外使用gb2312的地方改为UTF-8即可.
注:
1)iconv批量修改方式为在shell下运行
find cacti-xxxx -type d -exec mkdir -p utf/{} ';'
find cacti-xxxx -type f -exec iconv -f GB2312 -t UTF-8 {} -o utf/{} ';'
2)我已经提供关于UTF-8的补丁,此部分为编码转换参考,你可以轻松获得big5,big5-utf8的cacti汉化版本.
cacti-0.8.6j的1分钟更新补丁(支持cmd.php,cactid)
|
|
历史上的今天:
cacti spine 的安装 2009-07-02 |
|