zabbix3.0升级到zabbix5.0(yum——源码编译)-数据库表升级-字体乱码

13 篇文章 0 订阅
5 篇文章 0 订阅
本文档详细记录了如何将Zabbix 3.0通过源码编译方式升级到5.0,包括升级PHP到7.2、备份数据库、解压安装源码、配置文件修改、数据库字符集调整等关键步骤,并解决了升级过程中可能出现的字体乱码问题。整个升级过程强调在克隆主机上操作,并提醒注意备份数据。
摘要由CSDN通过智能技术生成

zabbix3.0升级到zabbix5.0(yum——源码编译)

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.sql
Enter 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]# ls
zabbix-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.2
php -v

5.2#开启php-fpm并设置开机自启

systemctl start php-fpm
systemctl 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启动脚本所在目录:
/zabbix/zabbix-5.0.4/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.conf
DBName=zabbix //修改
DBUser=zabbix //修改
DBPassword=password //修改 此处password替换成真实环境的密码

11.进到/etc/ini.d/目录下

vim /etc/init.d/zabbix_server
vim /etc/init.d/zabbix_agentd
zabbix_server 和zabbix_agentd都要修改此配置。
BASEDIR=/Zabbix/zabbix/ //修改

12.关闭老版本的zabbix服务:因为之前yum安装的要先把yum安装的zabbix-*停止服务设置开机禁用,或者直接卸载(不建议)

systemctl stop zabbix-server zabbix-agent
systemctl disable zabbix-server zabbix-agent

13.启动编译安装的zabbix5.0,数据库表自动升级

systemctl daemon-reload
service zabbix_server start
service zabbix_agentd start

如果数据库的表未升级,修改方法是/etc/zabbix/web/zabbix.conf.php文件里面加一行参数,$DB['DOUBLE_IEEE754'] = true即可
正常情况,启动zabbix_server log日志里会出现升级过程

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:每个人的系统环境可能不一样,所有大家遇到的问题可能不一样,遇到的问题可以留言,后续我也找一下解决方法。
思路几乎大同小异

问题1.字体乱码?
原始字体路劲及字体

[root@localhost ~]# cd /var/www/html/zabbix/assets/fonts/
[root@localhost fonts]# ll
total 740
-rw-r--r-- 1 root root 756072 Dec 23 01:54 DejaVuSans.ttf

从windows的字体目录下获取黑体的字体文件,rz上传到 /var/www/html/zabbix/assets/fonts/下

[root@localhost fonts]# ll
total 18528
-rw-r--r-- 1 root root   756072 Dec 23 01:54 DejaVuSans.ttf
-rw-r--r-- 1 root root 18214472 Mar 18  2019 simsun.ttc
#ttc后缀改为ttf
[root@localhost fonts]# mv simsun.ttc simsun.ttf 
#更改原来软链接的名字
[root@localhost fonts]# mv DejaVuSans.ttf DejaVuSans.ttf.bak
#把新上传的字体文件符号链接为zabbix的默认字体:DejaVuSans.ttf  这么做就不用去更改include/defines.inc.php内的字体名字
[root@localhost fonts]# ln -s simsun.ttf  DejaVuSans.ttf
[root@localhost fonts]# ln -s simsun.ttf  DejaVuSans.ttf
[root@localhost fonts]# 

刷新网页
在这里插入图片描述
方法二:

也可以把所有字体删除-然后添加上传字体—创建软链接到
/zabbix-web-font-更改/var/www/html/zabbix/include/defines.inc.php内的字体名字

1.从windows的字体目录下获取黑体的字体文件,rz上传到 /var/www/html/zabbix/assets/fonts/下

[root@localhost fonts]# ll
total 18528
-rw-r--r-- 1 root root 18214472 Mar 18  2019 simsun.ttc
#ttc后缀改为ttf

2.创建软连接

 ln -s simsun.ttf /etc/alternatives/zabbix-web-font

3.修改 vim /var/www/html/zabbix/include/defines.inc.php 默认的字体名称在这里插入图片描述
4.重启zabbix-server,结束!

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值