cacti监控不能显示中文之完美解决过程

cacti备份迁移

目的:实现cacti的监控冗余,保证在主服务器出现意外故障时,备用服务器可以监控起到监控数据的目的。

前期准备:
new server:192.168.1.20
old server:192.168.1.30

new server要安装好mysql及rrdtool,php等cacti安装环境必须程序,才能保证迁移过来后可以顺利访问。

old server 在操作前停止php的轮循、关闭snmp、apache等。备份完毕后恢复即可。

规划:

old server操作:

cacti迁移备份需要三个文件:1、数据库文件。2、cacti目录。3、rrd图像文件。

注意点:rrd图像文件如果不转换直接拷贝到冗余服务器上,经测试出现错误,无法正常访问。所以还是一定要转换下格式后再行迁移。

new server操作:

1、cacti目录存放 。2、数据库文件导入。3、rrd图像文件导入。

步骤:

1、old server 操作步骤:

#数据库备份( 将数据库cacti删除;发现不删除数据库,关闭snmpd,删除crontab后仍旧传送数据,删除数据库后就没有了 )

mysqldump -ucactiuser -p cacti > cacti.sql

输入数据库用户cacaiuser 的密码后即可备份出cacti 数据库。

#cacti目录备份
cd /opt
tar -czf /tmp/cacti.tgz cacti(此处打包压缩,cacti目录中rra目录不做备份)

#rrd图像文件备份。(此处图像文件即:cacti目录中的rra目录下的所有文件)( 注意导出的xml文件,请把0K的删除,要不然在导入的时候会报错!)
此处备份使用脚本。内容如下:
#!/bin/bash
rrddump=”/usr/bin/rrdtool dump”
xmldir=/tmp/rraxml
rradir=/var/www/html/cacti/rra/
for file in `find ${rradir} -mtime -2 |awk -F\/ ‘{print $NF}’`
do
${rrddump} ${rradir}${file} > ${xmldir}/${file}.xml
done

保存为:bak.sh后,赋予执行权限。
chmod u+x bak.sh

完成后重新启动apache及spine轮循。

把old server备份的文件拖到new server上。
scp /tmp/cacti.sql root@192.168.1.30:/tmp/cacti.sql
scp -r /var/www/html/cacti root@192.168.1.30:/var/www/html #scp /tmp/cacti.tgz root@192.168.1.30:/var/www/html
scp -r /tmp/rraxml root@192.168.1.30:/tmp

2、new server操作步骤:

#cacti目录恢复。( Rsync –avr/opt/cacti ***.***.***.***:/opt )
tar xvzf cacti.tgz

cp -rp cacti /var/www/html/

chown -R cacti cacti /var/www/html/cacti

#数据库恢复。( #mysql -u cactiuser -p cacti < /tmp/cacti.sql )

mysql -uroot -p

mysql>create database cacti default character set utf8;

mysql>grant all privileges on cacti.* to cacti@localhost identified by ‘cactipasswd’;

mysql>flush privileges;

mysql>source /tmp/cacti.sql

恢复完成后退出。

#rrd文件恢复。
此处同样用shell脚本来恢复,脚本如下:
#!/bin/bash
rrdrestore=”/usr/local/rrdtool/bin/rrdtool restore”
xmldir=/tmp/rraxml/
for file in `find ${xmldir} |awk -F\/ ‘{print $NF}’ |sed s/.xml//g`
do
echo $file
${rrdrestore} ${xmldir}${file}.xml /var/www/html/cacti/rra/${file}
done

保存为recovery.sh,赋予执行权限。
chmod u+x recovery.sh

./recovery.sh

到此已基本迁移完成,重启服务

service https restart

service snmpd restart

Print Friendly

发表评论

电子邮件地址不会被公开。 必填项已用*标注