良玉的博客 点点滴滴,积水成河_良玉的博客_页游、手游linux运维工程师之路

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

wgethttp://www.cacti.net/downloads/spine/cacti-spine-0.8.7d.tar.gz

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服务

不然没数据


标签: cactilinuxsnmpd

作者:良玉 分类:Cacti 浏览:903 评论:0
留言列表
发表评论
来宾的头像