Centos下zabbix2.4升级到3.0版本

zabbix3.0出来了一段时间了,最近忍不住把公司原来的2.4版本升级到了3.0。zabbix升级其实很简单,基本步骤为:备份->重新安装新版本。接下来简单写下这次升级的操作和问题

一、停止服务

停止zabbix服务

/etc/init.d/zabbix_server stop

/etc/init.d/zabbix_agent stop

二、备份

1、备份数据库

备份数据库有两种方法,一种是直接备份整个数据库目录,一种是用mysqldump备份数据

mysqldump -u root -p***** --opt --skip-lock-tables --flush-logs --database zabbix > zabbix.sql

2、备份zabbix文件

直接备份web路径下的zabbix目录

mv  /home/wwwroot/zabbix  /home/wwwroot/zabbix_bak

 

三、重新安装新版本

1、下载zabbix3.0版本,解压安装。参考之前写的在lnmp环境下编译安装zabbix

四、重新部署web

1、复制zabbixphp源码到web路径下

cp -r frontends/php /home/wwwroot/zabbix

2、将原php源代码目录下的配置文件拷到新目录下

cp /home/wwwroot/zabbix_bak/conf/zabbix.conf.php /home/wwwroot/zabbix/conf/zabbix.conf.php

3、修改权限

chown -R www:www /home/wwwroot/zabbix

五、启动zabbix服务

/etc/init.d/zabbix_server start

/etc/init.d/zabbix_agent start

启动完成后,能正常打开zabbix链接即升级成功。

FAQ:

1、升级完成后,页面不显示,提示http 500错误

首先检查php是否正常,可以运行个php的探针,显示正常。倒腾了很久,后面查看官方文档发现zabbix3.0的版本php最少需要5.4版本;问题找到,于是就赶紧升级了php。

2、MySQL错误 "Specified key was too long; max key length is 1000 bytes"

在zabbix3.0升级到zabbix3.2时,在网站首页出现错误信息

“8673:20161117:104750.259 current database version (mandatory/optional): 03017000/03017000

8673:20161117:104750.259 required mandatory version: 03020000”

查看zabbix_log发现失败提示"Specified key was too long; max key length is 1000 bytes (create index zabbix problem_tag_2 on zabbix(tag,value))",原因是problem_tag表中的tag和value字段长度超过1000bytes,于是上数据库查这两个字段的长度,两个分别都是varchar(255)。长度计算公式是(255 + 255) * 2 = 1020 > 1000,所以会报错误。那么只要把这两个字段的长度改成varchar(100)即可。

weinxin
聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: