购买了阿里云云的ECS CACTI 服务,就算PAAS应用吧。
用的xmanager登入,如果忘记后台root密码的话,可以在阿里云管理界面中选一下修改管理密码。
1. 购买云主机和cacti,然后按照指南进行安装。
2. 更多中 选择连接管理终端,用root/密码登录, 用xmanager公交登入后台,如果忘记root密码的话,需要重置一下。
3. 打开http://IP 用户名密码为admin/admin登录,这样安装算成功了,这么简单?不,后面好多问题。感谢百度,找了好多人的经验,总算解决了问题,也说明云环境使用时要充分注意系统之间的依赖及中英文问题。
4. 使用时碰到两个问题
1)定义了device,然后画图后 图片上一直没有数据。
2)图像为方框,完全看不到字体。 解决这两个问题花了不少时间。
问题1: 解决无数据
0).rra路径
rra目录下为空(/alidata/www/default/cacti/rra)
1. system utilities –>Rebuild poller cache (完成,没有用)
2. 系统时间不准确,重新设置时间 (不存在)
3. 图像没有生成,运行# php /alidata/www/default/cacti/poller.php –force (完成,有用)
1)测试snmp, ok
snmpwalk -c public -v 2c 127.0.0.1 system
snmpwalk -v 2c -c public 127.0.0.1 if
[root@XXX/]# snmpwalk -v 2c 127.0.0.1 -c public .1.3.6.1.4.1.2021.10.1.3
这个是正常的。
2) 权限问题 /alidata/www/default/cacti/rra
-改成777
chmod 777 -R /alidata/www/default/cacti/rra
运行/usr/bin/php /usr/apache/htdocs/cacti/poller.php -force运行这个后有了rrd文件
3)rra有三个目录
[root@XXX/]# find . -name rra -print
./alidata/www/default/cacti/cacti-0.8.8/rra (不用看)
./alidata/www/default/cacti/rra –实际目录
./root/sh-1.3.0-centos-cacti/cacti/cacti-0.8.8/rra
/root/sh-1.3.0-centos-cacti 这个路径是安装包的目录,不去管他。
运行poller后看到了如下文件,数据不存在问题就解决了
/alidata/www/default/cacti/rra/localhost_mem_buffers_18.rrd \
4)在/etc/crontab中增加
echo "*/5 * * * * cacti php /alidata/www/default/cacti/poller.php > /dev/null 2>&1">>/etc/crontab
--有用
5)数据库表有损坏,修复#mysqlcheck -ao cacti –auto-repair -uroot -p
-这个我没用,数据库是正常的
参考
http://www.linuxidc.com/Linux/2015-11/125039.htm
http://os.51cto.com/art/201103/250977.htm
问题2:乱码问题 设置XRRDTool Default Font
乱码图形是因为字体错误
|
RRDTool Default Font |
|
1)将这个字体换掉 ,/root/sh-1.3.0-centos-cacti/php-5.4.27/ext/gd/tests/Tuffy.ttf
从windows目录下拷了个simsu的字体,然后传到相应目录下,名字一定要按照这个来,
然后执行 centos的命令 yum install font*
2)检查有两个用户cacti,cactiuser,我只用了cacti,另外一个不去管他。
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";
///////////////// nok
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactiuser";
$database_port = "3306";
$database_ssl = false;
这个不用管
3)检查
1. export LC_ALL=en_US
2. export LANG=en_US
3. export LANGUAGE=en_US
4. export LC_CTYPE=en_US
5. export LC_TIME=en_US
locale
-a 看字体 系统中有zh_CN字体
将其改为
lang=zh_CN
LANG=zh_CN.GBK
LANGUAGE=zh_CN.UTF-8:zh_CN.GB2312:zh_CN
由于cactiEZ 使用的gb2312编码,于是将/etc/sysconfig/i18n 里修改成utf-8,执行 service httpd restart
4)运行命令 php /alidata/www/default/cacti/poller.php --force --debug
5)修改为utf-8编码
1) Cacti未使用utf8编码来操作MySQL数据库
修改lib/database.php,增加一行:$cnn_id->Execute("set names 'utf8'");
|
1 2 3 4 5 6 7 8 9 |
while ($i <= $retries) { $cnn_id = ADONewConnection($dsn); $cnn_id->Execute("set names 'utf8'"); if ($cnn_id) { return($cnn_id); } $i++; usleep(40000); |
显式声明下LC_CTYPE这个环境变量:
|
1 2 |
在文件lib/functions.php的最前面,添加一句代码: setlocale(LC_CTYPE, "zh_CN.UTF-8"); |
这样后台日志log中的乱码就消失了
一开始试了 gb18030 后来没有这个字体,改成UTF-8
6)修改 i18n文件 vi /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SUPPORTED="en_US.UTF-8:en_US:en:zh_CN.GB18030:zh_CN:zh:zh_TW.big5:zh_TW:zh:ja_JP.UTF-8:ja_JP:ja:ko_KR.eucKR:ko_KR:ko"
SYSFONT="latarcyrheb-sun16"
将其改为
LANG="zh_CN.GBK"
LANGUAGE="zh_CN.UTF-8:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"|!
SYSFONT="latarcyrheb-sun16"
/root/.bash_profile
./home/cacti/.bash_profile
./home/mysql/.bash_profile
都加上
export lang=zh_CN
6)
** 最后一步 安装各种字体 各种方框,reboot一下。搞定了
yum install font*
locale -a 看字体
结果是这样的
注意:用snmp采集时要配置SNMP信息
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24478210/viewspace-2124761/ ,如需转载,请注明出处,否则将追究法律责任。