zabbix 从5.0升级到5.4

  • Post author:
  • Post category:其他


Upgrade procedure
1 停止zabbix-server服务 Stop Zabbix processes

Stop Zabbix server to make sure that no new data is inserted into database.

# systemctl stop zabbix-server

If upgrading the proxy, stop proxy too.

# systemctl stop zabbix-proxy
It is no longer possible to start the upgraded server and have older, yet unupgraded proxies report data to a newer server. This approach, which was never recommended nor supported by Zabbix, now is officially disabled when upgrading to 5.0 (or later) from any version before 4.4, as the server will ignore data from unupgraded proxies.

2 备份历史数据库 Back up the existing Zabbix database

This is a very important step. Make sure that you have a backup of your database. It will help if the upgrade procedure fails (lack of disk space, power off, any unexpected problem).

3 备份配置文件 Back up configuration files, PHP files and Zabbix binaries

Make a backup copy of Zabbix binaries, configuration files and the PHP file directory.

Configuration files:

# mkdir /opt/zabbix-backup/
# cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
# cp /etc/httpd/conf.d/zabbix.conf  /opt/zabbix-backup/

PHP files and Zabbix binaries:

# cp -R /usr/share/zabbix/ /opt/zabbix-backup/
# cp -R /usr/share/doc/zabbix-* /opt/zabbix-backup/

Backup MySQL

#mysqldump -uroot -p  zabbix >20210830.sql

4 升级zabbix repo源 Update repository configuration package

To proceed with the upgrade your current repository package has to be updated.

# rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/8/x86_64/zabbix-release-5.4-1.el8.noarch.rpm

5 升级zabbix 程序 Upgrade Zabbix components

To upgrade Zabbix components you may run something like:

# yum upgrade zabbix-server-mysql zabbix-web-mysql zabbix-agent

If using PostgreSQL, substitute

mysql

with

pgsql

in the command. If upgrading the proxy, substitute

server

with

proxy

in the command. If upgrading the agent 2, substitute

zabbix-agent

with

zabbix-agent2

in the command.

To upgrade the web frontend with Apache

on RHEL 8

correctly, also run:

# yum install zabbix-apache-conf 

and make the necessary

changes

to this file.

To upgrade the web frontend

on RHEL 7

follow

distribution-specific instructions

(extra steps are required to install PHP 7.2 or newer).

6 检查组件配置参数 Review component configuration parameters

See the upgrade notes for details on

mandatory changes

.

7 启动zabbix-server 服务 Start Zabbix processes

Start the updated Zabbix components.

# systemctl start zabbix-server
# systemctl start zabbix-proxy
# systemctl start zabbix-agent
# systemctl start zabbix-agent2
检查状态

导入数据库 Import sql

需要先停止数据库服务

#msyql -uzabbix -p zabbix < 20210830.sql

zabbix5.2版本升级到zabbix5.4版本后打开页面报错,报错内容如下


问题一

Database error

The frontend does not match Zabbix database. Current database version (mandatory/optional): 5010000/5010000. Required mandatory version: 5040000. Contact your system administrator.


(图片来自网络)

解决办法:

进入数据库

mysql> show databases;
mysql> use zabbix;
mysql> update dbversion set mandatory=5040000;
mysql> flush privileges;


重新打开web即可解决

问题二

zabbix-server 无法启动,查看日志

tail -f /var/log/zabbix/zabbix_server.log

9332:20181010:174337.188 [Z3005] query failed: [1050] Table 'tag_filter' already exists [create table tag_filter (
`tag_filterid` bigint unsigned not null,
`usrgrpid` bigint unsigned not null,
`groupid` bigint unsigned not null,
`tag` varchar(255) default '' not null,
`value` varchar(255) default '' not null,
primary key (tag_filterid)

Fix:

Login mysql

对log中提示的所有表都drop掉,直到提示upgrade 完成,这样在浏览器上就可以正常打开和登陆zabbix

use zabbix;
drop table tag_filter;

8 Clear web browser cookies and cache

After the upgrade you may need to clear web browser cookies and web browser cache for the Zabbix web interface to work properly.



版权声明:本文为lihuaichen原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。