一、背景
某企业由于zabbix版本较低,某些监控项需要升级zabbix6.x版本才可以使用。
二、升级思路
1、esxi生成快照(物理机则选择一台空闲服务器操作为最佳) 2、备份数据库(重要) 3、有两种方式:
- 是在当前服务器直接升级zabbix6.x版本,风险较大,如无备份快照则恢复困难。
- 创建一台新的虚拟机或找一台新的服务器,安装好zabbix6.x后导入数据。确认zabbix-server正常启动,以及确定监控主机等数据存在时,将原脚本文件,监控项key等复制到新的设备上,然后更改新设备IP为旧设备IP,旧设备IP更改成空闲IP,重启所有服务,确定数据获取正常则升级成功。
三、升级步骤
zabbix6.x不支持centos7,所以需将centos7升级到centos8,或者新增一台centos8服务器。 centos7升级成centos8 https://blog.csdn.net/weixin_44857388/article/details/134931718?spm=1001.2014.3001.5501
3.1 直接安装升级
3.1.1 安装存储库
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm
dnf clean all
3.1.2 安装服务端、前端、客户端
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
3.1.3 修改zabbix_server.conf
vim /etc/zabbix/zabbix_server.conf
...
DBHost=xxxxxx #数据库
DBPort=xxxx #数据库端口
DBName=zabbix #数据库名称
DBUser=zabbix #管理数据库的用户
DBPassword=xxxxxx #用户密码
....
按ESC后:wq保存退出
3.1.4 修改nginx文件
vim /etc/nginx/conf.d/zabbix.conf
...
listen 8080;
server_name example.com; #取消注释并修改
...
按ESC后:wq保存退出
3.1.5启动服务
systemctl restart zabbix-server zabbix-agent nginx php-fpm
systemctl enable zabbix-server zabbix-agent nginx php-fpm
3.2 替换设备升级
3.2.1 生成快照
3.2.2 备份数据库(mysql)
使用Navicat Premium备份数据库或者使用mysqldump备份数据库 这里使用mysqldump备份数据库
mysqldump -u root -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.x.sql
3.2.3 新增一台设备安装zabbix6.x(centos8)
https://blog.csdn.net/weixin_44857388/article/details/134931843?spm=1001.2014.3001.5501
cp /opt/zbx5.x.sql root@new:/opt/zbx5.x.sql
#在新设备上导入数据库
#mysql -u root -p
#use zabbix
#清空原数据库所有数据
#
#source /opt/zbx5.x.sql
3.2.4重启服务
systemctl restart zabbix-server zabbix-agent nginx php-fpm
systemctl enable zabbix-server zabbix-agent nginx php-fpm