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

news2025/1/10 1:23:59

在这里插入图片描述

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+用户已加入!

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/596389.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

国产GPU重要应用场景迎来突破!摩尔线程发布重磅产品与创新解决方案

5月31日&#xff0c;摩尔线程举办2023夏季发布会&#xff0c;重磅宣布了一系列新产品与技术更新&#xff0c;涵盖数字办公、娱乐与创作、AI与云计算以及元宇宙等GPU重要应用场景&#xff0c;标志着摩尔线程为用户提供的高品质、易部署、创新性应用型解决方案取得重大进展。 主…

JetBrains的PHP集成开发环境PhpStorm 2023版本在Linux系统的下载与安装配置教程

目录 前言一、PhpStorm安装二、使用配置总结 前言 PhpStorm是一款专为PHP开发人员设计的集成开发环境&#xff08;IDE&#xff09;。它提供了丰富的功能和工具&#xff0c;可以帮助开发人员更高效地编写、调试和部署PHP应用程序。注&#xff1a;已在CentOS7.9和Ubuntu20.04安装…

【开发心得】一招减少msdtc时间3分钟,但还有未解之谜

最近解决了一个诡异的问题&#xff0c;MSDTC默认超时造成事务被取消&#xff0c;业务被迫中断&#xff0c;好在没有一直跟MSDTC耗着&#xff0c;而是通过其他方式解决了&#xff0c;但最后还是留下了两个未解之谜。对用到MSDTC处理SQL事务的朋友应该有借鉴作用&#xff0c;欢迎…

uniapp滚动加载 下拉刷新

前言 在日常开发中&#xff0c;滚动加载和下拉刷新是非常常见的功能&#xff0c;页面数据过多时&#xff0c;需要滚动加载优化性能&#xff0c;本篇技术分享博客将介绍如何在uniapp中实现滚动加载和下拉刷新。 预览 滚动加载 下拉刷新 一、滚动加载 滚动加载指的是当用户滑…

LINUX系统编程-----上

文章目录 第一章 linux系统介绍(属于扯闲篇)linux的概况linux的历史起源unixPosix标准和其他标准开源运动linux的诞生 linux使用使用范围linux的登录 第二章 linux常用命令linux的shell使用切换用户显示所有用户退出当前用户添加用户 删除用户当前工作目录当前工作目录下的所有…

chatgpt赋能python:Python交换位置:如何快速交换列表中的元素

Python交换位置&#xff1a;如何快速交换列表中的元素 介绍 Python作为一种强大且易于学习的编程语言&#xff0c;一直受到广大开发者的喜爱和选择。而在Python编程中&#xff0c;往往需要对列表中的元素进行交换操作。那么&#xff0c;在本文中&#xff0c;我们将探讨Python…

u-boot启动流程分析-史上最全最详细

嗨喽&#xff0c;大家好&#xff0c;我是程序猿老王&#xff0c;程序猿老王就是我。 今天给大家全面的分析一下u-boot启动流程。整理这篇文章花费时间较长&#xff0c;中间很长时间未更新&#xff0c;希望这篇文章对大家有所帮助。 本章主要是详细的分析一下uboot的启动流程&am…

摆脱低工资!80%的高薪人会的动态大屏技巧,工具和教程都给你!

在汇报上下功夫已经是职业人基本的素养&#xff0c;看了某鹅厂的产品组朋友做的汇报才知道他们已经卷到了这种程度&#xff01;把静态的图表和文字&#xff0c;图片做成了3D动画&#xff0c;你别说&#xff0c;真就很出彩&#xff01;既有产品的仿真&#xff0c;又有数据的支撑…

Python编程技巧

当涉及到Python编程时&#xff0c;以下是一些技巧和惯用法&#xff0c;可以帮助您编写更加高效、可维护和优雅的代码&#xff1a; 1.使用描述性的变量名&#xff1a;选择具有描述性的变量和函数名&#xff0c;以便于理解代码的含义。避免使用单个字母或无意义的名称。 2.编写清…

Razor代码复用

1.布局&#xff08;Layout&#xff09;复用 Layout的使用&#xff0c;就像WebForm的模板页一样&#xff0c;甚至会更加简单&#xff0c;更加方便和明了。 要使用Layout&#xff0c;首先要在模板页相应的位置添加RenderBody()方法&#xff1a; <!DOCTYPE html><html la…

2.7 编译型和解释型

2.7 编译型和解释型 前面我们使用java和javac命令把Hello&#xff0c;World&#xff01;在控制台输出。那为什么输出&#xff0c;这里我们需要掌握两个知识点。编译型语言和解释型语言。在计算机的高级编程语言就分为编译型语言和解释型语言。而我们的Java既有编译型的特点也有…

docker compose部署ELK

1、准备下载相关镜像 docker pull logstash:7.6.2 docker pull kibana:7.6.2 docker pull elasticsearch:7.6.2 docker pull elastic/filebeat:7.6.22、创建相关文件夹 新建文件夹使用命令&#xff1a;mkdir /opt/docker_elk 在/opt/docker_elk/elasticsearch新建plugins和da…

chatgpt赋能python:Python代码怎么用?一个10年编程经验工程师的实践总结

Python代码怎么用&#xff1f;一个10年编程经验工程师的实践总结 如果你正在学习Python或已经是一名Python开发者&#xff0c;你需要知道如何正确地使用Python代码以实现项目需求。在本文中&#xff0c;我将分享我的10年Python编程经验&#xff0c;并介绍一些关于如何使用Pyth…

零基础认识java-后端 项目结构搭建、目录概况

后端项目构建 1、创建数据库表 2、创建项目 打开 idea&#xff0c;新建一个项目&#xff0c;在 new 一个新项目的时候&#xff0c;选择 Spring Initializr&#xff0c;在选择项目依赖的时候勾选 web下的 Spring Web Starter 和 SQL下的 MySQL Driver 和 MyBatis Framework &am…

Prop type `object` is forbidden

这种错一般是ESLint的配置的规则 项目里搜一下react/forbid-prop-types 可以看到把any和object禁用了&#xff0c;根据需要删除object即可

2023 CCF-百度松果基金正式启动申报!大语言模型、AIGC等热点课题首次公布

5 月 31 日&#xff0c;2023 年 CCF-百度松果基金&#xff08;简称“松果基金”&#xff09;正式启动申报&#xff0c;面向全球高校及科研院所青年学者开放&#xff0c;入选项目将获得松果基金百万课题基金及千万级支持与服务。申报截至 2023 年 7 月 10 日。 本届松果基金共设…

Nginx通过用户IP获取所在国家及地理位置

文章目录 前言一、GeoLite2-Country是什么&#xff1f;二、使用步骤2.1 下载GeoLite2-Country数据库文件&#xff0c;并导入Nginx2.2 配置Nginx模块2.3 使用变量来获取国家信息2.4 验证配置 总结 前言 Nginx是一款高性能、轻量级的Web服务器和反向代理服务器。它最初设计目的是…

JavaScript了解unshift,push在头部尾部添加元素的代码

以下为JavaScript了解unshift&#xff0c;push在头部尾部添加元素的程序代码和运行截图 目录 前言 一、unshift在头部添加元素 1.1 运行流程及思想 1.2 代码段 1.3 JavaScript语句代码 1.4 运行截图 二、push在尾部添加元素 2.1 运行流程及思想 2.2 代码段 2.3 JavaS…

Javascript 俄罗斯方块 游戏代码

本俄罗斯方块代码采用 JavaScript 脚本代码写成&#xff0c;简单易懂&#xff1b; 全代码采用静态类及静态变量成员组成&#xff1b; 全脚本通过实现代码全局配置 OLSFK.Options {...} 定义方块起始坐标及定义各自的旋转点&#xff1b; 从初始化俄罗斯方块界面开始&#x…

【C++】指针 - 定义和使用,所占内存空间,空指针,野指针,const 修饰指针,指针和数组,指针和函数

文章目录 1. 定义和使用2. 所占内存空间3. 空指针4. 野指针5. const 修饰指针6. 指针和数组7. 指针和函数 1. 定义和使用 数据类型 * 变量名; 指针的作用是&#xff0c;可以通过指针间接访问内存。 内存编号是从 0 开始记录的&#xff0c;一般用十六进制数字表示。可以利用指…