Zabbix6.0升级为6.4

server/2024/12/21 6:41:56/

为了体验一些新的功能,比如 Webhook 和问题抑制等,升级个小版本。

一、环境信息

1. 版本要求

一定要事先查看官方文档,确认组件要求的版本,否则版本过高或者过低都会出现问题。

数据库版本要求

2. 升级前后信息

环境升级前升级后
操作系统CentOS 7.3CentOS 7.3
MySQL8.0.288.0.40
PHP7.4.307.4.30
Zabbix-Server-MySQL6.0.86.4
Zabbix-Web-MySQL6.0.86.4

二、升级MySQL

1. 停止数据库

mysql> set global innodb_fast_shutdown=0;# systemctl stop mysqld

2. 安装启动8.0.40

在MySQL 8.0及之后版本中,不再需要启动后执行 mysql_upgrade 命令,会自动检测后自动升级版本。

# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.40-1.el7.x86_64.rpm-bundle.tar
# tar xf mysql-8.0.40-1.el7.x86_64.rpm-bundle.tar
# yum localinstall mysql-community-* # systemctl start mysqld
# 查看日志 确认升级成功
# [root@zbx_db_test mysql80]# tailf /data/mysql/error.log 
2024-12-18T09:12:21.214297Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.40) starting as process 8878
2024-12-18T09:12:21.225868Z 0 [Warning] [MY-012364] [InnoDB] innodb_open_files should not be greater than the open_files_limit. 
2024-12-18T09:12:21.225931Z 0 [Warning] [MY-013907] [InnoDB] Deprecated configuration parameters innodb_log_file_size and/or innodb_log_files_in_group have been used to compute innodb_redo_log_capacity=268435456. Please use innodb_redo_log_capacity instead.
2024-12-18T09:12:21.227965Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-12-18T09:12:21.728676Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2024-12-18T09:12:23.042597Z 4 [System] [MY-013381] [Server] Server upgrade from '80028' to '80040' started.
2024-12-18T09:12:26.270068Z 4 [System] [MY-013381] [Server] Server upgrade from '80028' to '80040' completed.
2024-12-18T09:12:26.342403Z 0 [Warning] [MY-011302] [Server] Plugin mysqlx reported: 'Failed at SSL configuration: "SSL context is not usable without certificate and private key"'
2024-12-18T09:12:26.342534Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
2024-12-18T09:12:26.342595Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.40'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Server - GPL.

3. 不停机数据备份

在生产环境中,要进行数据备份。在 MySQL 8.0 中,不能直接用 xtrbackup 2.4 之前的版本备份,只能用 percona-xtrabackup-80.x 版本备份。

  • 数据备份
# xtrabackup  --defaults-file=/etc/my.cnf --user=root --password=xiM37mwXotfO# --backup --parallel=8  --target-dir=/data/backup1218
  • 数据还原
# xtrabackup --prepare --use-memory=4G --target-dir=/data/backup1218
# xtrabackup  --defaults-file=/etc/my.cnf --copy-back --target-dir=/data/backup1218

三、升级Zabbix-Sever

因为操作系统是 CentOS 7,已经不支持 RPM 包安装了,所以采用的是源码安装。

1. 升级安装包

# wget https://cdn.zabbix.com/zabbix/sources/stable/6.4/zabbix-6.4.20.tar.gz
# tar xf zabbix-6.4.20.tar.gz && cd zabbix-6.4.20
# ./configure --prefix=/usr/local/zabbix-server-6.4 --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi# make install

3. 数据库设置参数

mysql> set global log_bin_trust_function_creators=1;  (在升级过程中需要开启这个参数)

如果不设置上面参数,使用新版本启动升级过程会报错失败,报错如下:

[root@zabbix_64 zabbix-server-6.4]# tailf /tmp/zabbix_server.log29320:20241218:171619.136 completed 11% of database upgrade29320:20241218:171619.171 completed 12% of database upgrade29320:20241218:171619.208 completed 13% of database upgrade29320:20241218:171619.276 completed 14% of database upgrade29320:20241218:171619.299 completed 15% of database upgrade29320:20241218:171619.303 [Z3005] query failed: [1419] You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) [create trigger hosts_insert after insert on hosts
for each row
insert into changelog (object,objectid,operation,clock)
values (1,new.hostid,1,unix_timestamp())]29320:20241218:171619.304 database upgrade failed on patch 06010049, exiting in 10 seconds29320:20241218:171629.304 Zabbix Server stopped. Zabbix 6.4.20 (revision 114e4f42c15).
....

3. 验证升级

  • 服务启动
# 更新启动配置文件
# cat /lib/systemd/system/zabbix-server.service
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
After=mysql.service
After=mysqld.service
After=mariadb.service
After=postgresql.service
After=pgbouncer.service
After=postgresql-9.4.service
After=postgresql-9.5.service
After=postgresql-9.6.service
After=postgresql-10.service
After=postgresql-11.service
After=postgresql-12.service[Service]
Environment="CONFFILE=/etc/zabbix/zabbix_server.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-server
Type=forking
Restart=on-failure
PIDFile=/run/zabbix/zabbix_server.pid
KillMode=control-group
ExecStart=/usr/local/zabbix-server-6.4/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0[Install]
WantedBy=multi-user.target# systemctl daemon-reload
# systemctl start zabbix-server
  • 查看日志,确认升级成功
[root@zabbix_64 zabbix-server-6.4]# tailf /tmp/zabbix_server.log

四、升级 Zabbix前端

6.4 版本,前端文件都存放在 UI 目录中。

# mv /usr/share/zabbix /usr/share/zabbix_6.0
# mv /usr/src/zabbix-server-6.4/ui /usr/share/zabbix  # 从解压目录中获取
  • 前端界面配置

不开启数据库连接加密
在这里插入图片描述



Reference:

https://www.zabbix.com/cn/whats_new_6_4
https://www.zabbix.com/cn/download_sources#64
https://www.zabbix.com/documentation/6.4/zh/manual/installation/requirements
https://www.zabbix.com/documentation/6.4/en/manual/installation/upgrade_notes_640


http://www.ppmy.cn/server/151885.html

相关文章

CSSmodule的作用是什么

CSS Modules的作用主要体现在以下几个方面: 1. 解决全局样式污染问题 在传统的CSS管理方式中,样式定义通常是全局的,这很容易导致全局样式污染。当多个组件或页面共享同一个样式时,可能会出现样式冲突和覆盖的情况,从…

PHP:构建动态网站的后端基石

在当今的Web开发领域,PHP(Hypertext Preprocessor,超文本预处理器)依然是一种极具影响力和广泛使用的服务器端脚本语言。自1995年由Rasmus Lerdorf首次发布以来,PHP凭借其灵活性、跨平台兼容性和丰富的功能库&#xff…

Neo4j【环境部署 02】图形数据库Neo4j在Linux系统ARM架构下的安装使用

图形数据库Neo4j在Linux系统ARM架构下的安装使用 1.说明2.下载安装并配置3.其他配置4.创建一个实例5.最后 Neo4J 无论是在官网或者其他镜像网站上都是只有两个版本 Linux和 Windows不区分 X86 和 ARM,原因是 Neo4j 运行在 JVM 上,只要 JVM 能够正常使…

分立器件---运算放大器关键参数

运算放大器 关键参数 1、供电电压:有单电源电压、双电源电压,双电源电压尽量两个电源都接。如图LM358B,供电电压可以是20V或者是40V和GND。 2、输入偏置电流IB:当运放输出直流电压为零时,运放两个输入端流进或者流出直流电流的平均值。同向输入端电流IB+与反向输入端电流…

c#委托delegate学习

C# 中,委托(Delegate) 是一种类型安全的函数指针,它允许将方法作为参数传递给其他方法。 C# 中的委托(Delegate)类似于 C 或 C 中函数的指针。委托(Delegate) 是存有对某个方法的引…

【商城系统的建设方案】

商城系统的建设方案 一、项目背景与目标 背景分析 随着电子商务的迅速发展,消费者对在线购物的需求日益增加。企业为了拓宽销售渠道、提升用户体验和增强市场竞争力,需要建立一个功能齐全、操作便捷、安全可靠的在线商城系统。 项目目标 构建一个响应式…

AdvPlot的简单使用以及ON_MESSAGE的自定义使用

AdvPlot 函数用于在指定的设备上下文中绘制一个高级图形。 首先要在项目中添加对应的AdvPlot头文件以及源文件,然后 AdvPlot m_Plot;//创建对象 m_Plot.SubclassDlgItem(IDC_PLOT,this);//在初始化对话框中将画波形的对象与界面上的CustomCtrl控件名连接起来 m_Plo…

信息系统项目管理师软考学习总结——软考介绍

计算机技术与软件专业技术资格(水平)考试是原中国计算机软件专业技术资格和水平考试(简称软件考试)的完善与发展。这是由人力资源和社会保障部和工业和信息化部领导下的国家级考试,其目的是,科学、公正地对全国计算机与软件专业技术人员进行职业资格、专…