Zabbix学习资源由浅入深 关于我们 联系我们 加入我们
5

Zabbix 5.0如何升级至6.0?操作文档

图片

Zabbix5.0升级至6.0的认证培训,需6小时(无需5天)点击图片报名。

感谢本文作者王会新ZCP-Zabbix高级认证工程师

目录

1.方案说明
2.环境说明
3.Mysql环境部署

3.1 mysql安装
3.2 配置mysql
3.3 创建zabbix库

4.Zabbix Server升级
4.1 升级前备份
4.2 为新数据库授权
4.3 导入Zabbix5.0数据结构
4.4 导入旧数据库备份Zabbix配置数据
4.5 为新数据库历史表添加主键
4.6 为新数据库创建表分区
4.7 创建事件调度器
4.8 升级Zabbix相关服务
4.9 Zabbix服务检查
4.10 失败回滚

方案说明

升级目标版本Zabbix6.0.3。升级方案Server采用在当前环境节点直接升级,数据库采用新服务器部署Mysql8.0.28数据库将Server配置信息迁移至新数据库,升级前需对Server服务节点快照备份便于失败回滚。因升级需要停用服务,所以不论升级成功或失败,都将造成升级当天部分监控数据的丢失。

环境说明

安装前准备

涉及到了机器设备:zabbixdb

系统版本:CentOS Linux release 8.3.2011

MySQL版本:mysql8.0.28数据库。

在默认情况下SELinux和防火墙都是关闭状态。

Mysql环境部署

3.1 mysql安装

1.创建mysql用户和禁止用户登录

图片

2.根据要求数据库存储目录为/data目录

图片

3.安装已经下载好的mysql的rpm安装包

图片

3.2 配置Mysql

1.初始化Mysql并指定数据目录

2.修改Mysql配置文件

下面配置属于zabbix-server的mysql配置。innodb_buffer_pool_size = 16G 大小为总内存的75%左右。

vi  /etc/my.cnf

图片

3.启动服务并添加开机自启

图片

4.查看Mysql进程

ps -ef | grep mysql图片

5.修改安全策略

1.修改数据库root密码

grep password /var/log/mysqld.log

mysql>ALTER USER 'root'@'localhost' identified by 'Zabbix#1234';

3.3 创建zabbix库

mysql>create database zabbix character set utf8mb4 collate utf8mb4_bin;

Zabbix Server升级

4.1 升级前备份

1.导出Zabbix配置数据#mysqldump -uroot -p zabbix --ignore-table=zabbix.history --ignore-table=zabbix.history_uint  --ignore-table=zabbix.history_str  --ignore-table=zabbix.history_text  --ignore-table=zabbix.history_log  --ignore-table=zabbix.trends  --ignore-table=zabbix.trends_uint  --ignore-table=zabbix.alerts  --ignore-table=zabbix.events>/opt/zbx5.0.sql

2.备份zabbix配置文件

图片

3.备份zabbix前端

图片

4.备份告警脚本及自定义脚本

图片

5.备份httpd配置文件

图片

4.2 为新数据库授权

1.创建用户并授权

mysql> create user 'zabbix'@'192.18.252.%' identified by 'Zabbix#1234'; mysql> create user 'zabbix'@'localhost' identified by 'Zabbix#1234'; mysql> grant all privileges on zabbix.* to 'zabbix'@'192.18.252.%'; mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost'; mysql>flush privileges; mysql>alter user 'zabbix'@'192.18.252.%' identified with mysql_native_password by '123456';
mysql>alter user 'zabbix'@'192.18.252.%' identified with mysql_native_password by 'Zabbix#1234';

#Mysql8.0安全系数较高需修改初始密码

4.3 导入zabbix5.0数据结构

1.导入Zabbix5.0数据结构zcat /opt/software/create.sql.gz | mysql -uzabbix -p zabbix

4.4 导入旧数据库备份Zabbix配置数据

1.导入旧环境Zabbix配置数据

cat /opt/software/zbx5.0.sql | mysql -uzabbix -p zabbix

4.5 为新数据库历史表添加主键

1.Zabbix数据库history表添加主键

mysql -uzabbix -p zabbix < /opt/software/history_pk_prepare.sql

2.删除旧表

mysql>DROP TABLE history_old; mysql>DROP TABLE history_uint_old; mysql>DROP TABLE history_str_old; mysql>DROP TABLE history_log_old; mysql>DROP TABLE history_text_old;

4.6 为新数据库创建表分区

1.配置文件准备

上传partition_call.sql存储过程和partition_all.sql分区设置保留时间。设置历史数据保留时长(90天)和趋势数据保留时长(360天)

图片

2.创建并导入存储过程

mysql -uzabbix -p zabbix < /opt/software/partition_call.sql

mysql -uzabbix -p zabbix < /opt/software/partition_all.sql

3.调用存储过程

mysql -uzabbix -p zabbix -e "call partition_maintenance_all('zabbix')"

4.7 创建事件调度器

mysql> use zabbix; mysql> create event zabbix_partition on schedule every 1 day starts '2022-04-28 2:00:00' do CALL partition_maintenance_all('zabbix');

4.8 升级Zabbix相关服务

1.停止Zabbix、Agent、PHP、Apache服务

systemctl stop zabbix-server zabbix-agent httpd php-fpm

2.卸载zabbix5.0.1

rpm -e zabbix-web-deps-5.0.1-1.el8.noarch zabbix-apache-conf-5.0.1-1.el8.noarch zabbix-web-mysql-5.0.1-1.el8.noarch zabbix-agent-5.0.1-1.el8.x86_64 zabbix-server-mysql-5.0.1-1.el8.x86_64 zabbix-web-5.0.1-1.el8.noarch

3.安装zabbix6.0.3

rpm -ivh zabbix-web-deps-6.0.3-1.el8.noarch.rpm zabbix-apache-conf-6.0.3-1.el8.noarch.rpm zabbix-web-mysql-6.0.3-1.el8.noarch.rpm zabbix-agent-6.0.3-1.el8.x86_64.rpm zabbix-server-mysql-6.0.3-1.el8.x86_64.rpm zabbix-web-6.0.3-1.el8.noarch.rpm

4.配置zabbix6.0.3配置文件

由于zabbix5.0跟zabbix6.0.3的zabbix_server.conf配置文件参数不同,所以不能直接复制替换zabbix_server.conf。

查看备份zabbix-server配置

图片

5.对应修改zabbix server 配置文件

vi /etc/zabbix/zabbix_server.conf

6.启动Zabbix、Agent、PHP、Apache服务

systemctl start zabbix-server zabbix-agent httpd php-fpm

7.查看日志文件

tail -f  /var/log/zabbix/zabbix_server.log tail -f /data/mysql/data/log/mysqld.log

Zabbix server将会自动升级数据库。开始后,Zabbix server报告当前(强制和非强制的)和需要的数据库版本。如果当前强制版本低于需要的版本,Zabbix server自动执行所需要的数据库补丁。数据库升级的开始和进度信息(百分比)将会写入Zabbix server的日志文件中。当升级完成后,将会在日志文件中写入一条“database upgrade fully completed”的信息。如果任何升级补丁失败,Zabbix server将不会启动,即使数据库当前强制版本比所需版本高,Zabbix server也不会启动。只有当数据库当前的强制版本与需要的强制版本相符时,Zabbix server才会启动。

图片

注:在你启动server之前:

◆确认数据库用户拥有足够的权限(创建表,删除表,建立索引,删除索引)

◆确认拥有足够的空余磁盘空间

Zabbix服务检查

◆检查升级后的zabbix是否工作正常,检查最新数据。

◆检查zabbix server日志是否正常。

1.Web访问并检查数据及告警情况

Web访问出现如图所示问题

图片

2.修改前端连接新数据库信息

图片

3.检查最新数据采集情况

图片

4.如图所示数据采集正常

4.1 出现中文乱码修改字体

mv /usr/share/fonts/dejavu/DejaVuSans.ttf /usr/share/fonts/dejavu/DejaVuSans.ttf_bak20220424

mv /opt/software/msyh.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

5.检查告警信息触发动作成功发送告警信息

失败回滚

1.回滚Server升级前备份文件,如有文件缺失启动快照恢复

2.回滚MySQL数据库升级前的备份服务器,将Server配置文件数据库指向修改原地址


祝大家升级顺利!

---- 升级培训 ----

图片

我已经考过5.0中级,还需要参加5天的6.0培训吗?


无需5天,仅需参加6小时的中级升级培训,

时间更短,费用更低。


拥有5.0ZCP高级认证的学员,仅需参加2小时的升级培训即可!

图片

---- 7月Zabbix大会 ----


图片

大会包含客户案例、新功能技巧、趣味晚宴等精彩活动。

往届峰会包含交通银行、安信证券、华为、光大银行、中国银行、中移在线、京东、咪咕等,本届峰会精彩继续!扫码报名。

不懂就问,参加Zabbix中国峰会是一种怎样的体验?

图片

扫一扫|加入技术交流群

微信号|17502189550

备注“使用Zabbix年限+企业+姓名”

5000+用户已加入!

图片
图片

一个人走得快,一群人走得远!





2023-06-01