您的位置:首页 > 数据库

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

2021-04-23 21:55 676 查看

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]# 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-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 startservice 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]# lltotal 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]# lltotal 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]# lltotal 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,结束!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: