Cacti升级迁移实录

Cacti升级迁移实录
1.停掉crontab
2.备份数据库
3.rrdtool dump RRD文件
4.打包RRD文件
5.打包cacti监控目录
6.被监控服重启snmpd服务
因公司内部的监控比较老,已经不满足新的监控需求。对内部监控服务器进行升级操作

一、停掉crontab里面关于cacti的那行,注释掉就可以了。
命令:
crontab -e

二、备份数据库
mysqldump -uroot -p cacti > cacti-20110824.sql
将数据库cacti删除;发现不删除数据库,关闭snmpd,删除crontab后仍旧传送数据,删除数据库后就没有了

三、dump RRD文件
因为升级后rrdtool的版本比较高,如果直接把RRD文件拷贝过去,你打开监控的时候会出现叉图
打开debug发现报错
RRDTool Says:
ERROR: This RRD was created on anotherarchitecture
使用脚本转换图形文件的格式。dump脚本如下:
#!/bin/sh
rrddump="/usr/bin/rrdtool dump"
xmldir=/tmp/rraxml
for file in `find /www/rrabak/ -mtime -2|awk -F\/ '{print $NF}'`
do
${rrddump} ${file} > ${xmldir}/${file}.xml
done
restore脚本如下:
#!/bin/sh
rrdrestore="/usr/bin/rrdtoolrestore"
xmldir=/tmp/rraxml/
for file in `find ${xmldir} |awk -F\/'{print $NF}' |sed s/.xml//g`
do
${rrdrestore} ${xmldir}${file}.xml /tmp/rra/${file}
done
先在老的监控服务器上面把RRD文件 dump成xml文件
然后用tar czvfrrd.tar.gz ./rraxml
再上传到新的监控服务器下面
tar xzvf rrd.tar.gz
执行那个resotre.sh脚本文件
再把RRD文件拷贝到监控目录下面的rra目录下面就可以了。
yum install ruby -y
下载rrdtool-1.4.4-1.slc5.wrl.x86_64.rpmrrdtool-perl-1.4.4-1.slc5.wrl.x86_64.rpm
rpm -ivh rrdtool*
安装rrdtool
或者直接全部按权限不动拷贝
Rsync –avr/var/www/html/cacti ***.***.***.***:/var/www/html

四、把监控目录和mysql数据文件 上传到新的监控服务器上面
下载最新版本的监控程序和补丁,升级监控服务器。

五、这里注意如果迁移前的老服务器使用了spine获取信息
就需要安装spine
cd /root/downloadss/cactimc
wget
tar xzf cacti-spine-0.8.7d.tar.gz
cd cacti-spine-0.8.7d
aclocal
libtoolize --force
执行以上命令,有如下输出是正常的
Using `AC_PROG_RANLIB' is rendered obsoleteby `AC_PROG_LIBTOOL'
Putting files in AC_CONFIG_AUX_DIR,`config'.
autoconf
autoheader
automake
./configure //如果这里编译出错:error: Cannot find MySQLheaders.  Use --with-mysql= to specifynon-default path.需要安装MySQL——devel等关联软件包
make
make install
安装了以下两个文件
/usr/local/spine/bin/spine
/usr/local/spine/etc/spine.conf
将spine的配置文件复制到/etc下
cp spine.conf /etc/spine.conf
vi /etc/spine.conf
按照安装Cacti时的数据库信息,修改spine.conf的配置
注意了,如果此时在/root/downloadss/cactimc/cacti-spine-0.8.7e执行/usr/local/spine/bin/spine
它读取的是/root/downloadss/cactimc/cacti-spine-0.8.7e/spine.conf
所以会提示数据库连接出错
我们rm -f/root/downloadss/cactimc/cacti-spine-0.8.7e/spine.conf
再次执行/usr/local/spine/bin/spine,它读取/etc/spine.conf,这样就正常了
下面设置Cacti适用spine
登录到Cacti
Console -> Settings -> Paths ->Spine Poller File Path填入/usr/local/spine/bin/spine -> save
Console -> Settings -> Poller ->Poller Type选择spine ->save
被监控服重启snmpd服务
不然没数据

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/e255a2d24cf7c022ef16484f69821ac9.html