abbix监控中有时会根据需要对zabbix服务器进行迁移,zabbix迁移是非常简单的,因为zabbix的前端所有的操作都存在zabbix数据库里。所以zabbix迁移只需对zabbix库中相应的表进行导出导进即可。
zabbix迁移可以针对是否迁移历史数据而分开进行,假如要求历史数据不丢失,那么需要对zabbix整个库迁移,若是对历史数据不要求,那么只迁移配置信息即可,毕竟历史数据占据了大量的空间。
1.导出zabbix数据库
1
|
[root@zhu2 ~] # mysqldump -uroot -p123456 --opt zabbix > zabbix.sql |
2.传送sql文件到新的服务器上(新服务器上基本环境应搭建好)
1
|
[root@zhu2 ~] # scp zabbix.sql root@192.168.70.133:/tmp |
3.在新服务器上导入sql文件
1
2
|
[root@zhu1 ~] # mysql -uroot -p123456 zabbix < zabbix.sql #zabbix库可以是一个新建的库,也可以是已经存在的库,因为sql文件再导入时,会先看表是否存在,假如表存在会先删除再导入 |
4.修改网页文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
[root@zhu1 ~] # vim /var/www/html/conf/zabbix.conf.php <?php // Zabbix GUI configuration file global $DB; $DB[ 'TYPE' ] = 'MYSQL' ; $DB[ 'SERVER' ] = 'localhost' ; $DB[ 'PORT' ] = '0' ; $DB[ 'DATABASE' ] = 'zabbix' ; $DB[ 'USER' ] = 'root' ; #连接zabbix数据库的用户 $DB[ 'PASSWORD' ] = '123456' ; #连接zabbix数据库的用户的密码 // SCHEMA is relevant only for IBM_DB2 database $DB[ 'SCHEMA' ] = '' ; $ZBX_SERVER = 'localhost' ; $ZBX_SERVER_PORT = '10051' ; $ZBX_SERVER_NAME = '' ; $IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG; ?> ~ |
5.前端访问,
1
|
#此时需要使用的便是老的zabbix的用户密码,为了防止迁移不出意外,新的服务器上搭建的环境,以及zabbix server的配置文件应尽量和老的配置文件保持一致 |
迁移遇到的问题:
1 The frontend does not match Zabbix database. Current database version (mandatory/optional): 2050119/2050119. Required mandatory version: 3000000. Contact your system administrator.
登录到数据库执行下面的sql,就可以修复这个问题
mysql>update dbversion set mandatory=3000000;
2. 迁移数据库后发现zabbix有些页面有移动,开始以为是数据库迁移导致的后果, 后来重新安装后发现还有这个问题, 清除浏览器缓存可解决这个问题,是浏览器本身产生的原因。