单位有个zabbix监控服务器,zabbix是1.6稳定版。最近需要迁移到别的服务器上,要求原来的数据都不能丢失,迁移过来后zabbix服务能正常继续监控。这个问题中的关键是数据库的导出导入,以及迁移后监控能否继续的问题,可以分为两个部分实现。首先需要搭建好LAMP平台,这个问题比较简单,网上有很多文档可以参考,我计划会在后面的时间里写一篇关于这个问题的快速配置的文档,目的是让从来没有配置过LAMP的人10分钟成功配置,这里暂时不谈论。然后是zabbix的编译安装,这个我也会在最近写一篇1.6版本的安装笔记。
迁移首先要做好原zabbix服务器的mysql数据库的备份,用mysqldump可以做到。
[root@localhost ~]# mysqldump -u root -p --default-character-set=UTF8 --opt zabbix > zabbix.sql
Enter password:******
由于公司的zabbix服务器运行时间比较长,数据较大,这里用了接近半小时的时间。
把生成的zabbix.sql文件scp到新zabbix服务器/mnt目录中,使用命令导入到mysql,注意在导入之前本地的zabbix服务已经可以正常运行了。
[root@localhost ~]#mysql -u root -p zabbix < zabbix.sql
Enter password:******
或者下面的命令,效果是相同的。
[root@localhost ~]#cat zabbix | mysql -u root -p zabbix
Enter password:******
又是漫长的等待啊。。。这里说明一下,有的人会建议直接拷贝数据库文件,这样会明显缩短数据库的迁移时间,但是由于有的mysql版本差别的问题,这样的方法又是不能成功,所以用mysqldump的方法比较保险。下面修改服务端配置文件:
[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf
dbuSEr=root #这里改成你的mysql用户
DBPassword=cnczabbix #这里是密码,明文的。如果没有,注释掉就可以了
修改客户端配置文件:
[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.10.101 #改成你的服务器的ip,如果是监控自己,用127.0.0.1
完成之后重启一下zabbix_server,zabbix_agentd
[root@localhost ~]#/etc/zabbix/sbin/zabbix_server stop
[root@localhost ~]#/etc/zabbix/sbin/zabbix_server start
[root@localhost ~]#/etc/zabbix/sbin/zabbix_agentd stop
[root@localhost ~]#/etc/zabbix/sbin/zabbix_agentd start
最后登录到新zabbix服务器看看是不是一切都和原来一样了?
可能会遇到的问题:监控记录不更新~
解决方法:确定在两台服务器的时间一致,一般是由于移植机的时间比原来的zabbix服务器的时间晚的缘故,时间一致或者时间偏快是不会出现这个问题的。
本文转自 justiceplus 51CTO博客,原文链接:http://blog.51cto.com/johnwang/126369,如需转载请自行联系原作者