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,结束!