zabbix 从5.0升级到5.4
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
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.
本文来自希曼博客-www.ximan.tech,作者:希曼博客,转载请注明原文链接:https://www.cnblogs.com/lihuaichen/p/15215708.html