zabbix3.0升级到5.0
zabbix3.0 yum安装+httpd+php5.4+mariadb
zabbix5.0升级 源码编译安装 +php7.2+
主要要完成升级原来的数据库表格式、升级php到7.2+
本次升级httpd、mysql一直处于启动状态,防火墙处于关闭状态
1.克隆主机,担心升级失败!!
虚拟机直接克隆
所有的升级操作全部在克隆出来的主机上
2.关闭当前所有的zabbix服务
systemctl stop zabbix-server zabbix-agent
3.备份数据库-从mysql里导出zabbix数据库 ,存放在自定义的路径下
我放在/zabbix3.0_backup下(不一定用得到)
[root@localhost ~]# mkdir /zabbbix3.0_backup[root@localhost~]mysqldump -uzabbix -p zabbix >/zabbbix3.0_backup/database.sqlEnter password: [root@localhost ~]# ls /zabbbix3.0_backup/database.sql
4.官网下载zabbix5.0源码包上传到服务器上,我放在/zabbix5.0下
[root@localhost ~]# mkdir /zabbix5.0 [root@localhost ~]# ^C[root@localhost ~]# cd /zabbix5.0/[root@localhost zabbix5.0]# rz[root@localhost zabbix5.0]# lszabbix-5.0.4.tar.gz[root@localhost zabbix5.0]#
5.1升级php 到7.2版本
#查看当前的php版本php -v#查看当前yum.repo可以下载的php版本,没有7.2就要下载升级PHP更新源yum provides php #下载升级PHP更新源rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm#卸载php旧版本yum remove php-common -y #安装php7.2及常用模块yum -y install php72w php72w-fpm \php72w-mbstring php72w-common php72w-gd \php72w-mysql php72w-xml php72w-cli php72w-devel \php72w-pecl-memcached php72w-pecl-redis php72w-opcache php72w-ldap php72w-bcmath#查看当前安装好的php版本是不是7.2php -v
5.2#开启php-fpm并设置开机自启
systemctl start php-fpmsystemctl enable php-fpm
5.3修改php.ini的配置vim /etc/php.ini
post_max_size = 16M //修改max_execution_time = 300 //修改max_input_time = 300 //修改date.timezone = Asia/Shanghai //新增 将注释取消
6.安装zabbix源码编译所有依赖包,根据自己需要添加
[root@localhost zabbix5.0]# yum install -y libevent-devel wget tar gcc gcc-c++ make net-snmp-devel libxml2-devel libcurl-devel mysql-devel unixODBC-devel
7.解压编译安装zabbix压缩包
7.1 解压到目录/zabbix5.0并创建安装目录,自定义/zabbix/
7.2进入解压包内编译,自定义开启的模块
mkdir /zabbix/cd /zabbix5.0/tar -zxvf zabbix-5.0.4.tar.gz cd zabbix-5.0.4/./configure --prefix=/zabbix/ --enable-server --enable-agent --with-mysql --with-libxml2 --with-unixodbc --with-libcurl --with-iconv --with-net-snmp
7.3安装
make install
8.拷贝新web界面
注:(5.0版本所在界面更换了目录存储,在ui目录下)
mkdir /var/www/html/zabbix#授权 chown apache:apache /var/www/html/zabbix/*#权限 chmod 777/var/www/html/zabbix/*cp -r /zabbix5.0/zabbix-5.0.4/ui/* /var/www/html/zabbix
9.拷贝新的启动脚本到系统启动目录下
注:5.0启动脚本所在目录:
/opt/Zabbix/zabbix-5.0.2/misc/init.d/fedora/core/
cp /Zabbix/zabbix-5.0.4/misc/init.d/fedora/core/zabbix_* /etc/init.d/chmod 755 /etc/init.d/zabbix_*
10.修改 zabbix_server.conf 配置文件
修改配置文件,zabbix_server.conf所在目录请根据自己真实环境进行查找,进入到/zabbix/etc/目录下,
vim /Zabbix/etc/zabbix_server.confDBName=zabbix //修改DBUser=zabbix //修改DBPassword=password //修改 此处password替换成真实环境的密码
11.进到/etc/ini.d/目录下
vim /etc/init.d/zabbix_servervim /etc/init.d/zabbix_agentdzabbix_server 和zabbix_agentd都要修改此配置。BASEDIR=/Zabbix/zabbix/ //修改
12.关闭老版本的zabbix服务:因为之前yum安装的要先把yum安装的zabbix-*停止服务设置开机禁用,或者直接卸载(不建议)
systemctl stop zabbix-server zabbix-agentsystemctl disable zabbix-server zabbix-agent
13.启动编译安装的zabbix5.0,数据库自动升级
systemctl daemon-reloadservice zabbix_server startservice zabbix_agentd start
14.查看所有的服务是否启动
netstat -nltp
15.web端访问10.160.1.26/zabbix
一路Next,检查所有条件是否满足,next
16.配数据库的时候会有报错,因为Zabbix3与5.0的数据库表字符集与排序规则不一致,所以会报错
解决:
a.首先修改数据库默认字符集及字符校验集
ALTER DATABASE `zabbix` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
b.然后修改表
# 找出字符检验集不对的表,所以报错的表都会被找出来
SELECT CONCAT("ALTER TABLE ", TABLE_NAME," CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;") AS ExecuteTheString
FROM information_schema.`COLUMNS`
WHERE table_schema ="zabbix" AND COLLATION_NAME ="utf8_general_ci";
c.复制输出结果,并执行。例如以下两张表,一般会有很多。
ALTER TABLE acknowledges CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
ALTER TABLE actions CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
17.数据库改完以后,刷新web界面,继续next,输入数据库密码
18.安装成功,检查是成功以及历史图形(数据)是否在
可以看出图上有历史数据,启动日志也没有错误说明升级完成。
结束!
注意事项:
一定要在克隆机上升级!!
一定要提前备份数据(主要是数据库),数据库如果可以升级成功那是最好的,不然需要使用备份出来的数据
note:每个人的系统环境可能不一样,所有大家遇到的问题可能不一样,遇到的问题可以留言,后续我也找一下解决方法。
思路几乎大同小异