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有些页面有移动,开始以为是数据库迁移导致的后果, 后来重新安装后发现还有这个问题, 清除浏览器缓存可解决这个问题,是浏览器本身产生的原因。